Major
Detail
Bugfix
Major
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.
Bugfix
Detail
#26520
Formularerstellung mit "Fremden Objekten" und individuellen Template schlägt fehl
Wenn ein Formular mit dem Formular-Editor erstellt wird und hier die Option "Fremde Objekte" benutzt wird, kann für die Darstellung der fremden Objekte wieder ein Formular konfiguriert werden.
Passiert dies kommt es zu einer NullPointerException:
Caused by: java.lang.NullPointerException at com.top_logic.element.layout.formeditor.FormEditorUtil.createAnotherMetaAttribute(FormEditorUtil.java:98) at com.top_logic.element.layout.formeditor.FormEditorUtil.addAnotherMetaAttribute(FormEditorUtil.java:157) at com.top_logic.element.layout.formeditor.implementation.FieldDefinitionTemplateProvider.createFormMember(FieldDefinitionTemplateProvider.java:391) at com.top_logic.element.layout.formeditor.implementation.FieldDefinitionTemplateProvider.addMember(FieldDefinitionTemplateProvider.java:339) at com.top_logic.element.layout.formeditor.implementation.FieldDefinitionTemplateProvider.createDisplayTemplate(FieldDefinitionTemplateProvider.java:140) at com.top_logic.model.form.implementation.AbstractFormElementProvider.createDesignTemplate(AbstractFormElementProvider.java:139) at com.top_logic.model.form.implementation.FormElementTemplateProvider.createTemplate(FormElementTemplateProvider.java:42) at com.top_logic.model.form.implementation.AbstractFormContainerProvider.createContentTemplate(AbstractFormContainerProvider.java:84) at com.top_logic.model.form.implementation.FormDefinitionTemplateProvider.createDesignTemplate(FormDefinitionTemplateProvider.java:63) at com.top_logic.element.layout.formeditor.FormEditorEditorControl.createTemplate(FormEditorEditorControl.java:312) at com.top_logic.element.layout.formeditor.FormEditorEditorControl.writeContent(FormEditorEditorControl.java:279) at com.top_logic.element.layout.formeditor.FormEditorEditorControl.internalWrite(FormEditorEditorControl.java:273) at com.top_logic.layout.basic.AbstractControlBase$ScopedRenderer.write(AbstractControlBase.java:1306) at com.top_logic.layout.basic.AbstractControlBase$ScopedRenderer.write(AbstractControlBase.java:1293) at com.top_logic.layout.basic.AbstractDisplayContext.renderScoped(AbstractDisplayContext.java:109) at com.top_logic.layout.basic.AbstractControlBase.write(AbstractControlBase.java:550)
Ursache
Da es im Design-Modus keine Objekte gibt, werden tl:FormField für tl:AttributeUpdate im Modus "create" erstellt. Da für die vermeintlich zu erstellenden Objekte des Basis-Typ's und des "fremden Typ", keine Identifier existieren wird versucht das selbe transiente Objekt zu benutzen, was fehlschlägt.
Lösung
Eine "Domain" bei der Erstellung des AttributeUpdate nutzen.
Test
- Formular-Editor öffnen für einen Typ X` != `Benutzerkonto öffnen.
- "Objekte" auswählen.
- Hier den Typ Benutzerkonto auswählen.
- Formular konfigurieren.
- Hier das Attribut "Benutzername" auswählen.
- Ein Attribut des Typs X hinzufügen.
- Erwartung: Es kommt zu keiner NullPointerException.