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

7.9.0
TopLogic Release

2024-10-04

Enhancement

Major
#26586
Direct updating of calculated attributes in forms and grids when editing input values
#26702
TLScript: sendMail() function
#27216
Attribute annotation "fallback value" as replacement in case of empty value
#27457
Conditional formatting in tables/grids/forms
#27784
Java 17 as a development environment
#28122
Layout editor: Generalized form templates
#28151
TLScript: new ParseCSV function
#28263
Allow to specify the deletion policy for a reference in the model
Detail
#27920
Removal of old themes and adaptation to the core theme
#28144
Display button line via template, no more button lines in administration views
#28214
Update pac4j-oidc
#28292
Set tl-license-professional version in tl-parent-all
Nice to have
#28282
tl-demo: Example for TreeGrid with synthetic root node

Bugfix

Major
#28197
Sorting a composition table by a column with SelectField leads to ClassCastException
Detail
#27787
Missing context suggestions for TL script functions with underscore in the name
#28071
Deletion of inline composition elements in the form fails if deleted object triggers further deletions
#28175
Script Recorder: Saving scripts does not display the file name field
#28184
Eclipse settings: Update of the webfragment version to 6.0
#28283
Migration processor for cleaning up multiple references to the same composition
#28288
Dynamic visibility requires fields for dependent attributes
Bugfix

Major

#28197

Sorting a composition table by a column with SelectField leads to ClassCastException

CompositionTableSort

If a composition attribute is displayed as a table in a form, sorting this table by columns containing a tl:SelectField fails. An error message is displayed and sorting is deactivated for this table.

The problem can be reproduced in the demo with a suitable model and form. On the demo test server, for example, in the Technical Demo > Tests > Jan view when sorting by the "Select" column.

Analysis

The cause appears to be that the SelectField contains a SingletonList as a value. However, the tl:WrapperNameComparator expects a single tl:TLObject in the signature of its compare method.

Stacktrace

Caused by: java.lang.ClassCastException: class java.util.Collections$SingletonList cannot be cast to class com.top_logic.model.TLObject at com.top_logic.knowledge.wrap.WrapperNameComparator.compare(WrapperNameComparator.java:27) at com.top_logic.basic.col.ComparatorProxy.compare(ComparatorProxy.java:110) at com.top_logic.basic.col.NullSafeComparator.compare(NullSafeComparator.java:108) at com.top_logic.basic.col.MappedComparator.compare(MappedComparator.java:150) at java.base/java.util.TimSort.countRunAndMakeAscending(TimSort.java:355) at java.base/java.util.TimSort.sort(TimSort.java:220) at java.base/java.util.Arrays.sort(Arrays.java:1307) at java.base/java.util.ArrayList.sort(ArrayList.java:1721) at java.base/java.util.Collections.sort(Collections.java:179) at com.top_logic.layout.table.model.SimpleTableModelStructure.revalidateOrder(SimpleTableModelStructure.java:136) at com.top_logic.layout.table.model.ObjectTableModel.revalidateOrder(ObjectTableModel.java:180) at com.top_logic.layout.table.model.AbstractObjectTableModel.setOrder(AbstractObjectTableModel.java:84) at com.top_logic.layout.table.TableViewModel.validate(TableViewModel.java:1355) ... 53 more

test

  • /com.top_logic.demo/src/test/java/test/com/top_logic/demo/scripted/model/attribute/composition/TestSortingCompositionTable.script.xml
  • 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