TopLogic - the automated application engine
  • Releases
  • Dokumentation
  • Github
  • Discord
  1. Home
  2. Releases
  3. TL_7.9.5
  4. #28632

7.9.5
TopLogic Release

2025-06-05

Enhancement

Major
#28577
Improvement configuration WebFolder display
Detail
#28576
Excel export in the instance editor
#28590
Maintenance page to create missing repository folders in the file system
#28629
Configure the visibility of the row selection column in the layout editor.
#28657
Export also User-ID for columns of type tl.accounts:Person to Excel
#28662
Update JfreeChart to 1.5.6

Bugfix

Major
#28440
Dynamic visibility for calculated attributes is ignored
#28607
Error with column groups
#28644
WebFolder attributes do not take dynamic visibility into account
Detail
#28315
Missing changed check when switching to administration
#28379
SelectControl ignores the value for EmptyLabelImmutable
#28482
Missing detail dialog in the Login Messages module
#28559
Incorrect calculation of the expiration date of LoginMessages
#28562
Client-side error when selecting an element with tooltip in the dropdown
#28569
Layout does not expand beyond the available width
#28581
Excel export of HTML attributes should not contain formatting information
#28591
Missing "Undefined" symbol for check boxes
#28592
Missing dependency between InitialProcessSetupService and InitialGroupManager
#28598
Multiple entries in I18NAttributeStorage when using the InternationalizeAttributeProcessor
#28601
Unnecessary memory consumption in ChangeConcreteToDefinitionId
#28602
Update Apache POI to 5.4.1
#28603
Update ActiveMQ to 2.40.0
#28606
Error in the model editor for dynamic attribute labels implemented with Java
#28618
LabelProviderService does not support enumerations
#28631
Email dispatch: Recipients are overwritten by setRecipient()
#28632
Filter of enum column in tree table generates error message
#28638
Double delete button and missing confirmation prompt in user administration
#28658
Show currently selected elements on top of selection table
#28660
TreeTableComponent setzt bei Selektion kein Modell
#28664
TableComponent does not set a model for selection
Bugfix

Detail

#28632

Filter of enum column in tree table generates error message

EnumFilterTreeTable

Different node types are displayed in a tree table: "Top->Node->Leaf"

An enum attribute is defined at leaf level, which is stored inline:

**model.xml** with annotation for inline storage in source table:

    <reference name="kind" kind="forwards" mandatory="true" navigate="true" type="temperature-profile-kind" > <annotations> <storage-algorithm> <foreign-key-storage storage-attribute="kind" storage-type="temperature-profile" /> </storage-algorithm> </annotations> </reference>

**meta.xml** with column definition for storing the value:

  <metaobject object_name="TemperatureProfile" super_class="GenericObject" > <reference att_name="kind" by-value="true" mandatory="true" monomorphic="true" target-type="FastListElt" /> ... </metaobject>

The display and editing of this column initially works correctly:

Problem

However, clicking on the filter icon results in an error:

2025-05-19T17:02:51,447 ERROR [qtp1700721442-120]: com.top_logic.util.error.ErrorHandlingHelper - Command 'dispatchControlCommand' failed. S(Tw3uGG5dlqewSzkWIMHv4RU05ULwRyeOPRzKEmlSPbA=) com.top_logic.util.error.TopLogicException: Internal error at com.top_logic.mig.html.layout.CommandDispatcher.internalDispatchCommand(CommandDispatcher.java:218) at com.top_logic.mig.html.layout.CommandDispatcher.internalDispatch(CommandDispatcher.java:134) at com.top_logic.mig.html.layout.CommandDispatcher.dispatchCommand(CommandDispatcher.java:127) at com.top_logic.base.services.simpleajax.AJAXServlet.processRequest(AJAXServlet.java:686) at com.top_logic.base.services.simpleajax.AJAXServlet.doPost(AJAXServlet.java:359) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:547) at com.top_logic.util.TopLogicServlet.doService(TopLogicServlet.java:402) at com.top_logic.util.TopLogicServlet.inContext(TopLogicServlet.java:266) at com.top_logic.util.TopLogicServlet$1.inContext(TopLogicServlet.java:334) at com.top_logic.util.TLContextManager.inInteractionInternal(TLContextManager.java:283) at com.top_logic.util.TLContextManager.inInteraction(TLContextManager.java:259) at com.top_logic.util.TopLogicServlet.enterContext(TopLogicServlet.java:329) at com.top_logic.util.TopLogicServlet.serviceWithLogMark(TopLogicServlet.java:183) at com.top_logic.util.TopLogicServlet.lambda$service$0(TopLogicServlet.java:167) at com.top_logic.util.TopLogicServlet.withSessionIdLogMark(TopLogicServlet.java:209) at com.top_logic.util.TopLogicServlet.service(TopLogicServlet.java:166) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614) at org.eclipse.jetty.ee10.servlet.ServletHolder$NotAsync.service(ServletHolder.java:1379) at org.eclipse.jetty.ee10.servlet.ServletHolder.handle(ServletHolder.java:736) at org.eclipse.jetty.ee10.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1614) at com.top_logic.knowledge.gui.layout.HttpSecureHeaderFilter.doFilter(HttpSecureHeaderFilter.java:135) at org.eclipse.jetty.ee10.servlet.FilterHolder.doFilter(FilterHolder.java:208) at org.eclipse.jetty.ee10.servlet.ServletHandler$Chain.doFilter(ServletHandler.java:1586) at org.eclipse.jetty.ee10.servlet.ServletHandler$MappedServlet.handle(ServletHandler.java:1547) at org.eclipse.jetty.ee10.servlet.ServletChannel.dispatch(ServletChannel.java:805) at org.eclipse.jetty.ee10.servlet.ServletChannel.handle(ServletChannel.java:431) at org.eclipse.jetty.ee10.servlet.ServletHandler.handle(ServletHandler.java:464) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:571) at org.eclipse.jetty.ee10.servlet.SessionHandler.handle(SessionHandler.java:703) at org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:763) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:181) at org.eclipse.jetty.server.Server.handle(Server.java:179) at org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:619) at org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:410) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99) at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:971) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1201) at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1156) at java.base/java.lang.Thread.run(Thread.java:833) Caused by: java.lang.AssertionError: Cache contains either 'com.top_logic.dob.identifier.ObjectKey' or 'com.top_logic.dob.meta.IdentifiedObject'. at com.top_logic.knowledge.ByValueReferenceStorageImpl.getObjectKey(ByValueReferenceStorageImpl.java:169) at com.top_logic.knowledge.ByValueReferenceStorageImpl.fromCacheToApplicationValue(ByValueReferenceStorageImpl.java:79) at com.top_logic.knowledge.ByValueReferenceStorageImpl.getApplicationValue(ByValueReferenceStorageImpl.java:102) at com.top_logic.knowledge.service.db2.AbstractDBKnowledgeItem.lookupValue(AbstractDBKnowledgeItem.java:148) at com.top_logic.knowledge.service.db2.DBKnowledgeItem.getAttributeValue(DBKnowledgeItem.java:246) at com.top_logic.knowledge.service.db2.DBKnowledgeItem.getValue(DBKnowledgeItem.java:189) at com.top_logic.knowledge.service.db2.AbstractDBKnowledgeItem.getValue(AbstractDBKnowledgeItem.java:314) at com.top_logic.model.v5.ReferencePreload.loadReferenceByValue(ReferencePreload.java:130) at com.top_logic.model.v5.ReferencePreload.prepare(ReferencePreload.java:102) at com.top_logic.model.export.Preloader.internalPrepare(Preloader.java:55) at com.top_logic.model.export.Preloader.prepare(Preloader.java:50) at com.top_logic.model.export.PreloadOperation.prepare(PreloadOperation.java:40) at com.top_logic.model.export.Preloader.prepare(Preloader.java:42) at com.top_logic.element.layout.grid.AbstractTreeGridBuilder$TreeGridHandler$2.doPrepareRows(AbstractTreeGridBuilder.java:466) at com.top_logic.layout.tree.model.AbstractTreeTableModel$TreeTable.prepareRows(AbstractTreeTableModel.java:222) at com.top_logic.layout.table.TableViewModel.internalRevalidateMatchCount(TableViewModel.java:2891) at com.top_logic.layout.table.TableViewModel.addToOpenFilters(TableViewModel.java:2611) at com.top_logic.layout.table.control.TableControl$OpenFilterDialogAction.openTableFilter(TableControl.java:1561) at com.top_logic.layout.table.control.TableControl$OpenFilterDialogAction.openTableFilter(TableControl.java:1552) at com.top_logic.layout.table.control.TableControl$OpenFilterDialogAction.executeChecked(TableControl.java:1547) at com.top_logic.layout.table.control.TableControl$CheckedTableCommand.execute(TableControl.java:1377) at com.top_logic.layout.table.control.TableControl$TableCommand.execute(TableControl.java:1327) at com.top_logic.layout.basic.AbstractControlBase.executeCommand(AbstractControlBase.java:981) at com.top_logic.layout.basic.component.ControlSupport.executeCommand(ControlSupport.java:223) at com.top_logic.layout.basic.component.ControlComponent$DispatchAction.handleCommand(ControlComponent.java:233) at com.top_logic.tool.boundsec.CommandHandlerUtil.handleCommand(CommandHandlerUtil.java:31) at com.top_logic.mig.html.layout.LayoutComponent.dispatchCommand(LayoutComponent.java:3063) at com.top_logic.mig.html.layout.CommandDispatcher.internalDispatchCommand(CommandDispatcher.java:196) ... 40 more

Apparently an attempt is made (determination of actually existing values?) to read this attribute from a superordinate line object that does not define this attribute (in particular its storage rule).

Workaround

Instead of displaying the attribute column, configure this column again as a calculated column. Implement value determination and storage rule for the corresponding row type and declare the column as read-only for the other types.

  • Get Started
  • Github
  • Discord
  • Das Unternehmen hinter TopLogic
  • Softwareentwicklung heute
  • Kontakt

© Copyright – Business Operation Systems GmbH

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