- edited description
Bugs beim Übernehmen von Modellelementen: Quellmodell -> Zielmodell (Sammelticket)
Dies ist ein Sammelticket und muss ggf. zerlegt werden
-
Quellmodell Strg-A → “Add to model”… => führt zu einer Exception [1]
- Ursache ist die Übernahme von Labels (Textfelder)! Die Exception kommt auch, wenn nur versucht wird, ein Textfeld vom Quell- ins Zielmodell zu übernehmen.
-
Selektion einzelner Modellelemente im Quellmodell → “Add to model” =>
- Modellelement wird übernommen
- Knickpunkte von Komm.verbindungen zu bereits vorhandenen übernommenen Elementen fehlen
- Bei Modellelementen mit Teilelementen geht die Layer-Reihenfolge verloren, d.h. sie werden verdeckt vom übergeord. Element
- Untergeordnete Elemente, die im Quellmodell ausgeblendet sind, werden im Zielmodell eingeblendet
- ((globales)Layout geht verloren, also falls im Quellmodell Shapes angepasst wurden)
-
Wiederholt man 2., kommt es zu Meldungen, dass Elemente zusammengeführt werden. Das ist zunächst ok, jedoch
- wird auch folgendes Abgefragt: “Subordination relation 30” - Kann ein Nutzer die überhaupt Bearbeiten/Annotieren? Gibt es hierzu ein sinnvolles Default-Verhalten, sodass der Nutzer nicht gefragt werden muss?
- Modellelemente, die in Quell- und Zielmodell exakt gleich sind, sollten übersprungen werden “do nothing”
-
Selektion einzelner Modellelemente im Quellmodell inkl. Komm.Verbindung und Knickpunkte → “Add to model” =>
- Knickpunkte werden übernommen (im Unterschied zu 2.b), sie liegen jedoch nicht an exakt der Position wie im Quellmodell
-
Feature-Wunsch: Es sollte eine/weitere Funktion(en) im Menu “Submodel” geben:
-
“Duplicate Submodel in …”
- “this model” => bisheriges Verhalten
- “new model” => neues Modell wird angelegt, welches dieses Teilmodell enthält. Das ist nützlich, wenn man das Teilmodell weitergeben möchte aber nicht das Modell mit allen enthaltenen Teilmodellen.
- “existing/open modell“->”bereits geöffnete Modelle zur Auswahl anbieten” => neues Teilmodell wird in das ausgewählte Model eingefügt
-
-
Feature-Wunsch: Es sollte eine/weitere Funktion(en) im Menu “Submodel” geben:
- “Teilmodelle löschen” => ein Dialog zur Auswahl der zu löschenden Teilmodelle soll angezeigt werden. Das ist nützlich, wenn mehrere Teilmodelle in einer Aktion gelöscht werden sollen.
-
Feature-Wunsch: Teilmodelle sollten eine Nummer haben und die Reihenfolge sollte mit Hilfe dieser Nummer festgelegt werden können
-
Feature-Wunsch: Wie kann man Modelldateien zusammenführen? Kann man das im Tool unterstützen? Z.B. nachdem man 4.a.ii ausgeführt hat? Antwort: Man könnte 4.a.iii nutzen nur dann zurück vom Zielmodell ins Quellmodell. Dabei wird das Zusammenführen “spannend”. Was soll passieren?
- “Zusammenführen”-Dialog bei im Zielmodell vorhandene Elemente, die sich vom Quellmodell unterscheiden (also wie bisher)
-
Feature-Wunsch: Übernahme von Teilmodelle(n) 3LGM-M ← | → 3LGM-S (wobei die Hin-Richtung aktuell wichtiger ist, da die meisten Modelle in 3LGM-M modelliert sind)
- kann schrittweise umgesetzt werden: low-hanging-fruits first, d.h. wenigstens die Anwend.sys. und alles andere, was sich intuitiv aufeinander abbilden lässt.
[1]
va.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
2022-04-01 09:29:15 ERROR 3lgm:115 - The following document may have been corrupted by the operation (please do not save):
<unnamed>
java.lang.NullPointerException: Cannot invoke "de.imise.tool3lgm.graphtools.view.container.LayerContainer.add(java.awt.Component)" because "targetMainDocLayer" is null
at de.imise.tool3lgm.graphtools.model.LGMGraphDocument.copyToModel(LGMGraphDocument.java:410)
at de.imise.tool3lgm.graphtools.model.LGMGraphDocument.copySelectedToModel(LGMGraphDocument.java:325)
at de.imise.tool3lgm.gui.menu.ContextGenerator.lambda$getCopyToModelMenu$1(ContextGenerator.java:352)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:374)
at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1028)
at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1072)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6626)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3389)
at java.desktop/java.awt.Component.processEvent(Component.java:6391)
at java.desktop/java.awt.Container.processEvent(Container.java:2266)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5001)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
java.lang.NullPointerException: Cannot invoke "de.imise.tool3lgm.graphtools.view.container.LayerContainer.add(java.awt.Component)" because "targetMainDocLayer" is null
at de.imise.tool3lgm.graphtools.model.LGMGraphDocument.copyToModel(LGMGraphDocument.java:410)
at de.imise.tool3lgm.graphtools.model.LGMGraphDocument.copySelectedToModel(LGMGraphDocument.java:325)
at de.imise.tool3lgm.gui.menu.ContextGenerator.lambda$getCopyToModelMenu$1(ContextGenerator.java:352)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:374)
at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1028)
at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1072)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6626)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3389)
at java.desktop/java.awt.Component.processEvent(Component.java:6391)
at java.desktop/java.awt.Container.processEvent(Container.java:2266)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5001)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4833)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
2022-04-01 09:30:00 ERROR 3lgm:115 - The following document may have been corrupted by the operation (please do not save):
<unnamed>
Comments (5)
-
reporter -
reporter - edited description
-
reporter - changed version to 4.5.1
-
reporter - changed version to 4.5.2
-
reporter - changed version to 4.6.1
- Log in to comment