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

Verbesserung

Wichtig
#26283
In-App konfigurierte globale Dialoge
#27411
Smart Startup/Shutdown
#27431
App-Archetype nach MavenCentral deployen
Detail
#27248
Icons/Cliques für Knöpfe/Dialoge wenn möglich mit Theme-Variablen vorbelegen
#27264
Selektionskomponenten sollen ein-elementige Mengen nicht auspacken
#27267
ListModelBuilder soll in getModel(...) eine Collection zurückliefern
#27365
Default-Selektion basierend auf der letzten (aktuellen) Selektion wählen
#27412
Bulk-Dependency-Update 2023/06

Fehlerbehebung

Wichtig
#27388
Keine Anzeige des Fehlertextes in Kompositionstabellen
#27407
Selektion der Grid verschwindet bei F5
#27408
AbstractFlexDataManager loggt Warnung beim mehrfachen Laden des selben Objektes
#27446
Falsche Lizenzanzeige für die TopLogic-Module in der Lizenzübersicht
Detail
#27230
Befehlsfreigabedienst: Ausnahmeregel funktioniert nicht
#27275
I18N-String als Namensattribut liefert Fehler
#27306
Optionprovider aktualisieren berechnete Wertvorschläge weiterhin nicht
#27312
Applikationstests: Keine Aufzeichnung von Eingaben in I18N-String-Attributen in Grid möglich
#27326
Speicherloch: Persönliche Konfiguration wird nicht richtig abgeräumt
#27340
Administration: Wartungsmodus funktioniert nicht richtig
#27341
TL-Script: NPE, wenn reguläre Ausdrücke auf "null" ausgewertet werden
#27343
LayoutEditor: Komponenten-Kanal-Auswahl für Dialog-Öffner-Buttons falsch
#27344
Unerwünschtes Inlinen von Properties beim Erstellen einer neuen App
#27349
Verschwindene Design-Knöpfe in Kacheln
#27364
Scheduler: Task-Ausführung schlägt bei längeren Ergebnissen fehl
#27381
Fehlerhafte Vorbelegung im Chart-JS Template
#27385
Fehlerhafte Berechnung der Sort-Order in Referenzen
#27400
ResKey: Fehlendes Quoting von nicht-primitiven Argumenten
#27403
Synthetische `UpdateChainLink`-Kette des `KBDataProducerTask`führt ins nichts
#27427
Potentielle NullPointerException beim Sortieren der Ergebnisse der Schnellsuche
#27429
Assertion-Error, wenn man inkompatiblen Wert in ComplexField setzt
Fehlerbehebung (Nutzer-sichtbar)

Detail

#27427

Potentielle NullPointerException beim Sortieren der Ergebnisse der Schnellsuche

Search

Hintergrund

Die Volltextsuche sortiert gefundene Objekte nach Label

Problem

In der Funktion QuickSearchCommand::sortResult() werden Objekte nach ihrem Label sortiert. Wenn ein Objekt kein Label (null) hat, produziert dies eine 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)

Lösung

Zur Sortierung wird der LabelComparator benutzt. Dieser ist null-fest und sortiert zusätzlich bzgl. der Locale des Nutzers.

Test

Kein 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
  • EN
  • Login