Skip to content
Snippets Groups Projects
Commit f87dd3ae authored by tj's avatar tj
Browse files

reversed adding new node page; issues #1, #3, #6, #7 (hopefully) treated or...

reversed adding new node page; issues #1, #3, #6, #7 (hopefully) treated or not found (#7); since node page was removed issue #6 only partially fixed; open issues: #2, #4, #5, #6
parent c488983e
No related branches found
No related tags found
No related merge requests found
...@@ -42,14 +42,16 @@ Sebastian ...@@ -42,14 +42,16 @@ Sebastian
//------------------------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------------------
hours: hours:
14.11.24 8h 14.11.24 8h -
24.11.24 4h 24.11.24 4h -
30.11.24 8h 30.11.24 8h -
01.12.24 8h 01.12.24 8h -
08.12.24 8h 08.12.24 8h -
16.12.24 12h 16.12.24 12h -
22.12.24 12h 22.12.24 12h -
23.12.24 8h 23.12.24 8h
24.12.24 2h
06.01.25 8h
//------------------------------------------------------------------------------------------------------ //------------------------------------------------------------------------------------------------------
see https://github.com/eclipse-theia/theia/blob/master/doc/Developing.md#prerequisite_native_keymap see https://github.com/eclipse-theia/theia/blob/master/doc/Developing.md#prerequisite_native_keymap
...@@ -526,3 +528,105 @@ Caused by: org.xml.sax.SAXParseExceptionpublicId: file:/mnt/c/Users/tim65/SHK-Pr ...@@ -526,3 +528,105 @@ Caused by: org.xml.sax.SAXParseExceptionpublicId: file:/mnt/c/Users/tim65/SHK-Pr
at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoadHelper(ResourceSetImpl.java:274) at org.eclipse.emf.ecore.resource.impl.ResourceSetImpl.demandLoadHelper(ResourceSetImpl.java:274)
... 15 more ... 15 more
pageNode implementation
NaseModel.pnml
java.lang.ExceptionInInitializerError
at org.eclipse.glsp.example.javaemf.model.TaskListSourceModelStorage.setupResourceSet(TaskListSourceModelStorage.java:58)
at org.eclipse.glsp.server.emf.EMFSourceModelStorage.getOrCreateEditingDomain(EMFSourceModelStorage.java:68)
at org.eclipse.glsp.example.javaemf.model.TaskListSourceModelStorage.loadSourceModel(TaskListSourceModelStorage.java:85)
at org.eclipse.glsp.server.features.core.model.RequestModelActionHandler.executeAction(RequestModelActionHandler.java:75)
at org.eclipse.glsp.server.features.core.model.RequestModelActionHandler.executeAction(RequestModelActionHandler.java:45)
at org.eclipse.glsp.server.actions.AbstractActionHandler.execute(AbstractActionHandler.java:53)
at org.eclipse.glsp.server.internal.actions.DefaultActionDispatcher.runAction(DefaultActionDispatcher.java:198)
at org.eclipse.glsp.server.internal.actions.DefaultActionDispatcher.handleAction(DefaultActionDispatcher.java:176)
at org.eclipse.glsp.example.javaemf.handler.MyActionDispatcher.handleAction(MyActionDispatcher.java:24)
at org.eclipse.glsp.server.internal.actions.DefaultActionDispatcher.handleNextAction(DefaultActionDispatcher.java:163)
at org.eclipse.glsp.server.internal.actions.DefaultActionDispatcher.runThread(DefaultActionDispatcher.java:149)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.lang.ClassCastException: class org.eclipse.emf.ecore.impl.EAttributeImpl cannot be cast to class org.eclipse.emf.ecore.EReference (org.eclipse.emf.ecore.impl.EAttributeImpl and org.eclipse.emf.ecore.EReference are in unnamed module of loader 'app')
at org.pnml.emf.ptnet.impl.PtnetPackageImpl.getToolInfoPage_Page(PtnetPackageImpl.java:2024)
at org.pnml.emf.ptnet.impl.PtnetPackageImpl.initializePackageContents(PtnetPackageImpl.java:2971)
at org.pnml.emf.ptnet.impl.PtnetPackageImpl.init(PtnetPackageImpl.java:597)
at org.pnml.emf.ptnet.PtnetPackage.<clinit>(PtnetPackage.java:59)
... 12 more
test.pnml
Could not initialize class org.pnml.emf.ptnet.PtnetPackage
java.lang.NoClassDefFoundError: Could not initialize class org.pnml.emf.ptnet.PtnetPackage
at org.eclipse.glsp.example.javaemf.model.TaskListSourceModelStorage.setupResourceSet(TaskListSourceModelStorage.java:58)
at org.eclipse.glsp.server.emf.EMFSourceModelStorage.getOrCreateEditingDomain(EMFSourceModelStorage.java:68)
at org.eclipse.glsp.example.javaemf.model.TaskListSourceModelStorage.loadSourceModel(TaskListSourceModelStorage.java:85)
at org.eclipse.glsp.server.features.core.model.RequestModelActionHandler.executeAction(RequestModelActionHandler.java:75)
at org.eclipse.glsp.server.features.core.model.RequestModelActionHandler.executeAction(RequestModelActionHandler.java:45)
at org.eclipse.glsp.server.actions.AbstractActionHandler.execute(AbstractActionHandler.java:53)
at org.eclipse.glsp.server.internal.actions.DefaultActionDispatcher.runAction(DefaultActionDispatcher.java:198)
at org.eclipse.glsp.server.internal.actions.DefaultActionDispatcher.handleAction(DefaultActionDispatcher.java:176)
at org.eclipse.glsp.example.javaemf.handler.MyActionDispatcher.handleAction(MyActionDispatcher.java:24)
at org.eclipse.glsp.server.internal.actions.DefaultActionDispatcher.handleNextAction(DefaultActionDispatcher.java:163)
at org.eclipse.glsp.server.internal.actions.DefaultActionDispatcher.runThread(DefaultActionDispatcher.java:149)
at java.base/java.lang.Thread.run(Thread.java:1583)
Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.ClassCastException: class org.eclipse.emf.ecore.impl.EAttributeImpl cannot be cast to class org.eclipse.emf.ecore.EReference (org.eclipse.emf.ecore.impl.EAttributeImpl and org.eclipse.emf.ecore.EReference are in unnamed module of loader 'app') [in thread "MyActionDispatcher 3"]
at org.pnml.emf.ptnet.impl.PtnetPackageImpl.getToolInfoPage_Page(PtnetPackageImpl.java:2024)
at org.pnml.emf.ptnet.impl.PtnetPackageImpl.initializePackageContents(PtnetPackageImpl.java:2971)
at org.pnml.emf.ptnet.impl.PtnetPackageImpl.init(PtnetPackageImpl.java:597)
at org.pnml.emf.ptnet.PtnetPackage.<clinit>(PtnetPackage.java:59)
... 12 more
error trying to save after adding nodePage
class org.pnml.emf.ptnet.impl.PageImpl cannot be cast to class java.lang.String (org.pnml.emf.ptnet.impl.PageImpl is in unnamed module of loader 'app'; java.lang.String is in module java.base of loader 'bootstrap')
java.lang.ClassCastException: class org.pnml.emf.ptnet.impl.PageImpl cannot be cast to class java.lang.String (org.pnml.emf.ptnet.impl.PageImpl is in unnamed module of loader 'app'; java.lang.String is in module java.base of loader 'bootstrap')
at org.eclipse.emf.ecore.impl.EcoreFactoryImpl.convertEStringToString(EcoreFactoryImpl.java:661)
at org.eclipse.emf.ecore.impl.EcoreFactoryImpl.convertToString(EcoreFactoryImpl.java:219)
at org.eclipse.emf.ecore.xmi.impl.XMLHelperImpl.convertToString(XMLHelperImpl.java:1610)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.getDatatypeValue(XMLSaveImpl.java:3108)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveDataTypeSingle(XMLSaveImpl.java:1698)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveFeatures(XMLSaveImpl.java:1280)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveFeatures(XMLSaveImpl.java:1224)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElementID(XMLSaveImpl.java:2716)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElement(XMLSaveImpl.java:1181)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElement(XMLSaveImpl.java:1042)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveContainedMany(XMLSaveImpl.java:2417)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveFeatures(XMLSaveImpl.java:1553)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveFeatures(XMLSaveImpl.java:1224)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElementID(XMLSaveImpl.java:2716)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElement(XMLSaveImpl.java:1181)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElement(XMLSaveImpl.java:1042)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveContainedMany(XMLSaveImpl.java:2417)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveFeatures(XMLSaveImpl.java:1553)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveFeatures(XMLSaveImpl.java:1224)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElementID(XMLSaveImpl.java:2716)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElement(XMLSaveImpl.java:1181)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElement(XMLSaveImpl.java:1042)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveContainedMany(XMLSaveImpl.java:2417)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveFeatures(XMLSaveImpl.java:1553)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveFeatures(XMLSaveImpl.java:1224)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElementID(XMLSaveImpl.java:2716)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElement(XMLSaveImpl.java:1181)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElement(XMLSaveImpl.java:1042)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveContainedMany(XMLSaveImpl.java:2417)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveFeatures(XMLSaveImpl.java:1553)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveFeatures(XMLSaveImpl.java:1224)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.saveElementID(XMLSaveImpl.java:2716)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.writeTopObject(XMLSaveImpl.java:683)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.traverse(XMLSaveImpl.java:591)
at org.eclipse.emf.ecore.xmi.impl.XMLSaveImpl.save(XMLSaveImpl.java:251)
at org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl.doSave(XMLResourceImpl.java:389)
at org.eclipse.emf.ecore.resource.impl.ResourceImpl.save(ResourceImpl.java:1475)
at org.eclipse.emf.ecore.resource.impl.ResourceImpl.save(ResourceImpl.java:1044)
at org.eclipse.glsp.example.javaemf.model.TaskListSourceModelStorage.saveSourceModel(TaskListSourceModelStorage.java:165)
at org.eclipse.glsp.server.actions.SaveModelActionHandler.executeAction(SaveModelActionHandler.java:47)
at org.eclipse.glsp.server.actions.SaveModelActionHandler.executeAction(SaveModelActionHandler.java:32)
at org.eclipse.glsp.server.actions.AbstractActionHandler.execute(AbstractActionHandler.java:53)
at org.eclipse.glsp.server.internal.actions.DefaultActionDispatcher.runAction(DefaultActionDispatcher.java:198)
at org.eclipse.glsp.server.internal.actions.DefaultActionDispatcher.handleAction(DefaultActionDispatcher.java:176)
at org.eclipse.glsp.example.javaemf.handler.MyActionDispatcher.handleAction(MyActionDispatcher.java:24)
at org.eclipse.glsp.server.internal.actions.DefaultActionDispatcher.handleNextAction(DefaultActionDispatcher.java:163)
at org.eclipse.glsp.server.internal.actions.DefaultActionDispatcher.runThread(DefaultActionDispatcher.java:149)
at java.base/java.lang.Thread.run(Thread.java:1583)
<?xml version="1.0" encoding="UTF-8"?>
<pnml xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns="http://www.pnml.org/version-2009/grammar/pnml">
<net id="Untitled">
<page id="b95e1e03-4345-457f-8f41-a1f87c45dc6a">
<name text="NewPage0"/>
<nodegraphics>
<position x="170" y="98"/>
<dimension x="500" y="500"/>
</nodegraphics>
<place id="0b20eb18-2f49-4459-acc3-fdde1c976041">
<name text="NewPlace3"/>
<nodegraphics>
<position x="100" y="300"/>
<dimension x="70" y="70"/>
</nodegraphics>
<toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1" node="b95e1e03-4345-457f-8f41-a1f87c45dc6a" subnet=""/>
</place>
<place id="761e4b70-ede4-43fc-8e09-8fcd693f52f4">
<name text="NewPlace4"/>
<nodegraphics>
<position x="312" y="386"/>
<dimension x="70" y="70"/>
</nodegraphics>
<toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1" node="b95e1e03-4345-457f-8f41-a1f87c45dc6a" subnet=""/>
</place>
<transition id="d0e045f1-b811-42da-bb75-32467644b421">
<name text="NewTopic1"/>
<nodegraphics>
<position x="299" y="161"/>
<dimension x="100" y="150"/>
</nodegraphics>
<toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1" type="topicTransitionType" topicName="NewTopic1">
<subscribers>
<subscriber id="0b20eb18-2f49-4459-acc3-fdde1c976041" limit="10"/>
<subscriber id="761e4b70-ede4-43fc-8e09-8fcd693f52f4" limit="10"/>
</subscribers>
</toolspecific>
</transition>
</page>
<toolspecific tool="de.tudresden.inf.st.pnml.distributedPN" version="0.1">
<inputsignals>
<inputsignal inputsignalID="4"/>
</inputsignals>
</toolspecific>
</net>
</pnml>
<?xml version="1.0" encoding="UTF-8"?>
<pnml xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns="http://www.pnml.org/version-2009/grammar/pnml">
<net id="Untitled4">
<page id="07e5a2b3-7401-4d18-9f98-fe16c34b9240">
<name text="NewPage0"/>
<nodegraphics>
<position x="85" y="86"/>
<dimension x="500" y="500"/>
</nodegraphics>
</page>
<page id="d0798fe2-4bbb-48f0-8eeb-9db871bf5f85">
<name text="NewPage1"/>
<nodegraphics>
<position x="858" y="326"/>
<dimension x="500" y="500"/>
</nodegraphics>
</page>
</net>
</pnml>
...@@ -29,7 +29,12 @@ public class CreatePageHandler extends AbstractCreateNodeHandler<CreateNodeOpera ...@@ -29,7 +29,12 @@ public class CreatePageHandler extends AbstractCreateNodeHandler<CreateNodeOpera
@Override @Override
public Optional<Command> createCommand(final CreateNodeOperation operation) { public Optional<Command> createCommand(final CreateNodeOperation operation) {
GModelElement container = modelState.getIndex().get(operation.getContainerId()).orElseGet(modelState::getRoot);
GModelElement container =
modelState.getIndex().get(operation.getContainerId())
.orElseGet(modelState::getRoot);
denySecondRootPage(container);
EObject parentElement = getParentElement(container); EObject parentElement = getParentElement(container);
EReference relationshipLiteral = getRelationshipLiteral(container); EReference relationshipLiteral = getRelationshipLiteral(container);
...@@ -37,13 +42,23 @@ public class CreatePageHandler extends AbstractCreateNodeHandler<CreateNodeOpera ...@@ -37,13 +42,23 @@ public class CreatePageHandler extends AbstractCreateNodeHandler<CreateNodeOpera
Page newPage = PtnetFactory.eINSTANCE.createPage(); Page newPage = PtnetFactory.eINSTANCE.createPage();
initializeElement(newPage); initializeElement(newPage);
NodeGraphics shape = createShape(idGenerator.getOrCreateId(newPage), NodeGraphics shape =
getRelativeLocation(operation), GraphUtil.dimension(PNMLModelTypes.DefaultSizes.PageWidth, PNMLModelTypes.DefaultSizes.PageHeight)); createShape(
newPage.setNodegraphics(shape); idGenerator.getOrCreateId(newPage),
getRelativeLocation(operation),
GraphUtil.dimension(
PNMLModelTypes.DefaultSizes.PageWidth,
PNMLModelTypes.DefaultSizes.PageHeight)
);
Command pageCommand = AddCommand.create( modelState.getEditingDomain(), parentElement, newPage.setNodegraphics(shape);
relationshipLiteral, newPage);
Command pageCommand =
AddCommand.create(
modelState.getEditingDomain(),
parentElement,
relationshipLiteral,
newPage);
return Optional.of(pageCommand); return Optional.of(pageCommand);
} }
...@@ -69,4 +84,17 @@ public class CreatePageHandler extends AbstractCreateNodeHandler<CreateNodeOpera ...@@ -69,4 +84,17 @@ public class CreatePageHandler extends AbstractCreateNodeHandler<CreateNodeOpera
} }
} }
protected void denySecondRootPage(final GModelElement container)
{
/*
* assuming all other elements ensure there is an enclosing page,
* an empty model implies that no such page exists
*/
if(!modelState.getRoot().eContents().isEmpty() &&
container.getType().equals(PNMLModelTypes.GRAPH))
throw new IllegalArgumentException(
"One page has to encapsulate the model"+
" - only one such page may exist at any time.");
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment