Wichtig
Detail
Fehlerbehebung
Wichtig
Detail
#26382
Fehlermeldungen "Duplicate tag name..." beim Starten einer Anwendung in der IDE aus einem TL-Studio
#26402
Modell Editor: Diagramm: Fehler beim Ziehen einer Klasse aus einem anderen Modul ins eigene Arbeitsblatt
#26405
TTypeRewriter loggt Warnung "Unable to resolve items by external reference" auch unnötigerweise
#26431
Geänderte Oberklassenbeziehung führt erst nach Neustart zu geänderter Attributliste im Formulareditor
#26446
Generische Formulare: Sichtbarkeitsanpassungen überschriebener Attribute werden nicht berücksichtigt.
Fehlerbehebung
Detail
#19344
Attribute vom Typ TLEnumeration liefern trotz multiple=false Collections
Attribute die ein einzelnes tl:TLEnumeration-Objekt speichern, liefern dieses immer in einer Collection zurück. Das ist inkonsistent zu allen anderen TLTypes.
Siehe auch:
- StorageDetail.isCollectionValued(MetaAttribute)
- TLModelUtil.needsCollectionCompatibility(TLStructuredTypePart)
Lösung
Attribute vom Typ tl:TLEnumeration liefern bei multiple="false" einen oder keinen tl:TLClassifier, bei multiple="true" eine Collection von tl:TLClassifier, entweder leer oder nicht leer.
Code-Migration
- Aufrufe von TLModelUtil.needsCollectionCompatibility(TLStructuredTypePart) überprüfen. Hier den Hack beim Setzen eines Wertes den Wert in eine Singleton-Liste einzupacken, bzw. beim Holden des Wertes aus der Persistenz eine Liste auszupacken entfernen.
- StorageImplementation.isCollectionValued(TLStructuredTypePart) ersetzen durch TLStructuredTypePart.isMultiple().
- Wrapper neu-generieren, wenn ein Attribut vom Typ TLEnumeration ist.
Data-Migration
Die Attribute projectTemplate:projectTemplate.Project#projectState, projectTemplate:projectTemplate.Activity#state und projectTemplate:projectTemplate.Issue#state müssen als nicht multiple definiert sein (Nur bei Nutzung von tl-pos notwendig). Das Migrationsskript Ticket_19344_state_attributes_single.migration.xml der doc:AutomaticDataMigration setzt dies um.
Test
Refactoring. Kein Test.