TopLogic - the automated application engine
  • Releases
  • Dokumentation
  • Github
  • Discord
  1. Home
  2. Releases
  3. TL_7.3.0_02
  4. #26039

7.3.0_02
TopLogic Release

2021-06-22

Verbesserung

Detail
#25937
Logback in TL-Studio mit aufnehmen

Fehlerbehebung

Wichtig
#25998
TL-Script Kontexthilfe kaputt
Detail
#25999
Verschwindende Toolbar im Kachel-Layout
#26007
Unnötiger Scrollbalken im HTMLTree
#26019
Buttons in Filter-Dialogen verschwunden
#26039
Gridcomponent: Anzeige des Kontextmenus für neues (transientes) Zeilenobjekt führt zu UnsupportedOperationException
#26040
Teilweise kein Label für benutzerdefinierten Modell-Typ
#26041
Im Kontext-Menü für eine neue Grid-Zeile wird das Kommando "Löschen" angeboten, Crash bei Auswahl
#26042
Kalender-Control in Filterdialogen geht nicht im Modern-Theme
Fehlerbehebung (Nutzer-sichtbar)

Detail

#26039

Gridcomponent: Anzeige des Kontextmenus für neues (transientes) Zeilenobjekt führt zu UnsupportedOperationException

ContextMenuGridComponent

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.
  • Get Started
  • Github
  • Discord
  • Das Unternehmen hinter TopLogic
  • Softwareentwicklung heute
  • Kontakt

© Copyright – Business Operation Systems GmbH

  • top-logic.com
  • Nutzungsbedingungen
  • Impressum
  • Rechtlicher Hinweis
  • Datenschutz
  • EN
  • Login