Wichtig
Kleinigkeit
Fehlerbehebung
Wichtig
Verbesserung
Detail
#23046
Tabellarische Anzeige kumulativer Attribut-Werte in einer Baumstruktur
Der existierende StructuredElementAttributeListModelBuilder kann genau diese Aufgabe erfüllen: Man konfiguriert ein referenzwertiges Attribut und der Builder sammelt alle Werte dieses Attributs in einer gewählten Unterstruktur zur Anzeige auf. Dabei hat er allerdings mehrere Probleme:
- Das gewählte Komponentenmodell muss selbst das konfigurierte Attribut definieren, da der Builder nur genau Objekte des Owner-Typs des Attributs unterstützt. Da der Builder aber Attributwerte aus der ganzen Unterstruktur aufsammelt, muss das gewählte Komponentenmodell nicht zwangsläufig das Attribut selbst definieren. Hierzu müssen die vom Builder zusätzlich unterstützten Typen konfigurierbar sein (in deren Unterstruktur die konfigurierten Referenz auftreten kann).
- Das Aufsammeln aus einer Unterstruktur ist nur eine optionale Eigenschaft des Builders. Allerdings ist er hart auf Instanzen von Strukturtypen festgelegt. Dies führt dazu, dass dieselbe Funktionalität nochals für Nicht-Struktur-Typen gewünscht wird (#22761). Der Builder muss zerlegt werden in einen allgemein verwendbaren Teil, der genau die Werte eines konfigurierbaren referenzwertigen Attributs anzeigt und eine Spezialisierung, die dies kummulativ über eine Struktur tut.
- Das Aufsammeln von Werten aus einer Struktur ist auf den (Legacy-)Typ StructuredElement festgelegt. Der Builder muss mit einer Struktur-Definition parametrisiert werden können.
Code-Migration
- Die Option recursive von StructuredElementAttributeListModelBuilder ist entfallen. Statt recursive="false" muss com.top_logic.element.layout.table.ReferenceListModelBuilder verwendet werden.
- Die Option attribute von StructuredElementAttributeListModelBuilder wurde in reference umbenannt.
- Die Option types von tl:StructureReferenceListModelBuilder sowie tl:StructuredElementAttributeListModelBuilder wurde in additionalTypes umbenannt.
Anwendung
- Über additionalTypes kann eine Liste von zusätzlichen Typen konfiguriert, auf denen das Aufsammeln von Werten beginnen kann.
- ReferenceListModelBuilder ist nicht auf Struktur-Typen festgelegt.
Test
- /com.top_logic.demo/src/test/com/top_logic/demo/scripted/table/TestReferenceListModelBuilder.script.xml