major
minor
major
minor
In the SchedulerGui, the "Selected Run" detail view is located in the lower-right corner. It is always empty.
Analysis
This is because the selection in the table at the bottom left does not work. It should be possible to select something there, but the selection is not applied by the server—it is always immediately removed.
The cause of this is `TreeTableComponent.findNodes(Object)`. This method attempts to find the node for the selected business object. To do this, it first checks whether the `treeModel ` is a `tl:IndexedTLTreeModel`. However, it is a `tl:TaskResultTreeTableModel`. Therefore, the next step is to check whether `getTreeModelBuilder()` returns anything. But it returns `null`. As a result, the method returns that there are no nodes for this business object.
The problem occurs only in TL 7. In TL 6, it works correctly.
The tl:CompareTreeTableComponent and tl:InspectorTreeComponent are also affected by this behavior.
Stack trace
TaskResultTreeComponent(TreeTableComponent).findNodes(Object) line: 461 TaskResultTreeComponent(TreeTableComponent).getNodes(Collection<?>) line: 442 TaskResultTreeComponent(TreeTableComponent).onSelectionChange(Collection<?>) line: 946 TreeTableComponent$1.handleNewValue(ComponentChannel, Object, Object) line: 215 DefaultChannel(AbstractComponentChannel).notifyNewValue(Object, Object) line: 232 DefaultChannel.storeValue(Object, Object) line: 42 DefaultChannel(AbstractComponentChannel).set(Object) line: 92 TaskResultTreeComponent(Selectable).setSelected(Object) line: 115 TaskResultTreeComponent(TreeTableComponent).setSelectionChannel(Collection<?>) line: 327 TaskResultTreeComponent(TreeTableComponent).setDefaultSelection(AbstractTreeTableModel<?>) line: 1043 TaskResultTreeComponent(TreeTableComponent).validateModel(DisplayContext) line: 299 TaskResultTreeComponent(LayoutComponent).doValidateModel(DisplayContext) line: 4321 ...
Test
- In Administration > Technical Administration > Control Program, select and start a task. In the TreeTable, which displays the results of the last runs, the rows should be selectable.
- Generate demo data and, for example, select and edit a Demo A. Then switch to the version comparison table. The rows in the version comparison table should be selectable.
- Use the GUI Inspector to inspect a component, and then click the button that uses a TreeTable to display the variables. The rows of this table must be selectable.