したがって、基本的に、このプロジェクトは、さまざまなテストタイプからのテスト結果のポータルを構築します。結果のフェッチと表示は問題ありません。ただし、結果のテーブルは正しい順序で表示されていません。表示される順序はランダムですが、RPC呼び出しがディスパッチされる順序が明確に指定されており、さらに支援するためにパネルにインデックスシステムを実装しました。
基本的に、アプリケーションは、垂直パネル内に含まれる3つの水平パネルで構成されます。
詳細な説明:新、中、旧は、テスト対象のソフトウェア製品の3つのバージョンを指します。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);
}
更新するたびに、テストタイプの水平方向の表示順序が異なる可能性があります。バージョンは適切にグループ化され、垂直方向に分離されていますが、水平方向の順序は厄介です。困った!