因此,从本质上讲,这个项目构建了一个来自各种测试类型的测试结果的门户。结果的获取和显示很好;但是,生成的表格没有以正确的顺序显示。它们显示的顺序是随机的,但它清楚地指定了 RPC 调用的调度顺序,我什至在我的面板中实现了一个索引系统以进一步提供帮助。
基本上,该应用程序由包含在一个垂直面板中的三个水平面板组成。
进一步解释:新、中、旧指的是被测软件产品的三个版本。TestTable 只是一个自定义的 FlexTable,每个 xxxPanel 都是 HorizontalPanel。在 onModuleLoad() 方法之外,索引全部初始化为零。每个面板都有自己的服务,负责调度 RPC 调用以填充相应的面板。
public void onSuccess(List<TestResult> result) {
TestTable testTable1 = new TestTable(result);
if(result.get(0).getVrmf().equals(newestVersion)){
newPanels.insert(testTable1, newIndex + 1); //insert adds element BEFORE specified index, so +1
newPanels.addStyleName("horizontalPanelStyle");
newIndex++;
}
if(result.get(0).getVrmf().equals(middleVersion)){
midPanels.insert(testTable1, midIndex + 1); //insert adds element BEFORE specified index, so +1
midPanels.addStyleName("horizontalPanelStyle");
midIndex++;
}
if(result.get(0).getVrmf().equals(oldVersion)){
oldPanels.insert(testTable1, oldIndex + 1); //insert adds element BEFORE specified index, so +1
oldPanels.addStyleName("horizontalPanelStyle");
oldIndex++;
}
}
};
这是我的呼叫的发送方式:
if(testPortalSvcNew != null){
testPortalSvcNew.getTestResults(5, newestVersion, TestType.SMOKE, callback);
testPortalSvcNew.getTestResults(5, newestVersion, TestType.BVTUNIX, callback);
testPortalSvcNew.getTestResults(5, newestVersion, TestType.BVTWINDOWS, callback);
}
每次刷新都会生成不同的测试类型水平显示顺序。版本被正确分组并垂直分开,但它们的水平顺序很混乱。我难住了!