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

7.5.2
TopLogic Release

2023-07-03

Enhancement

Major
#26283
In-app configured global dialogs
#27411
Smart Startup/Shutdown
#27431
Deploy App Archetype to MavenCentral
Detail
#27248
Predefine icons/cliques for buttons/dialogs with theme variables if possible
#27264
Selection components should not unpack one-element sets
#27267
ListModelBuilder shall return a collection in getModel(...).
#27365
Select default selection based on the last (current) selection
#27412
Bulk Dependency Update 2023/06

Bugfix

Major
#27388
No display of error text in composition tables
#27407
Selection of the grid disappears with F5
#27408
AbstractFlexDataManager logs warning when loading the same object multiple times
#27446
Incorrect license display for TopLogic modules in the license overview
Detail
#27230
Command release service: exception rule does not work
#27275
I18N string as name attribute returns error
#27306
Option providers still do not update calculated suggested values
#27312
Application tests: No recording of inputs in I18N string attributes in grid possible
#27326
Memory hole: Personal configuration is not cleared properly
#27340
Administration: Maintenance mode does not work properly
#27341
TL script: NPE when regular expressions evaluate to "null".
#27343
LayoutEditor: Component channel selection for dialog open buttons wrong
#27344
Unwanted inlining of properties when creating a new app
#27349
Disappearing design buttons in tiles
#27364
Scheduler: Task execution fails with longer results
#27381
Incorrect preassignment in the chart JS template
#27385
Incorrect calculation of the sort order in references
#27400
ResKey: Missing quoting of non-primitive arguments
#27403
Synthetic `UpdateChainLink` chain of `KBDataProducerTask` leads nowhere
#27427
Potential NullPointerException when sorting the results of a quick search
#27429
Assertion error when setting incompatible value in ComplexField
Bugfix (User-visible)

Detail

#27427

Potential NullPointerException when sorting the results of a quick search

Search

Background

The full text search sorts found objects by label

Problem

In the QuickSearchCommand::sortResult() function, objects are sorted by their label. If an object has no label (null), this produces a NullPointerEx:

Caused by: java.lang.NullPointerException at java.base/java.util.Comparator.lambda$comparing$77a9974f$1(Comparator.java:469) at java.base/java.util.TimSort.binarySort(TimSort.java:296) at java.base/java.util.TimSort.sort(TimSort.java:239) at java.base/java.util.Arrays.sort(Arrays.java:1515) at java.base/java.util.ArrayList.sort(ArrayList.java:1750) at java.base/java.util.Collections.sort(Collections.java:179) at com.top_logic.element.layout.meta.search.quick.QuickSearchCommand.sortResult(QuickSearchCommand.java:411) at com.top_logic.element.layout.meta.search.quick.AbstractSearchCommand.convertSearchResultSet(AbstractSearchCommand.java:365) at com.top_logic.element.layout.meta.search.quick.AbstractSearchCommand.search(AbstractSearchCommand.java:230) at com.top_logic.element.layout.meta.search.quick.AbstractSearchCommand.executeCommand(AbstractSearchCommand.java:190) at com.top_logic.element.layout.meta.search.quick.QuickSearchView$1.handleKeyEvent(QuickSearchView.java:153) at com.top_logic.layout.form.model.AbstractFormField.dispatchKeyEvent(AbstractFormField.java:712) at com.top_logic.layout.form.control.AbstractFormFieldControlBase.dispatchKeyEvent(AbstractFormFieldControlBase.java:103) at com.top_logic.layout.basic.KeyCodeHandler.execute(KeyCodeHandler.java:84) at com.top_logic.layout.basic.AbstractControlBase.executeCommand(AbstractControlBase.java:787) at com.top_logic.layout.basic.component.ControlSupport.executeCommand(ControlSupport.java:189) at com.top_logic.layout.basic.component.ControlComponent$DispatchAction.handleCommand(ControlComponent.java:210) at com.top_logic.tool.boundsec.CommandHandlerUtil.handleCommand(CommandHandlerUtil.java:27) at com.top_logic.mig.html.layout.LayoutComponent.dispatchCommand(LayoutComponent.java:2442) at com.top_logic.mig.html.layout.CommandDispatcher.internalDispatchCommand(CommandDispatcher.java:427)

Solution

The LabelComparator is used for sorting. This is null-fixed and additionally sorts with respect to the user's locale.

Test

No test.

  • 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