for (int i = 0; i < size; i++) {
DAViewComposite view = (DAViewComposite) AnalyzerManager
.getCurrentPage().getView(observingViews[i]);
- Control control = view.getControl();
- Grid table = null;
- if (control instanceof DATableComposite) {
- table = ((DATableComposite) control).getTable();
- } else if (control instanceof DAWindowingTableComposite) {
- table = ((DAWindowingTableComposite) control).getTable();
- } else if (control instanceof DATreeComposite) {
- table = ((DATreeComposite) control).getTable();
- } else {
- continue;
- }
- if (table.getSelectionCount() > 0) {
- GridItem[] selection = table.getSelection();
- long startTime = -1;
- DATableDataFormat tableData = (DATableDataFormat) selection[0]
- .getData();
- if (tableData.getType() == AnalyzerConstants.TYPE_TABLE_FAILED) {
- List<Object> failedData = tableData.getData();
- startTime = (Long) failedData.get(1);
- } else if (tableData.getType() == AnalyzerConstants.TYPE_TABLE_LEAK) {
- List<Object> leakData = tableData.getData();
- startTime = (Long) leakData.get(4);
- } else if (tableData.getType() == AnalyzerConstants.TYPE_TABLE_CALLTRACE) {
- List<Object> calltraceData = tableData.getData();
- startTime = (Long) calltraceData.get(FunctionEntryDBTable.COLUMN.STARTTIME.index);
- } else { // in case table has LogData
- LogData startData = ((DATableDataFormat) selection[0]
- .getData()).getLogData();
- startTime = startData.getTime();
+ if (view != null) {
+ Control control = view.getControl();
+ Grid table = null;
+ if (control instanceof DATableComposite) {
+ table = ((DATableComposite) control).getTable();
+ } else if (control instanceof DAWindowingTableComposite) {
+ table = ((DAWindowingTableComposite) control).getTable();
+ } else if (control instanceof DATreeComposite) {
+ table = ((DATreeComposite) control).getTable();
+ } else {
+ continue;
}
- long endTime = startTime;
- // TODO: need to review what below code does
- if (null != selection[selection.length - 1].getData()) {
- DATableDataFormat lastTableData = (DATableDataFormat) selection[selection.length - 1]
+ if (table.getSelectionCount() > 0) {
+ GridItem[] selection = table.getSelection();
+ long startTime = -1;
+ DATableDataFormat tableData = (DATableDataFormat) selection[0]
.getData();
- if (lastTableData.getType() == AnalyzerConstants.TYPE_TABLE_FAILED) {
- List<Object> failedData = lastTableData.getData();
- endTime = (Long) failedData.get(1);
- } else if (lastTableData.getType() == AnalyzerConstants.TYPE_TABLE_LEAK) {
- List<Object> leakData = lastTableData.getData();
- endTime = (Long) leakData.get(4);
- } else if (lastTableData.getType() == AnalyzerConstants.TYPE_TABLE_CALLTRACE) {
- List<Object> calltraceData = lastTableData.getData();
- endTime = (Long) calltraceData.get(FunctionEntryDBTable.COLUMN.STARTTIME.index);
- } else {
- LogData endData = lastTableData.getLogData();
- endTime = endData.getTime();
+ if (tableData.getType() == AnalyzerConstants.TYPE_TABLE_FAILED) {
+ List<Object> failedData = tableData.getData();
+ startTime = (Long) failedData.get(1);
+ } else if (tableData.getType() == AnalyzerConstants.TYPE_TABLE_LEAK) {
+ List<Object> leakData = tableData.getData();
+ startTime = (Long) leakData.get(4);
+ } else if (tableData.getType() == AnalyzerConstants.TYPE_TABLE_CALLTRACE) {
+ List<Object> calltraceData = tableData.getData();
+ startTime = (Long) calltraceData.get(FunctionEntryDBTable.COLUMN.STARTTIME.index);
+ } else { // in case table has LogData
+ LogData startData = ((DATableDataFormat) selection[0]
+ .getData()).getLogData();
+ startTime = startData.getTime();
+ }
+ long endTime = startTime;
+ // TODO: need to review what below code does
+ if (null != selection[selection.length - 1].getData()) {
+ DATableDataFormat lastTableData = (DATableDataFormat) selection[selection.length - 1]
+ .getData();
+ if (lastTableData.getType() == AnalyzerConstants.TYPE_TABLE_FAILED) {
+ List<Object> failedData = lastTableData.getData();
+ endTime = (Long) failedData.get(1);
+ } else if (lastTableData.getType() == AnalyzerConstants.TYPE_TABLE_LEAK) {
+ List<Object> leakData = lastTableData.getData();
+ endTime = (Long) leakData.get(4);
+ } else if (lastTableData.getType() == AnalyzerConstants.TYPE_TABLE_CALLTRACE) {
+ List<Object> calltraceData = lastTableData.getData();
+ endTime = (Long) calltraceData.get(FunctionEntryDBTable.COLUMN.STARTTIME.index);
+ } else {
+ LogData endData = lastTableData.getLogData();
+ endTime = endData.getTime();
+ }
}
+
+ DASelectionData data = new DASelectionData(observingViews[i],
+ startTime, endTime, selection, table);
+ updateView(data);
}
-
- DASelectionData data = new DASelectionData(observingViews[i],
- startTime, endTime, selection, table);
- updateView(data);
+ return;
}
- return;
}
clear();
}