0

我需要在其中一种情况下发出警告,但我不会停止出现此错误:“无法推断 Result.Warning<> 的类型参数”

实际上,我试图以与我之前提出失败相同的方式提出警告:

new Result.Warning<>(targetKey, Messages.format(TaroMessages.WARNING_RESOURCES_VALUE_DIFFERENCE_AFTER_REAFFECTATION, existing_value, new_value), true, oscarAccesClientPage.getCallBack());

我在里面使用它的自定义步骤如下:我正在尝试遍历元素列表并检查它们的现有值是否与之前保存的值相同。

protected void checkXyResourcesValue(Integer xyIterator, List<WebElement> elements, String keyParameter) throws TechnicalException, FailureException  {
        try {
            Integer resIterator = 1;
            for(WebElement element : elements) {
                String targetKey = "XY" + xyIterator + "RES" + resIterator + keyParameter;
                String new_value = element.getAttribute(VALUE) != null ? element.getAttribute(VALUE) : element.getText();
                String existing_value = Context.getValue(targetKey) != null ? Context.getValue(targetKey) : targetKey;
                if (new_value != existing_value) {
                    new Result.Warning<>(targetKey, Messages.format(TaroMessages.WARNING_RESOURCES_VALUE_DIFFERENCE_AFTER_REAFFECTATION, existing_value, new_value), true, oscarAccesClientPage.getCallBack());
                }
                resIterator++;
            }
        } catch (Exception e) {
            new Result.Failure<>(e.getMessage(), Messages.format(TaroMessages.FAIL_MESSAGE_ACCES_CLIENT_XY_CHECK_RESOURCES_VALUE, keyParameter, xyIterator), true, oscarAccesClientPage.getCallBack());
        }
    }

对于检查和保存值的方法,我实际上启发了自己使用 NoraUI 中的一段代码来保存 Context 上的值或从中读取值。

我正在使用 Eclipse Luna 4.4.2,并尝试使用 JDK1.8.0_131 进行编译。

这可能与我不知道这在 Java 中是如何工作的有关,而不是真正的问题,所以提前感谢您的帮助或见解。不要犹豫,询问您是否需要有关这段代码或上下文的更多信息。

4

1 回答 1

0

new Result.Warning<>(targetKey, Messages.format(TaroMessages.WARNING_RESOURCES_VALUE_DIFFERENCE_AFTER_REAFFECTATION, existing_value, new_value), true, 0 );

如果您不使用任何模型(数据序列化)或在序列中使用对象的 id,请使用 0。

于 2017-07-13T11:08:58.537 回答