Wichtig
Detail
Wichtig
Detail
In der SchedulerGui befindet sich unten rechts die Detail-Sicht "Ausgewählter Lauf". Diese ist immer leer.
Analyse
Das liegt daran, dass die Selektion in der Tabelle unten links nicht funktioniert. Es soll dort zwar möglich sein etwas zu selektieren. Aber die Selektion wird vom Server nicht angewendet, also immer sofort wieder entfernt.
Ursache dafür ist TreeTableComponent.findNodes(Object). Dort wird versucht, für das selektierte Fachobjekt den Knoten zu finden. Dazu wird zuerst untersucht, ob das treeModel ein tl:IndexedTLTreeModel ist. Es ist aber ein tl:TaskResultTreeTableModel. Daher wird als nächstes untersucht, ob getTreeModelBuilder() etwas liefert. Aber es liefert null. Daraufhin liefert die Methode zurück, es gäbe keine Knoten für dieses Fachobjekt.
Das Problem tritt nur auf TL 7 auf. In TL 6 funktioniert es korrekt.
Die tl:CompareTreeTableComponent und tl:InspectorTreeComponent sind von diesem Fehlverhalten ebenfalls betroffen.
Stacktrace
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 > Technische Administration > Steuerprogramm eine Aufgabe auswählen und starten. In der TreeTable, die die Ergebnisse der letzten Läufe darstellt, sollten die Zeilen selektierbar sein.
- Demodaten generieren und bspw. ein Demo A auswählen und bearbeiten. Anschließend in die Versionsvergleichtabelle wechseln. Es sollten die Zeilen der Versionsvergleichtabelle selektierbar sein.
- Mit dem GUI-Inspektor eine Komponente inspizieren und anschließend auf den Button klicken, der eine TreeTable benutzt um die Variablen anzuzeigen. Die Zeilen dieser Tabelle müssen selektierbar sein.