Verbesserung
Top-Thema
Detail
Wichtig
#25598
NPE in TL-Sync beim Senden von überschriebenen Attributen, deren Definition nicht exportiert wird
#25958
Ant-Targets in Eclipse-Workspace scheitert mit "The linked resource '/com.top_logic.basic.core/src' in project '.org.eclipse.jdt.core.external.folders' does not exist
Detail
#25818
Dokumentation: Link-Vorschläge immer auf Deutsch auch bei der Bearbeitung der englischen Übersetztung
#25907
Layout-Editor: Inkonsistentes Verhalten von Aufklappzustand, Selektion und Reaktion auf Objektanlage
#25951
Applikationstests: CheckLabeledExecutabilityOp scheitert bei der Assertion der Nicht-Ausführbarkeit von literalen ResKey-Gründen
#25952
Model-Editor: Enum-Default-Provider funktioniert nicht für Enum-Referenzen, für die explizit der Singleton-Link-Storage gewählt wurde
#26002
ConfigurationItem-wertige Properties mit Format-Annotationen können dazu führen, dass bei der Deserialisierung von null-Werten versucht wird, abstrakte Config-Items anzulegen
#26012
Hilfe-Editor crasht, wenn sich ein Nutzer eine Sprache gewählt hat, die nicht in den unterstützten Sprachen der Anwendung vorkommen
#26039
Gridcomponent: Anzeige des Kontextmenus für neues (transientes) Zeilenobjekt führt zu UnsupportedOperationException
#26041
Im Kontext-Menü für eine neue Grid-Zeile wird das Kommando "Löschen" angeboten, Crash bei Auswahl
#26085
Ein Attribut vom Typ tl.model.search:Expr wird im Formular nicht über einem TL-Script-Editor dargestellt
#26092
Versteckte Attribute werden dem Nutzer standardmäßig in den Tabellenspalten zur Auswahl angeboten
#26111
Kontext-Menü-Kommandos für Tabellenzeilen werden fälschlicherweise auf dem Tabellenmodell ausgeführt, wenn man das Kontextmenü im Hintergrund der Tabelle öffnet
#26135
Kachel Cockpit: Terminplan: Meilensteine lassen sich nicht bearbeiten, Berechtigungsprüfung fehlerhaft
#26153
Migration: Replay schlägt fehl, wenn String-Werte mit Zeilenumbrüchen im Datenbestand enthalten sind bei denen eine Zeile mit Semikolon endet
#26159
Crash im Design-Modus, wenn ein Create-Formular über eine Kanal-Kombination ein Listen-Modell bekommt
#26171
Ein TL-Script-Ausdruck, der in einem Assistenten-Template eingegeben wird, wird bei Übernahme in das finale Template umformattiert
#26223
TL-Script: Unter ungünstigen Bedingungen falsche Parameterwerte bei der Auswerung lokaler Funktionen
#26259
Scriptrecorder Template-Erstellen reagiert nicht auf neue Actions / Speichert veralteten Arbeitsstand
Fehlerbehebung
(Nutzer-sichtbar)
Detail
#26039
Gridcomponent: Anzeige des Kontextmenus für neues (transientes) Zeilenobjekt führt zu UnsupportedOperationException
Passiert in prime und auch in neu konfigurierten apps, erstaunlicherweise aber nicht in TLDemo:
Command 'dispatchControlCommand' failed.
com.top_logic.util.error.TopLogicException: Internal error at com.top_logic.mig.html.layout.CommandDispatcher.internalDispatchCommand(CommandDispatcher.java:214) at com.top_logic.mig.html.layout.CommandDispatcher.internalDispatch(CommandDispatcher.java:130) at com.top_logic.mig.html.layout.CommandDispatcher.dispatchCommand(CommandDispatcher.java:123) at com.top_logic.base.services.simpleajax.AJAXServlet.processRequest(AJAXServlet.java:638) at com.top_logic.base.services.simpleajax.AJAXServlet.doPost(AJAXServlet.java:356) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at com.top_logic.util.TopLogicServlet.doService(TopLogicServlet.java:336) at com.top_logic.util.TopLogicServlet.inContext(TopLogicServlet.java:193) at com.top_logic.util.TopLogicServlet$1.inContext(TopLogicServlet.java:268) at com.top_logic.util.TLContextManager.inInteractionInternal(TLContextManager.java:243) at com.top_logic.util.TLContextManager.inInteraction(TLContextManager.java:219) at com.top_logic.util.TopLogicServlet.enterContext(TopLogicServlet.java:263) at com.top_logic.util.TopLogicServlet.service(TopLogicServlet.java:156) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) Caused by: java.lang.UnsupportedOperationException at com.top_logic.model.TransientObject.tHandle(TransientObject.java:22) at com.top_logic.model.TLObject.tTable(TLObject.java:180) at com.top_logic.layout.provider.LabelProviderService$Registry.searchFallbackModel(LabelProviderService.java:657) at com.top_logic.layout.provider.LabelProviderService$Registry.lookupModel(LabelProviderService.java:650) at com.top_logic.layout.provider.LabelProviderService$Registry.lookup(LabelProviderService.java:611) at com.top_logic.layout.provider.LabelProviderService$ContextCommandRegistry.lookup(LabelProviderService.java:1) at com.top_logic.layout.provider.LabelProviderService$ContextCommandRegistry.getContextCommands(LabelProviderService.java:549) at com.top_logic.layout.provider.LabelProviderService.getContextCommands(LabelProviderService.java:449) at com.top_logic.layout.basic.contextmenu.config.MetaContextMenuCommandsProvider.getContextCommands(MetaContextMenuCommandsProvider.java:36) at com.top_logic.layout.basic.contextmenu.component.factory.TypeBasedContextMenuFactory$Provider.createProviderButtons(TypeBasedContextMenuFactory.java:172) at com.top_logic.layout.basic.contextmenu.component.factory.TypeBasedContextMenuFactory$Provider.createButtons(TypeBasedContextMenuFactory.java:165) at com.top_logic.layout.basic.contextmenu.component.factory.ComponentContextMenuFactory$Provider.createButtons(ComponentContextMenuFactory.java:85) at com.top_logic.layout.basic.contextmenu.component.factory.SelectableContextMenuFactory$Provider.createButtons(SelectableContextMenuFactory.java:67) at com.top_logic.layout.basic.contextmenu.component.factory.TypeBasedContextMenuFactory$Provider.getContextMenu(TypeBasedContextMenuFactory.java:139) at com.top_logic.layout.basic.contextmenu.component.factory.adapter.TypeBasedContextMenuProvider.getContextMenu(TypeBasedContextMenuProvider.java:72) at com.top_logic.layout.table.control.TableControl.createContextMenu(TableControl.java:397) at com.top_logic.layout.basic.contextmenu.control.ContextMenuOpener.execute(ContextMenuOpener.java:60) at com.top_logic.layout.basic.AbstractControlBase.executeCommand(AbstractControlBase.java:888) at com.top_logic.layout.basic.component.ControlSupport.executeCommand(ControlSupport.java:221) at com.top_logic.layout.basic.component.ControlComponent$DispatchAction.handleCommand(ControlComponent.java:231) at com.top_logic.tool.boundsec.CommandHandlerUtil.handleCommand(CommandHandlerUtil.java:27) at com.top_logic.mig.html.layout.LayoutComponent.dispatchCommand(LayoutComponent.java:3437) at com.top_logic.mig.html.layout.CommandDispatcher.internalDispatchCommand(CommandDispatcher.java:192) ... 50 more
Analyse
Das Kontext-Menü enthält in seinem Titel das Objekt, für das das Kontext-Menü angezeigt wird. Das Lookup des tl:LabelProvider scheitert aber daran, dass für das neue Grid-Objekt nicht ausgerechnet werden kann, in welcher Tabelle es gespeichert wird (da auch für alle Typen einer Tabelle ein LabelProvider-Fallback festgelegt sein kann).
Test
- Neue App anlegen.
- Neuen Typ A definieren.
- Grid-Sicht für A erstellen.
- Grid-Create-Button für A in der Sicht hinzufügen.
- Über neuen Button neue Zeile in der Grid hinzufügen, aber nicht übernehmen oder speichern.
- Kontext-Menü über der transienten Zeile öffnen.
- Erwartung: Das Kontext-Menü öffnet sich und hat einen Titel.