From 6d2aa4acffbaf99c8d5ac410515e66ebd55f8973 Mon Sep 17 00:00:00 2001 From: Laurent Fainsin Date: Sun, 10 Oct 2021 00:23:48 +0200 Subject: [PATCH] =?UTF-8?q?d=C3=A9but=20de=20conversion=20TP4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- eclipse-workspace/.metadata/.log | 506 +-- .../11/30028daf4c29001c101babefb5abd0b0 | 86 + .../1e/f0a969be4929001c101babefb5abd0b0 | 129 + .../2a/80996e0a4729001c101babefb5abd0b0 | 88 + .../2f/1026742d4d29001c101babefb5abd0b0 | 125 + .../2f/305600fd4629001c101babefb5abd0b0 | 87 + .../3/f0ca83674729001c101babefb5abd0b0 | 88 + .../4b/20db4a4f4929001c101babefb5abd0b0 | 104 + .../58/a041dcef4e29001c15a7c9c2336a037e | 22 + .../5b/d0cf346f4f29001c15a7c9c2336a037e | 124 + .../6a/d01b9a044a29001c101babefb5abd0b0 | 145 + .../6f/a0ab9def4629001c101babefb5abd0b0 | 86 + .../6f/d0730cc44729001c101babefb5abd0b0 | 88 + .../71/f0f4019c4c29001c101babefb5abd0b0 | 120 + .../74/50d65fb84a29001c101babefb5abd0b0 | 115 + .../7a/b040fb854929001c101babefb5abd0b0 | 123 + .../84/005127714f29001c15a7c9c2336a037e | 47 + .../8d/f03656ad4a29001c101babefb5abd0b0 | 115 + .../92/d05144de4e29001c15a7c9c2336a037e | 22 + .../93/c083ef314729001c101babefb5abd0b0 | 88 + .../9d/904f5d274d29001c101babefb5abd0b0 | 123 + .../a4/d05019e94729001c101babefb5abd0b0 | 92 + .../a9/10660fea4629001c101babefb5abd0b0 | 85 + .../b1/d0008e8b4e29001c101babefb5abd0b0 | 121 + .../b4/90e2971e4729001c101babefb5abd0b0 | 88 + .../c/102560ba4829001c101babefb5abd0b0 | 95 + .../c0/9003c0ee4b29001c101babefb5abd0b0 | 119 + .../c2/60a16f214c29001c101babefb5abd0b0 | 119 + .../cb/b0c591454b29001c101babefb5abd0b0 | 119 + .../d1/f02d90194e29001c101babefb5abd0b0 | 125 + .../d2/f061da4b4829001c101babefb5abd0b0 | 91 + .../d9/90a6d1754c29001c101babefb5abd0b0 | 120 + .../db/d0f6c8604829001c101babefb5abd0b0 | 92 + .../e1/8098e7234729001c101babefb5abd0b0 | 88 + .../e4/007ba4614e29001c101babefb5abd0b0 | 122 + .../e4/009e2afe4929001c101babefb5abd0b0 | 139 + .../e4/7011ad414b29001c101babefb5abd0b0 | 119 + .../e9/e0da08204b29001c101babefb5abd0b0 | 115 + .../f2/70b3c7414d29001c101babefb5abd0b0 | 125 + .../.indexes/4/history.index | Bin 206 -> 302 bytes .../.projects/fr.n7.petrinet.design/.markers | Bin 0 -> 2225 bytes .../fr.n7.petrinet.design/.markers.snap | Bin 3995 -> 16 bytes .../fr.n7.petrinet.design/.syncinfo.snap | Bin 80 -> 16 bytes .../org.eclipse.jdt.core/state.dat | Bin 0 -> 91510 bytes .../fr.n7.petrinet.edit/.markers.snap | Bin 496 -> 16 bytes .../fr.n7.petrinet.edit/.syncinfo.snap | Bin 496 -> 16 bytes .../org.eclipse.jdt.core/state.dat | Bin 0 -> 47156 bytes .../fr.n7.petrinet.editor/.markers.snap | Bin 496 -> 16 bytes .../fr.n7.petrinet.editor/.syncinfo.snap | Bin 496 -> 16 bytes .../org.eclipse.jdt.core/state.dat | Bin 0 -> 109809 bytes .../fr.n7.petrinet.exemples/.markers.snap | Bin 496 -> 16 bytes .../fr.n7.petrinet.exemples/.syncinfo.snap | Bin 496 -> 16 bytes .../fr.n7.petrinet.feature/.markers.snap | Bin 496 -> 16 bytes .../fr.n7.petrinet.feature/.syncinfo.snap | Bin 496 -> 16 bytes .../fr.n7.petrinet.samples/.markers.snap | Bin 96 -> 16 bytes .../fr.n7.petrinet.samples/.syncinfo.snap | Bin 96 -> 16 bytes .../fr.n7.petrinet.tests/.markers.snap | Bin 496 -> 16 bytes .../fr.n7.petrinet.tests/.syncinfo.snap | Bin 496 -> 16 bytes .../org.eclipse.jdt.core/state.dat | Bin 0 -> 45142 bytes .../fr.n7.petrinet.toTINA.ui/.markers | Bin 0 -> 1790 bytes .../fr.n7.petrinet.toTINA.ui/.markers.snap | Bin 2144 -> 16 bytes .../fr.n7.petrinet.toTINA.ui/.syncinfo.snap | Bin 304 -> 16 bytes .../org.eclipse.jdt.core/state.dat | Bin 0 -> 108079 bytes .../.projects/fr.n7.petrinet.toTINA/.markers | Bin 0 -> 1406 bytes .../fr.n7.petrinet.toTINA/.markers.snap | Bin 9426 -> 16 bytes .../fr.n7.petrinet.toTINA/.syncinfo.snap | Bin 432 -> 16 bytes .../.projects/fr.n7.petrinet.toTINA/1.tree | Bin 391 -> 0 bytes .../org.eclipse.jdt.core/state.dat | Bin 0 -> 60398 bytes .../fr.n7.petrinet/.indexes/history.index | Bin 2592 -> 2688 bytes .../.projects/fr.n7.petrinet/.markers.snap | Bin 496 -> 690 bytes .../.projects/fr.n7.petrinet/.syncinfo.snap | Bin 496 -> 16 bytes .../.projects/fr.n7.simplepdl.design/.markers | Bin 0 -> 3497 bytes .../fr.n7.simplepdl.design/.markers.snap | Bin 3761 -> 16 bytes .../fr.n7.simplepdl.design/.syncinfo.snap | Bin 224 -> 16 bytes .../org.eclipse.jdt.core/state.dat | Bin 0 -> 91518 bytes .../fr.n7.simplepdl.edit/.markers.snap | Bin 496 -> 16 bytes .../fr.n7.simplepdl.edit/.syncinfo.snap | Bin 496 -> 16 bytes .../org.eclipse.jdt.core/state.dat | Bin 0 -> 49425 bytes .../fr.n7.simplepdl.editor/.markers.snap | Bin 496 -> 16 bytes .../fr.n7.simplepdl.editor/.syncinfo.snap | Bin 496 -> 16 bytes .../org.eclipse.jdt.core/state.dat | Bin 0 -> 109967 bytes .../fr.n7.simplepdl.exemples/.markers.snap | Bin 496 -> 16 bytes .../fr.n7.simplepdl.exemples/.syncinfo.snap | Bin 496 -> 16 bytes .../fr.n7.simplepdl.feature/.markers.snap | Bin 496 -> 16 bytes .../fr.n7.simplepdl.feature/.syncinfo.snap | Bin 496 -> 16 bytes .../fr.n7.simplepdl.samples/.markers.snap | Bin 272 -> 16 bytes .../fr.n7.simplepdl.samples/.syncinfo.snap | Bin 272 -> 16 bytes .../fr.n7.simplepdl.tests/.markers.snap | Bin 496 -> 16 bytes .../fr.n7.simplepdl.tests/.syncinfo.snap | Bin 496 -> 16 bytes .../org.eclipse.jdt.core/state.dat | Bin 0 -> 46035 bytes .../fr.n7.simplepdl.toDOT.ui/.markers | Bin 0 -> 1790 bytes .../fr.n7.simplepdl.toDOT.ui/.markers.snap | Bin 2272 -> 16 bytes .../fr.n7.simplepdl.toDOT.ui/.syncinfo.snap | Bin 432 -> 16 bytes .../org.eclipse.jdt.core/state.dat | Bin 0 -> 108069 bytes .../.projects/fr.n7.simplepdl.toDOT/.markers | Bin 0 -> 1405 bytes .../fr.n7.simplepdl.toDOT/.markers.snap | Bin 4575 -> 16 bytes .../fr.n7.simplepdl.toDOT/.syncinfo.snap | Bin 464 -> 16 bytes .../.projects/fr.n7.simplepdl.toDOT/1.tree | Bin 391 -> 0 bytes .../org.eclipse.jdt.core/state.dat | Bin 0 -> 60409 bytes .../fr.n7.simplepdl.toHTML.ui/.markers.snap | Bin 496 -> 16 bytes .../fr.n7.simplepdl.toHTML.ui/.syncinfo.snap | Bin 496 -> 16 bytes .../org.eclipse.jdt.core/state.dat | Bin 0 -> 108098 bytes .../fr.n7.simplepdl.toHTML/.markers.snap | Bin 1579 -> 16 bytes .../fr.n7.simplepdl.toHTML/.syncinfo.snap | Bin 496 -> 16 bytes .../acceleo.state.dat | Bin 68 -> 0 bytes .../org.eclipse.jdt.core/state.dat | Bin 0 -> 60421 bytes .../.indexes/e4/fa/1/history.index | Bin 123 -> 1011 bytes .../fr.n7.simplepdl/.indexes/history.index | Bin 3552 -> 3576 bytes .../.projects/fr.n7.simplepdl/.markers | Bin 3008 -> 3692 bytes .../.projects/fr.n7.simplepdl/.markers.snap | Bin 496 -> 2254 bytes .../.projects/fr.n7.simplepdl/.syncinfo.snap | Bin 496 -> 16 bytes .../.root/.indexes/properties.index | Bin 151 -> 151 bytes .../.root/.markers.snap | Bin 523 -> 43 bytes .../.root/{20.tree => 21.tree} | Bin 29487 -> 39782 bytes .../.safetable/org.eclipse.core.resources | Bin 20251 -> 1683 bytes .../org.eclipse.core.resources/20.snap | Bin 21818 -> 0 bytes .../org.eclipse.core.resources/21.snap | Bin 0 -> 335 bytes .../org.eclipse.gmf.runtime.diagram.ui.prefs | 2 + .../.settings/org.eclipse.jdt.ui.prefs | 1 + .../.settings/org.eclipse.ui.ide.prefs | 2 +- .../.launches/simplepdl2petrinet.launch | 13 + .../launchConfigurationHistory.xml | 2 + .../org.eclipse.e4.workbench/workbench.xmi | 3398 +++++++++-------- .../org.eclipse.jdt.core/1610757853.index | Bin 35405 -> 35833 bytes .../org.eclipse.jdt.core/externalFilesCache | Bin 7767 -> 7007 bytes .../externalLibsTimeStamps | Bin 4867 -> 4867 bytes .../org.eclipse.jdt.core/nonChainingJarsCache | Bin 4306 -> 4515 bytes .../org.eclipse.jdt.core/savedIndexNames.txt | 78 +- .../variablesAndContainers.dat | Bin 48119 -> 48119 bytes .../dialog_settings.xml | 2 +- .../QualifiedTypeNameHistory.xml | 8 +- .../org.eclipse.jdt.ui/jdt-images/0.png | Bin 493 -> 715 bytes .../org.eclipse.jdt.ui/jdt-images/1.png | Bin 405 -> 494 bytes .../2021/10/40/refactorings.history | 2 +- .../2021/10/40/refactorings.index | 1 + .../2021/10/40/refactorings.history | 2 +- .../2021/10/40/refactorings.index | 2 + .../.cache/clean-cache.properties | 2 +- ...tance => .tmp6998723412611004271.instance} | 0 .../SavedExternalPluginList.txt | 2 +- .../_j1yWAylDEeyDO9z0LI9hnQ | 18 + .../org.eclipse.ui.ide/dialog_settings.xml | 6 +- .../dialog_settings.xml | 4 +- .../dialog_settings.xml | 4 +- .../dialog_settings.xml | 9 +- eclipse-workspace/.metadata/version.ini | 2 +- .../fr.n7.simplepdl/models/test.xmi | 47 + .../fr.n7.simplepdl/pdl-sujet.xmi | 57 +- .../src/simplepdl/manip/SimplePDLCreator.java | 1 - .../simplepdl/manip/simplepdl2petrinet.java | 123 +- 150 files changed, 5903 insertions(+), 2290 deletions(-) create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/11/30028daf4c29001c101babefb5abd0b0 create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/1e/f0a969be4929001c101babefb5abd0b0 create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/2a/80996e0a4729001c101babefb5abd0b0 create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/2f/1026742d4d29001c101babefb5abd0b0 create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/2f/305600fd4629001c101babefb5abd0b0 create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/3/f0ca83674729001c101babefb5abd0b0 create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/4b/20db4a4f4929001c101babefb5abd0b0 create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/58/a041dcef4e29001c15a7c9c2336a037e create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/5b/d0cf346f4f29001c15a7c9c2336a037e create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/6a/d01b9a044a29001c101babefb5abd0b0 create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/6f/a0ab9def4629001c101babefb5abd0b0 create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/6f/d0730cc44729001c101babefb5abd0b0 create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/71/f0f4019c4c29001c101babefb5abd0b0 create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/74/50d65fb84a29001c101babefb5abd0b0 create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/7a/b040fb854929001c101babefb5abd0b0 create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/84/005127714f29001c15a7c9c2336a037e create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/8d/f03656ad4a29001c101babefb5abd0b0 create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/92/d05144de4e29001c15a7c9c2336a037e create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/93/c083ef314729001c101babefb5abd0b0 create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/9d/904f5d274d29001c101babefb5abd0b0 create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/a4/d05019e94729001c101babefb5abd0b0 create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/a9/10660fea4629001c101babefb5abd0b0 create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/b1/d0008e8b4e29001c101babefb5abd0b0 create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/b4/90e2971e4729001c101babefb5abd0b0 create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/c/102560ba4829001c101babefb5abd0b0 create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/c0/9003c0ee4b29001c101babefb5abd0b0 create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/c2/60a16f214c29001c101babefb5abd0b0 create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/cb/b0c591454b29001c101babefb5abd0b0 create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d1/f02d90194e29001c101babefb5abd0b0 create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d2/f061da4b4829001c101babefb5abd0b0 create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d9/90a6d1754c29001c101babefb5abd0b0 create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/db/d0f6c8604829001c101babefb5abd0b0 create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/e1/8098e7234729001c101babefb5abd0b0 create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/e4/007ba4614e29001c101babefb5abd0b0 create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/e4/009e2afe4929001c101babefb5abd0b0 create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/e4/7011ad414b29001c101babefb5abd0b0 create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/e9/e0da08204b29001c101babefb5abd0b0 create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/f2/70b3c7414d29001c101babefb5abd0b0 create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.design/.markers create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.design/org.eclipse.jdt.core/state.dat create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.edit/org.eclipse.jdt.core/state.dat create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.editor/org.eclipse.jdt.core/state.dat create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.tests/org.eclipse.jdt.core/state.dat create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA.ui/.markers create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA.ui/org.eclipse.jdt.core/state.dat create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA/.markers delete mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA/1.tree create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA/org.eclipse.jdt.core/state.dat create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.design/.markers create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.design/org.eclipse.jdt.core/state.dat create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.edit/org.eclipse.jdt.core/state.dat create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.editor/org.eclipse.jdt.core/state.dat create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.tests/org.eclipse.jdt.core/state.dat create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT.ui/.markers create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT.ui/org.eclipse.jdt.core/state.dat create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT/.markers delete mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT/1.tree create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT/org.eclipse.jdt.core/state.dat create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML.ui/org.eclipse.jdt.core/state.dat delete mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML/org.eclipse.acceleo.common/acceleo.state.dat create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML/org.eclipse.jdt.core/state.dat rename eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.root/{20.tree => 21.tree} (54%) delete mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/20.snap create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/21.snap create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.gmf.runtime.diagram.ui.prefs create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.debug.core/.launches/simplepdl2petrinet.launch rename eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.extensions/.manager/{.tmp2479340851002185577.instance => .tmp6998723412611004271.instance} (100%) create mode 100644 eclipse-workspace/.metadata/.plugins/org.eclipse.sirius.diagram.ui/_j1yWAylDEeyDO9z0LI9hnQ create mode 100644 eclipse-workspace/fr.n7.simplepdl/models/test.xmi diff --git a/eclipse-workspace/.metadata/.log b/eclipse-workspace/.metadata/.log index d625042..c5e54ec 100644 --- a/eclipse-workspace/.metadata/.log +++ b/eclipse-workspace/.metadata/.log @@ -1,477 +1,33 @@ -!ENTRY fr.n7.simplepdl.toHTML.ui 4 0 2021-10-09 21:26:13.352 -!MESSAGE '/fr/n7/simplepdl/toHTML/main/toHTML.emtl' not found +!ENTRY org.eclipse.emf.cdo.explorer 4 0 2021-10-10 00:17:27.091 +!MESSAGE InterruptedException !STACK 0 -java.io.IOException: '/fr/n7/simplepdl/toHTML/main/toHTML.emtl' not found - at org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator.initialize(AbstractAcceleoGenerator.java:481) - at fr.n7.simplepdl.toHTML.main.ToHTML.(ToHTML.java:91) - at fr.n7.simplepdl.toHTML.ui.common.GenerateAll.doGenerate(GenerateAll.java:77) - at fr.n7.simplepdl.toHTML.ui.popupMenus.AcceleoGenerateToHTMLAction$1.run(AcceleoGenerateToHTMLAction.java:78) - at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122) - -!ENTRY org.eclipse.jdt.core 4 969 2021-10-09 22:03:20.149 -!MESSAGE fr.n7.petrinet.toTINA.ui does not exist - -!ENTRY org.eclipse.jdt.core 4 969 2021-10-09 22:03:20.151 -!MESSAGE fr.n7.petrinet.toTINA.ui does not exist - -!ENTRY org.eclipse.jdt.core 4 969 2021-10-09 22:03:20.154 -!MESSAGE fr.n7.petrinet.toTINA.ui does not exist - -!ENTRY org.eclipse.jdt.core 4 969 2021-10-09 22:03:20.166 -!MESSAGE fr.n7.petrinet.toTINA.ui does not exist - -!ENTRY org.eclipse.ui 4 0 2021-10-09 22:13:54.733 -!MESSAGE Unhandled event loop exception -!STACK 0 -java.lang.NullPointerException - at org.eclipse.ui.internal.PartSite.getKeyBindingService(PartSite.java:549) - at org.eclipse.ui.part.MultiPageEditorPart.deactivateSite(MultiPageEditorPart.java:869) - at org.eclipse.ui.part.MultiPageEditorPart.dispose(MultiPageEditorPart.java:482) - at org.eclipse.sirius.editor.editorPlugin.SiriusEditor.dispose(SiriusEditor.java:1342) - at org.eclipse.sirius.editor.tools.internal.presentation.CustomSiriusEditor.dispose(CustomSiriusEditor.java:465) - at org.eclipse.sirius.editor.editorPlugin.SiriusEditor$3$1.run(SiriusEditor.java:423) - at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40) - at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185) - at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4988) - at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4510) - at org.eclipse.jface.operation.ModalContext$ModalContextThread.block(ModalContext.java:166) - at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:368) - at org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDialog2.run(RefactoringWizardDialog2.java:324) - at org.eclipse.ltk.ui.refactoring.RefactoringWizard.internalPerformFinish(RefactoringWizard.java:636) - at org.eclipse.ltk.ui.refactoring.UserInputWizardPage.performFinish(UserInputWizardPage.java:148) - at org.eclipse.ltk.ui.refactoring.resource.DeleteResourcesWizard$DeleteResourcesRefactoringConfigurationPage.performFinish(DeleteResourcesWizard.java:284) - at org.eclipse.ltk.ui.refactoring.RefactoringWizard.performFinish(RefactoringWizard.java:710) - at org.eclipse.ltk.internal.ui.refactoring.RefactoringWizardDialog2.okPressed(RefactoringWizardDialog2.java:450) - at org.eclipse.jface.dialogs.Dialog.buttonPressed(Dialog.java:468) - at org.eclipse.jface.dialogs.Dialog.lambda$0(Dialog.java:619) - at org.eclipse.swt.events.SelectionListener$1.widgetSelected(SelectionListener.java:84) - at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:252) - at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89) - at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5745) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1427) - at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5013) - at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4507) - at org.eclipse.jface.window.Window.runEventLoop(Window.java:823) - at org.eclipse.jface.window.Window.open(Window.java:799) - at org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation.lambda$0(RefactoringWizardOpenOperation.java:190) - at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:74) - at org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation.run(RefactoringWizardOpenOperation.java:209) - at org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation.run(RefactoringWizardOpenOperation.java:126) - at org.eclipse.ltk.internal.ui.refactoring.actions.DeleteResourcesHandler.execute(DeleteResourcesHandler.java:44) - at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:283) - at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:97) - at jdk.internal.reflect.GeneratedMethodAccessor83.invoke(Unknown Source) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:566) - at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58) - at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:319) - at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:253) - at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:173) - at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:156) - at org.eclipse.core.commands.Command.executeWithChecks(Command.java:488) - at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:487) - at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:213) - at org.eclipse.ui.internal.handlers.LegacyHandlerService.executeCommandInContext(LegacyHandlerService.java:440) - at org.eclipse.ui.internal.ide.actions.LTKLauncher.runCommand(LTKLauncher.java:140) - at org.eclipse.ui.internal.ide.actions.LTKLauncher.openDeleteWizard(LTKLauncher.java:57) - at org.eclipse.ui.actions.DeleteResourceAction.run(DeleteResourceAction.java:452) - at org.eclipse.jdt.internal.ui.refactoring.reorg.DeleteAction.run(DeleteAction.java:196) - at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:274) - at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:252) - at org.eclipse.jface.action.Action.runWithEvent(Action.java:474) - at org.eclipse.jface.commands.ActionHandler.execute(ActionHandler.java:121) - at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:97) - at jdk.internal.reflect.GeneratedMethodAccessor83.invoke(Unknown Source) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:566) - at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58) - at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:319) - at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:253) - at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:173) - at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:156) - at org.eclipse.core.commands.Command.executeWithChecks(Command.java:488) - at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:487) - at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:213) - at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.executeCommand(KeyBindingDispatcher.java:308) - at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.press(KeyBindingDispatcher.java:584) - at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.processKeyEvent(KeyBindingDispatcher.java:653) - at org.eclipse.e4.ui.bindings.keys.OutOfOrderListener.handleEvent(OutOfOrderListener.java:75) - at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89) - at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5745) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1427) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1453) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1436) - at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1475) - at org.eclipse.swt.widgets.Widget.gtk_key_press_event(Widget.java:838) - at org.eclipse.swt.widgets.Control.gtk_key_press_event(Control.java:4021) - at org.eclipse.swt.widgets.Composite.gtk_key_press_event(Composite.java:850) - at org.eclipse.swt.widgets.Tree.gtk_key_press_event(Tree.java:2294) - at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:2326) - at org.eclipse.swt.widgets.Control.windowProc(Control.java:6795) - at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:4206) - at org.eclipse.swt.widgets.Display.windowProc(Display.java:5979) - at org.eclipse.swt.internal.gtk.GTK.gtk_main_do_event(Native Method) - at org.eclipse.swt.widgets.Display.eventProc(Display.java:1517) - at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(Native Method) - at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4505) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1157) - at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046) - at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155) - at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:644) - at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338) - at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:551) - at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:153) - at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:150) - at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:566) - at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:657) - at org.eclipse.equinox.launcher.Main.basicRun(Main.java:594) - at org.eclipse.equinox.launcher.Main.run(Main.java:1465) - at org.eclipse.equinox.launcher.Main.main(Main.java:1438) - -!ENTRY org.eclipse.acceleo.parser 4 0 2021-10-09 22:23:58.397 -!MESSAGE Compilation error for expression [name/] : Unrecognized variable: (name) - -!ENTRY org.eclipse.acceleo.parser 4 0 2021-10-09 22:23:58.406 -!MESSAGE Compilation error for expression [name/] : Unrecognized variable: (name) - -!ENTRY org.eclipse.acceleo.parser 4 0 2021-10-09 22:23:58.413 -!MESSAGE Compilation error for expression [name/] : Unrecognized variable: (name) - -!ENTRY org.eclipse.acceleo.parser 4 0 2021-10-09 22:23:58.420 -!MESSAGE Compilation error for expression [name/] : Unrecognized variable: (name) - -!ENTRY org.eclipse.acceleo.parser 4 0 2021-10-09 22:23:58.427 -!MESSAGE Compilation error for expression [name/] : Unrecognized variable: (name) - -!ENTRY org.eclipse.jface 4 2 2021-10-09 22:41:40.936 -!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jface". -!STACK 0 -java.lang.NullPointerException - at simplepdl.provider.RequestItemProvider.getText(RequestItemProvider.java:133) - at org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider.getText(AdapterFactoryLabelProvider.java:424) - at org.eclipse.jface.viewers.WrappedViewerLabelProvider.getText(WrappedViewerLabelProvider.java:99) - at org.eclipse.jface.viewers.WrappedViewerLabelProvider.update(WrappedViewerLabelProvider.java:148) - at org.eclipse.jface.viewers.ViewerColumn.refresh(ViewerColumn.java:144) - at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:959) - at org.eclipse.jface.viewers.AbstractTreeViewer$UpdateItemSafeRunnable.run(AbstractTreeViewer.java:126) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) - at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) - at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem(AbstractTreeViewer.java:1037) - at org.eclipse.jface.viewers.StructuredViewer$UpdateItemSafeRunnable.run(StructuredViewer.java:427) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) - at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) - at org.eclipse.jface.viewers.StructuredViewer.updateItem(StructuredViewer.java:2111) - at org.eclipse.jface.viewers.AbstractTreeViewer.createTreeItem(AbstractTreeViewer.java:853) - at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:831) - at org.eclipse.jface.viewers.TreeViewer.createChildren(TreeViewer.java:604) - at org.eclipse.jface.viewers.AbstractTreeViewer.createChildren(AbstractTreeViewer.java:779) - at org.eclipse.jface.viewers.AbstractTreeViewer.internalExpand(AbstractTreeViewer.java:1690) - at org.eclipse.jface.viewers.AbstractTreeViewer.setSelectionToWidget(AbstractTreeViewer.java:2557) - at org.eclipse.jface.viewers.StructuredViewer.setSelectionToWidget(StructuredViewer.java:1704) - at org.eclipse.jface.viewers.AbstractTreeViewer.setSelectionToWidget(AbstractTreeViewer.java:3029) - at org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredViewer.java:1660) - at org.eclipse.jface.viewers.TreeViewer.setSelection(TreeViewer.java:1084) - at simplepdl.presentation.SimplepdlEditor$5.run(SimplepdlEditor.java:773) - at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40) - at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185) - at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4988) - at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4510) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1157) - at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046) - at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155) - at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:644) - at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338) - at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:551) - at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:153) - at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:150) - at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:566) - at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:657) - at org.eclipse.equinox.launcher.Main.basicRun(Main.java:594) - at org.eclipse.equinox.launcher.Main.run(Main.java:1465) - at org.eclipse.equinox.launcher.Main.main(Main.java:1438) - -!ENTRY org.eclipse.jface 4 2 2021-10-09 22:41:40.988 -!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jface". -!STACK 0 -java.lang.NullPointerException - at simplepdl.provider.RequestItemProvider.getText(RequestItemProvider.java:133) - at org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator.getText(AdapterFactoryItemDelegator.java:84) - at simplepdl.presentation.SimplepdlEditor.setStatusLineManager(SimplepdlEditor.java:1711) - at simplepdl.presentation.SimplepdlEditor.setSelection(SimplepdlEditor.java:1690) - at simplepdl.presentation.SimplepdlEditor$6.selectionChanged(SimplepdlEditor.java:886) - at org.eclipse.jface.viewers.Viewer$1.run(Viewer.java:151) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) - at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) - at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:148) - at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2132) - at org.eclipse.jface.viewers.StructuredViewer.setSelection(StructuredViewer.java:1662) - at org.eclipse.jface.viewers.TreeViewer.setSelection(TreeViewer.java:1084) - at simplepdl.presentation.SimplepdlEditor$5.run(SimplepdlEditor.java:773) - at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:40) - at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:185) - at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:4988) - at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4510) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1157) - at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046) - at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155) - at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:644) - at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338) - at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:551) - at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:153) - at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:150) - at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:566) - at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:657) - at org.eclipse.equinox.launcher.Main.basicRun(Main.java:594) - at org.eclipse.equinox.launcher.Main.run(Main.java:1465) - at org.eclipse.equinox.launcher.Main.main(Main.java:1438) - -!ENTRY org.eclipse.jface 4 2 2021-10-09 22:42:00.253 -!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.jface". -!STACK 0 -java.lang.NullPointerException - at simplepdl.provider.RequestItemProvider.getText(RequestItemProvider.java:133) - at org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator.getText(AdapterFactoryItemDelegator.java:84) - at simplepdl.presentation.SimplepdlEditor.setStatusLineManager(SimplepdlEditor.java:1711) - at simplepdl.presentation.SimplepdlEditor.setSelection(SimplepdlEditor.java:1690) - at simplepdl.presentation.SimplepdlEditor$6.selectionChanged(SimplepdlEditor.java:886) - at org.eclipse.jface.viewers.Viewer$1.run(Viewer.java:151) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) - at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174) - at org.eclipse.jface.viewers.Viewer.fireSelectionChanged(Viewer.java:148) - at org.eclipse.jface.viewers.StructuredViewer.updateSelection(StructuredViewer.java:2132) - at org.eclipse.jface.viewers.StructuredViewer.handleSelect(StructuredViewer.java:1178) - at org.eclipse.jface.viewers.StructuredViewer$4.widgetSelected(StructuredViewer.java:1207) - at org.eclipse.jface.util.OpenStrategy.fireSelectionEvent(OpenStrategy.java:242) - at org.eclipse.jface.util.OpenStrategy.access$4(OpenStrategy.java:237) - at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:402) - at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89) - at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5745) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1427) - at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5013) - at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4507) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1157) - at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046) - at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155) - at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:644) - at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338) - at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:551) - at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:153) - at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:150) - at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:566) - at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:657) - at org.eclipse.equinox.launcher.Main.basicRun(Main.java:594) - at org.eclipse.equinox.launcher.Main.run(Main.java:1465) - at org.eclipse.equinox.launcher.Main.main(Main.java:1438) - -!ENTRY org.eclipse.ui.workbench 4 2 2021-10-09 22:42:03.727 -!MESSAGE Problems occurred when invoking code from plug-in: "org.eclipse.ui.workbench". -!STACK 0 -java.lang.NullPointerException - at simplepdl.provider.RequestItemProvider.getText(RequestItemProvider.java:133) - at org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator.getText(AdapterFactoryItemDelegator.java:84) - at simplepdl.presentation.SimplepdlEditor.setStatusLineManager(SimplepdlEditor.java:1711) - at simplepdl.presentation.SimplepdlEditor.setSelection(SimplepdlEditor.java:1690) - at simplepdl.presentation.SimplepdlEditor.handleActivate(SimplepdlEditor.java:553) - at simplepdl.presentation.SimplepdlEditor$1.partActivated(SimplepdlEditor.java:339) - at org.eclipse.ui.internal.WorkbenchPage$3.run(WorkbenchPage.java:4896) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) - at org.eclipse.ui.internal.WorkbenchPage.firePartActivated(WorkbenchPage.java:4893) - at org.eclipse.ui.internal.WorkbenchPage.access$3(WorkbenchPage.java:4878) - at org.eclipse.ui.internal.WorkbenchPage$E4PartListener.partActivated(WorkbenchPage.java:219) - at org.eclipse.e4.ui.internal.workbench.PartServiceImpl$2.run(PartServiceImpl.java:249) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) - at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.firePartActivated(PartServiceImpl.java:246) - at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.activate(PartServiceImpl.java:770) - at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.activate(PartServiceImpl.java:679) - at org.eclipse.e4.ui.internal.workbench.swt.AbstractPartRenderer.activate(AbstractPartRenderer.java:97) - at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.lambda$0(ContributedPartRenderer.java:63) - at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89) - at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5745) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1427) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1453) - at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1436) - at org.eclipse.swt.widgets.Shell.setActiveControl(Shell.java:2129) - at org.eclipse.swt.widgets.Control.gtk_button_press_event(Control.java:3649) - at org.eclipse.swt.widgets.Control.gtk_button_press_event(Control.java:3532) - at org.eclipse.swt.widgets.Composite.gtk_button_press_event(Composite.java:829) - at org.eclipse.swt.widgets.Tree.gtk_button_press_event(Tree.java:2158) - at org.eclipse.swt.widgets.Widget.windowProc(Widget.java:2309) - at org.eclipse.swt.widgets.Control.windowProc(Control.java:6795) - at org.eclipse.swt.widgets.Tree.windowProc(Tree.java:4206) - at org.eclipse.swt.widgets.Display.windowProc(Display.java:5979) - at org.eclipse.swt.internal.gtk.GTK.gtk_main_do_event(Native Method) - at org.eclipse.swt.widgets.Display.eventProc(Display.java:1517) - at org.eclipse.swt.internal.gtk.OS.g_main_context_iteration(Native Method) - at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4505) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1157) - at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338) - at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046) - at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155) - at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:644) - at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338) - at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:551) - at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:153) - at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:150) - at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134) - at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401) - at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) - at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) - at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) - at java.base/java.lang.reflect.Method.invoke(Method.java:566) - at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:657) - at org.eclipse.equinox.launcher.Main.basicRun(Main.java:594) - at org.eclipse.equinox.launcher.Main.run(Main.java:1465) - at org.eclipse.equinox.launcher.Main.main(Main.java:1438) - -!ENTRY org.eclipse.sirius 2 0 2021-10-09 22:42:16.170 -!MESSAGE the following edge mapping source finder expression could not be correctly evaluated : feature:requests -!STACK 0 -org.eclipse.sirius.common.tools.api.interpreter.EvaluationException: Unknown feature name requests - at org.eclipse.sirius.common.tools.internal.interpreter.FeatureInterpreter.evaluate(FeatureInterpreter.java:98) - at org.eclipse.sirius.tools.internal.interpreter.SessionInterpreter.evaluate(SessionInterpreter.java:179) - at org.eclipse.sirius.common.tools.api.interpreter.IInterpreter.evaluateCollection(IInterpreter.java:148) - at org.eclipse.sirius.diagram.business.api.query.EdgeMappingQuery.evaluateSourceFinderExpression(EdgeMappingQuery.java:148) - at org.eclipse.sirius.diagram.business.internal.sync.DEdgeSynchronizerHelper.handleCandidatesFromSemanticTargets(DEdgeSynchronizerHelper.java:203) - at org.eclipse.sirius.diagram.business.internal.sync.DEdgeSynchronizerHelper.computeEdgeCandidatesWithDomain(DEdgeSynchronizerHelper.java:129) - at org.eclipse.sirius.diagram.business.internal.sync.DEdgeSynchronizerHelper.computeNowEdgeCandidates(DEdgeSynchronizerHelper.java:108) - at org.eclipse.sirius.diagram.business.internal.sync.DDiagramSynchronizer.computeEdgeCandidates(DDiagramSynchronizer.java:1004) - at org.eclipse.sirius.diagram.business.internal.sync.DDiagramSynchronizer.createEdgeCandidates(DDiagramSynchronizer.java:1272) - at org.eclipse.sirius.diagram.business.internal.sync.DDiagramSynchronizer.refreshEdgeMapping(DDiagramSynchronizer.java:1224) - at org.eclipse.sirius.diagram.business.internal.sync.DDiagramSynchronizer.processEdgeMappingsRefresh(DDiagramSynchronizer.java:481) - at org.eclipse.sirius.diagram.business.internal.sync.DDiagramSynchronizer.refreshOperation(DDiagramSynchronizer.java:396) - at org.eclipse.sirius.diagram.business.internal.sync.DDiagramSynchronizer.refresh(DDiagramSynchronizer.java:317) - at org.eclipse.sirius.diagram.business.internal.dialect.DiagramDialectServices.refresh(DiagramDialectServices.java:240) - at org.eclipse.sirius.business.internal.dialect.DialectManagerImpl.refresh(DialectManagerImpl.java:106) - at org.eclipse.sirius.business.api.dialect.command.RefreshRepresentationsCommand.doExecute(RefreshRepresentationsCommand.java:124) - at org.eclipse.emf.transaction.RecordingCommand.execute(RecordingCommand.java:135) - at org.eclipse.emf.common.command.CompoundCommand.execute(CompoundCommand.java:261) - at org.eclipse.emf.workspace.EMFCommandOperation.doExecute(EMFCommandOperation.java:119) - at org.eclipse.emf.workspace.AbstractEMFOperation.execute(AbstractEMFOperation.java:150) - at org.eclipse.core.commands.operations.DefaultOperationHistory.execute(DefaultOperationHistory.java:496) - at org.eclipse.emf.workspace.impl.WorkspaceCommandStackImpl.doExecute(WorkspaceCommandStackImpl.java:208) - at org.eclipse.emf.transaction.impl.AbstractTransactionalCommandStack.execute(AbstractTransactionalCommandStack.java:165) - at org.eclipse.emf.transaction.impl.AbstractTransactionalCommandStack.execute(AbstractTransactionalCommandStack.java:219) - at org.eclipse.sirius.tools.api.ui.RefreshEditorsPrecommitListener.notify(RefreshEditorsPrecommitListener.java:260) - at org.eclipse.sirius.business.internal.session.danalysis.DAnalysisSessionImpl.notifyListeners(DAnalysisSessionImpl.java:1253) - at org.eclipse.sirius.business.internal.session.danalysis.SessionResourcesSynchronizer.reloadResource(SessionResourcesSynchronizer.java:237) - at org.eclipse.sirius.business.internal.session.danalysis.SessionResourcesSynchronizer.processAction(SessionResourcesSynchronizer.java:174) - at org.eclipse.sirius.business.internal.session.danalysis.SessionResourcesSynchronizer.processActions(SessionResourcesSynchronizer.java:163) - at org.eclipse.sirius.business.internal.session.danalysis.SessionResourcesSynchronizer.statusesChanged(SessionResourcesSynchronizer.java:113) - at org.eclipse.sirius.common.tools.api.resource.ResourceSetSync.notifyClientsInBatch(ResourceSetSync.java:424) - at org.eclipse.sirius.common.tools.api.resource.ResourceSetSync.statusesChanged(ResourceSetSync.java:479) - at org.eclipse.sirius.common.tools.internal.resource.ResourceSyncClientNotifier.run(ResourceSyncClientNotifier.java:80) - at org.eclipse.sirius.common.tools.internal.resource.EditingSessionWorkspaceListener.resourceChanged(EditingSessionWorkspaceListener.java:63) - at org.eclipse.core.internal.events.NotificationManager$1.run(NotificationManager.java:305) - at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45) - at org.eclipse.core.internal.events.NotificationManager.notify(NotificationManager.java:295) - at org.eclipse.core.internal.events.NotificationManager.broadcastChanges(NotificationManager.java:158) - at org.eclipse.core.internal.resources.Workspace.broadcastPostChange(Workspace.java:380) - at org.eclipse.core.internal.resources.Workspace.endOperation(Workspace.java:1502) - at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2306) - at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2317) - at org.eclipse.ui.actions.WorkspaceModifyOperation.run(WorkspaceModifyOperation.java:131) - at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122) - -!ENTRY org.eclipse.sirius 2 0 2021-10-09 22:44:35.000 -!MESSAGE the following edge mapping source finder expression could not be correctly evaluated : feature:requests -!STACK 0 -org.eclipse.sirius.common.tools.api.interpreter.EvaluationException: Unknown feature name requests - at org.eclipse.sirius.common.tools.internal.interpreter.FeatureInterpreter.evaluate(FeatureInterpreter.java:98) - at org.eclipse.sirius.tools.internal.interpreter.SessionInterpreter.evaluate(SessionInterpreter.java:179) - at org.eclipse.sirius.common.tools.api.interpreter.IInterpreter.evaluateCollection(IInterpreter.java:148) - at org.eclipse.sirius.diagram.business.api.query.EdgeMappingQuery.evaluateSourceFinderExpression(EdgeMappingQuery.java:148) - at org.eclipse.sirius.diagram.business.internal.sync.DEdgeSynchronizerHelper.handleCandidatesFromSemanticTargets(DEdgeSynchronizerHelper.java:203) - at org.eclipse.sirius.diagram.business.internal.sync.DEdgeSynchronizerHelper.computeEdgeCandidatesWithDomain(DEdgeSynchronizerHelper.java:129) - at org.eclipse.sirius.diagram.business.internal.sync.DEdgeSynchronizerHelper.computeNowEdgeCandidates(DEdgeSynchronizerHelper.java:108) - at org.eclipse.sirius.diagram.business.internal.sync.DDiagramSynchronizer.computeEdgeCandidates(DDiagramSynchronizer.java:1004) - at org.eclipse.sirius.diagram.business.internal.sync.DDiagramSynchronizer.createEdgeCandidates(DDiagramSynchronizer.java:1272) - at org.eclipse.sirius.diagram.business.internal.sync.DDiagramSynchronizer.refreshEdgeMapping(DDiagramSynchronizer.java:1224) - at org.eclipse.sirius.diagram.business.internal.sync.DDiagramSynchronizer.processEdgeMappingsRefresh(DDiagramSynchronizer.java:481) - at org.eclipse.sirius.diagram.business.internal.sync.DDiagramSynchronizer.refreshOperation(DDiagramSynchronizer.java:396) - at org.eclipse.sirius.diagram.business.internal.sync.DDiagramSynchronizer.refresh(DDiagramSynchronizer.java:317) - at org.eclipse.sirius.diagram.business.internal.dialect.DiagramDialectServices.refresh(DiagramDialectServices.java:240) - at org.eclipse.sirius.business.internal.dialect.DialectManagerImpl.refresh(DialectManagerImpl.java:106) - at org.eclipse.sirius.business.api.dialect.command.RefreshRepresentationsCommand.doExecute(RefreshRepresentationsCommand.java:124) - at org.eclipse.emf.transaction.RecordingCommand.execute(RecordingCommand.java:135) - at org.eclipse.emf.workspace.EMFCommandOperation.doExecute(EMFCommandOperation.java:119) - at org.eclipse.emf.workspace.AbstractEMFOperation.execute(AbstractEMFOperation.java:150) - at org.eclipse.core.commands.operations.DefaultOperationHistory.execute(DefaultOperationHistory.java:496) - at org.eclipse.emf.workspace.impl.WorkspaceCommandStackImpl.doExecute(WorkspaceCommandStackImpl.java:208) - at org.eclipse.emf.transaction.impl.AbstractTransactionalCommandStack.execute(AbstractTransactionalCommandStack.java:165) - at org.eclipse.emf.transaction.impl.AbstractTransactionalCommandStack.execute(AbstractTransactionalCommandStack.java:219) - at org.eclipse.sirius.diagram.ui.tools.internal.editor.DDiagramEditorImpl.launchRefresh(DDiagramEditorImpl.java:1480) - at org.eclipse.sirius.diagram.ui.tools.internal.editor.DDiagramEditorImpl.access$2(DDiagramEditorImpl.java:1451) - at org.eclipse.sirius.diagram.ui.tools.internal.editor.DDiagramEditorImpl$1.run(DDiagramEditorImpl.java:796) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) - -!ENTRY org.eclipse.sirius 2 0 2021-10-09 23:01:57.687 -!MESSAGE the following edge mapping source finder expression could not be correctly evaluated : feature:requests -!STACK 0 -org.eclipse.sirius.common.tools.api.interpreter.EvaluationException: Unknown feature name requests - at org.eclipse.sirius.common.tools.internal.interpreter.FeatureInterpreter.evaluate(FeatureInterpreter.java:98) - at org.eclipse.sirius.tools.internal.interpreter.SessionInterpreter.evaluate(SessionInterpreter.java:179) - at org.eclipse.sirius.common.tools.api.interpreter.IInterpreter.evaluateCollection(IInterpreter.java:148) - at org.eclipse.sirius.diagram.business.api.query.EdgeMappingQuery.evaluateSourceFinderExpression(EdgeMappingQuery.java:148) - at org.eclipse.sirius.diagram.business.internal.sync.DEdgeSynchronizerHelper.handleCandidatesFromSemanticTargets(DEdgeSynchronizerHelper.java:203) - at org.eclipse.sirius.diagram.business.internal.sync.DEdgeSynchronizerHelper.computeEdgeCandidatesWithDomain(DEdgeSynchronizerHelper.java:129) - at org.eclipse.sirius.diagram.business.internal.sync.DEdgeSynchronizerHelper.computeNowEdgeCandidates(DEdgeSynchronizerHelper.java:108) - at org.eclipse.sirius.diagram.business.internal.sync.DDiagramSynchronizer.computeEdgeCandidates(DDiagramSynchronizer.java:1004) - at org.eclipse.sirius.diagram.business.internal.sync.DDiagramSynchronizer.createEdgeCandidates(DDiagramSynchronizer.java:1272) - at org.eclipse.sirius.diagram.business.internal.sync.DDiagramSynchronizer.refreshEdgeMapping(DDiagramSynchronizer.java:1224) - at org.eclipse.sirius.diagram.business.internal.sync.DDiagramSynchronizer.processEdgeMappingsRefresh(DDiagramSynchronizer.java:481) - at org.eclipse.sirius.diagram.business.internal.sync.DDiagramSynchronizer.refreshOperation(DDiagramSynchronizer.java:396) - at org.eclipse.sirius.diagram.business.internal.sync.DDiagramSynchronizer.refresh(DDiagramSynchronizer.java:317) - at org.eclipse.sirius.diagram.business.internal.dialect.DiagramDialectServices.refresh(DiagramDialectServices.java:240) - at org.eclipse.sirius.business.internal.dialect.DialectManagerImpl.refresh(DialectManagerImpl.java:106) - at org.eclipse.sirius.business.api.dialect.command.RefreshRepresentationsCommand.doExecute(RefreshRepresentationsCommand.java:124) - at org.eclipse.emf.transaction.RecordingCommand.execute(RecordingCommand.java:135) - at org.eclipse.emf.workspace.EMFCommandOperation.doExecute(EMFCommandOperation.java:119) - at org.eclipse.emf.workspace.AbstractEMFOperation.execute(AbstractEMFOperation.java:150) - at org.eclipse.core.commands.operations.DefaultOperationHistory.execute(DefaultOperationHistory.java:496) - at org.eclipse.emf.workspace.impl.WorkspaceCommandStackImpl.doExecute(WorkspaceCommandStackImpl.java:208) - at org.eclipse.emf.transaction.impl.AbstractTransactionalCommandStack.execute(AbstractTransactionalCommandStack.java:165) - at org.eclipse.emf.transaction.impl.AbstractTransactionalCommandStack.execute(AbstractTransactionalCommandStack.java:219) - at org.eclipse.sirius.diagram.ui.tools.internal.editor.DDiagramEditorImpl.launchRefresh(DDiagramEditorImpl.java:1480) - at org.eclipse.sirius.diagram.ui.tools.internal.editor.DDiagramEditorImpl.access$2(DDiagramEditorImpl.java:1451) - at org.eclipse.sirius.diagram.ui.tools.internal.editor.DDiagramEditorImpl$1.run(DDiagramEditorImpl.java:796) - at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) +java.lang.InterruptedException + at java.base/java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1343) + at java.base/java.util.concurrent.Semaphore.acquire(Semaphore.java:318) + at org.eclipse.net4j.util.lifecycle.Lifecycle.lock(Lifecycle.java:312) + at org.eclipse.net4j.util.lifecycle.Lifecycle.internalDeactivate(Lifecycle.java:118) + at org.eclipse.net4j.util.lifecycle.ShareableLifecycle.internalDeactivate(ShareableLifecycle.java:52) + at org.eclipse.net4j.util.lifecycle.Lifecycle.deactivate(Lifecycle.java:170) + at org.eclipse.net4j.util.lifecycle.LifecycleUtil.deactivate(LifecycleUtil.java:235) + at org.eclipse.net4j.util.lifecycle.LifecycleUtil.deactivate(LifecycleUtil.java:225) + at org.eclipse.emf.cdo.internal.explorer.bundle.OM.disposeManagers(OM.java:83) + at org.eclipse.emf.cdo.internal.explorer.bundle.OM$Activator.doStop(OM.java:136) + at org.eclipse.net4j.util.om.OSGiActivator.stop(OSGiActivator.java:92) + at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:871) + at org.eclipse.osgi.internal.framework.BundleContextImpl$3.run(BundleContextImpl.java:1) + at java.base/java.security.AccessController.doPrivileged(Native Method) + at org.eclipse.osgi.internal.framework.BundleContextImpl.stop(BundleContextImpl.java:863) + at org.eclipse.osgi.internal.framework.EquinoxBundle.stopWorker0(EquinoxBundle.java:1025) + at org.eclipse.osgi.internal.framework.EquinoxBundle$EquinoxModule.stopWorker(EquinoxBundle.java:370) + at org.eclipse.osgi.container.Module.doStop(Module.java:660) + at org.eclipse.osgi.container.Module.stop(Module.java:521) + at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.decStartLevel(ModuleContainer.java:1886) + at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1761) + at org.eclipse.osgi.container.SystemModule.stopWorker(SystemModule.java:275) + at org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule.stopWorker(EquinoxBundle.java:202) + at org.eclipse.osgi.container.Module.doStop(Module.java:660) + at org.eclipse.osgi.container.Module.stop(Module.java:521) + at org.eclipse.osgi.container.SystemModule.stop(SystemModule.java:207) + at org.eclipse.osgi.internal.framework.EquinoxBundle$SystemBundle$EquinoxSystemModule$1.run(EquinoxBundle.java:220) + at java.base/java.lang.Thread.run(Thread.java:829) diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/11/30028daf4c29001c101babefb5abd0b0 b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/11/30028daf4c29001c101babefb5abd0b0 new file mode 100644 index 0000000..dc4526a --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/11/30028daf4c29001c101babefb5abd0b0 @@ -0,0 +1,86 @@ +package simplepdl.manip; + +import java.io.IOException; +import java.util.Collections; +import java.util.Map; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; +import petrinet.PetrinetPackage; +import simplepdl.Process; +import simplepdl.WorkDefinition; +import simplepdl.WorkSequence; +import simplepdl.WorkSequenceType; +import simplepdl.SimplepdlFactory; +import simplepdl.SimplepdlPackage; + +public class SimplePDLCreator { + + public static void main(String[] args) { + + // Charger le package SimplePDL afin de l'enregistrer dans le registre d'Eclipse. + SimplepdlPackage packageInstance = SimplepdlPackage.eINSTANCE; + PetrinetPackage packageInstance2 = PetrinetPackage.eINSTANCE; + + // Enregistrer l'extension ".xmi" comme devant être ouverte à + // l'aide d'un objet "XMIResourceFactoryImpl" + Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE; + Map m = reg.getExtensionToFactoryMap(); + m.put("xmi", new XMIResourceFactoryImpl()); + + // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) + ResourceSet resSet = new ResourceSetImpl(); + + // Définir la ressource (le modèle) + URI modelURI = URI.createURI("models/SimplePDLCreator_Created_Process.xmi"); + Resource resource = resSet.createResource(modelURI); + + // La fabrique pour fabriquer les éléments de SimplePDL + SimplepdlFactory myFactory = SimplepdlFactory.eINSTANCE; + + // Créer un élément Process + Process process = myFactory.createProcess(); + process.setName("Mon premier processus"); + + // Ajouter le Process dans le modèle + resource.getContents().add(process); + + // Ajouter deux WorkDefinitions + WorkDefinition wd1 = myFactory.createWorkDefinition(); + wd1.setName("Ma première WorkDefinition, quelle émotion"); + + WorkDefinition wd2 = myFactory.createWorkDefinition(); + wd2.setName("Ma deuxième WorkDefinition, toujours autant d'émotion"); + + process.getProcessElements().add(wd1); + process.getProcessElements().add(wd2); + + // Ajouter une WorkSequence entre les deux WorkDefinitions + WorkSequence seq = myFactory.createWorkSequence(); + seq.setPredecessor(wd1); + seq.setSuccessor(wd2); + seq.setLinkType(WorkSequenceType.FINISH_TO_FINISH); + + process.getProcessElements().add(seq); + + // Ajouter une deuxième WorkSequence entre les deux WorkDefinitions + WorkSequence seq2 = myFactory.createWorkSequence(); + seq2.setPredecessor(wd1); + seq2.setSuccessor(wd2); + seq2.setLinkType(WorkSequenceType.START_TO_START); + + process.getProcessElements().add(seq2); + + + // Sauver la ressource + try { + resource.save(Collections.EMPTY_MAP); + } catch (IOException e) { + e.printStackTrace(); + } + } + +} diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/1e/f0a969be4929001c101babefb5abd0b0 b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/1e/f0a969be4929001c101babefb5abd0b0 new file mode 100644 index 0000000..7e5eaf8 --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/1e/f0a969be4929001c101babefb5abd0b0 @@ -0,0 +1,129 @@ +package simplepdl.manip; + +import java.io.IOException; +import java.util.Collections; +import java.util.Map; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; + +import petrinet.PetrinetPackage; +import petrinet.Place; +import petrinet.Transition; +import petrinet.Arc; +import petrinet.Network; +import petrinet.PetrinetFactory; +import simplepdl.Process; +import simplepdl.WorkDefinition; +import simplepdl.WorkSequence; +import simplepdl.WorkSequenceType; +import simplepdl.SimplepdlFactory; +import simplepdl.SimplepdlPackage; + +public class simplepdl2petrinet { + + public static void main(String[] args) { + + // Charger les package SimplePDL et Petrinet afin de les enregistrer dans le registre d'Eclipse. + SimplepdlPackage packageInstance = SimplepdlPackage.eINSTANCE; + PetrinetPackage packageInstance2 = PetrinetPackage.eINSTANCE; + + // Enregistrer l'extension ".xmi" comme devant être ouverte à + // l'aide d'un objet "XMIResourceFactoryImpl" + Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE; + Map m = reg.getExtensionToFactoryMap(); + m.put("xmi", new XMIResourceFactoryImpl()); + + // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) + ResourceSet resSet = new ResourceSetImpl(); + + // Charger la ressource (notre modèle) + URI modelURI = URI.createURI("pdl-sujet.xmi"); + Resource resource = resSet.getResource(modelURI, true); + + // Récupérer le premier élément du modèle (élément racine) + Process process = (Process) resource.getContents().get(0); + + // La fabrique pour fabriquer les éléments de PetriNET + PetrinetFactory myFactory = PetrinetFactory.eINSTANCE; + + // Créer un élément Network + Network network = myFactory.createNetwork(); + network.setName(process.getName()); + + // Conversion des WorkDefinition en Node et Transition + for (Object o : process.getProcessElements()) { + if (o instanceof WorkDefinition) { + WorkDefinition wd = (WorkDefinition) o; + String name = wd.getName(); + + Place idle = myFactory.createPlace(); + idle.setName(name + "_idle"); + idle.setTokens(1); + Place running = myFactory.createPlace(); + running.setName(name + "_running"); + running.setTokens(1); + Place finished = myFactory.createPlace(); + finished.setName(name + "_finished"); + finished.setTokens(1); + + Arc pause2start = myFactory.createArc(); + pause2start.setTarget(idle); + pause2start.setOutgoing(false); + pause2start.setWeight(1); + Arc start2running = myFactory.createArc(); + start2running.setTarget(running); + start2running.setOutgoing(true); + start2running.setWeight(1); + Transition start = myFactory.createTransition(); + start.setName(name + "_start"); + start.getArcs().add(pause2start) + start.getArcs().add(start2running); + + Transition finish = myFactory.createTransition(); + finish.setName(name + "_finish"); + } + } +// +// // Ajouter le Process dans le modèle +// resource.getContents().add(process); +// +// // Ajouter deux WorkDefinitions +// WorkDefinition wd1 = myFactory.createWorkDefinition(); +// wd1.setName("Ma première WorkDefinition, quelle émotion"); +// +// WorkDefinition wd2 = myFactory.createWorkDefinition(); +// wd2.setName("Ma deuxième WorkDefinition, toujours autant d'émotion"); +// +// process.getProcessElements().add(wd1); +// process.getProcessElements().add(wd2); +// +// // Ajouter une WorkSequence entre les deux WorkDefinitions +// WorkSequence seq = myFactory.createWorkSequence(); +// seq.setPredecessor(wd1); +// seq.setSuccessor(wd2); +// seq.setLinkType(WorkSequenceType.FINISH_TO_FINISH); +// +// process.getProcessElements().add(seq); +// +// // Ajouter une deuxième WorkSequence entre les deux WorkDefinitions +// WorkSequence seq2 = myFactory.createWorkSequence(); +// seq2.setPredecessor(wd1); +// seq2.setSuccessor(wd2); +// seq2.setLinkType(WorkSequenceType.START_TO_START); +// +// process.getProcessElements().add(seq2); + + + // Sauver la ressource + try { + resource.save(Collections.EMPTY_MAP); + } catch (IOException e) { + e.printStackTrace(); + } + } + +} diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/2a/80996e0a4729001c101babefb5abd0b0 b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/2a/80996e0a4729001c101babefb5abd0b0 new file mode 100644 index 0000000..9149c78 --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/2a/80996e0a4729001c101babefb5abd0b0 @@ -0,0 +1,88 @@ +package simplepdl.manip; + +import java.io.IOException; +import java.util.Collections; +import java.util.Map; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; + +import petrinet.PetrinetPackage; +import petrinet.PetrinetFactory; +import simplepdl.Process; +import simplepdl.WorkDefinition; +import simplepdl.WorkSequence; +import simplepdl.WorkSequenceType; +import simplepdl.SimplepdlFactory; +import simplepdl.SimplepdlPackage; + +public class simplepdl2petrinet { + + public static void main(String[] args) { + + // Charger le package SimplePDL afin de l'enregistrer dans le registre d'Eclipse. + SimplepdlPackage packageInstance = SimplepdlPackage.eINSTANCE; + PetrinetPackage packageInstance2 = PetrinetPackage.eINSTANCE; + + // Enregistrer l'extension ".xmi" comme devant être ouverte à + // l'aide d'un objet "XMIResourceFactoryImpl" + Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE; + Map m = reg.getExtensionToFactoryMap(); + m.put("xmi", new XMIResourceFactoryImpl()); + + // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) + ResourceSet resSet = new ResourceSetImpl(); + + // Définir la ressource (le modèle) + URI modelURI = URI.createURI("models/SimplePDLCreator_Created_Process.xmi"); + Resource resource = resSet.createResource(modelURI); + + // La fabrique pour fabriquer les éléments de SimplePDL + SimplepdlFactory myFactory = SimplepdlFactory.eINSTANCE; + + // Créer un élément Process + Process process = myFactory.createProcess(); + process.setName("Mon premier processus"); + + // Ajouter le Process dans le modèle + resource.getContents().add(process); + + // Ajouter deux WorkDefinitions + WorkDefinition wd1 = myFactory.createWorkDefinition(); + wd1.setName("Ma première WorkDefinition, quelle émotion"); + + WorkDefinition wd2 = myFactory.createWorkDefinition(); + wd2.setName("Ma deuxième WorkDefinition, toujours autant d'émotion"); + + process.getProcessElements().add(wd1); + process.getProcessElements().add(wd2); + + // Ajouter une WorkSequence entre les deux WorkDefinitions + WorkSequence seq = myFactory.createWorkSequence(); + seq.setPredecessor(wd1); + seq.setSuccessor(wd2); + seq.setLinkType(WorkSequenceType.FINISH_TO_FINISH); + + process.getProcessElements().add(seq); + + // Ajouter une deuxième WorkSequence entre les deux WorkDefinitions + WorkSequence seq2 = myFactory.createWorkSequence(); + seq2.setPredecessor(wd1); + seq2.setSuccessor(wd2); + seq2.setLinkType(WorkSequenceType.START_TO_START); + + process.getProcessElements().add(seq2); + + + // Sauver la ressource + try { + resource.save(Collections.EMPTY_MAP); + } catch (IOException e) { + e.printStackTrace(); + } + } + +} diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/2f/1026742d4d29001c101babefb5abd0b0 b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/2f/1026742d4d29001c101babefb5abd0b0 new file mode 100644 index 0000000..25a7a08 --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/2f/1026742d4d29001c101babefb5abd0b0 @@ -0,0 +1,125 @@ +package simplepdl.manip; + +import java.io.IOException; +import java.util.Collections; +import java.util.Map; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; + +import petrinet.PetrinetPackage; +import petrinet.Place; +import petrinet.Transition; +import petrinet.Arc; +import petrinet.Network; +import petrinet.PetrinetFactory; +import simplepdl.Process; +import simplepdl.WorkDefinition; +import simplepdl.WorkSequence; +import simplepdl.WorkSequenceType; +import simplepdl.SimplepdlFactory; +import simplepdl.SimplepdlPackage; + +public class simplepdl2petrinet { + + public static void main(String[] args) { + + // Charger les package SimplePDL et Petrinet afin de les enregistrer dans le registre d'Eclipse. + SimplepdlPackage packageInstance = SimplepdlPackage.eINSTANCE; + PetrinetPackage packageInstance2 = PetrinetPackage.eINSTANCE; + + // Enregistrer l'extension ".xmi" comme devant être ouverte à + // l'aide d'un objet "XMIResourceFactoryImpl" + Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE; + Map m = reg.getExtensionToFactoryMap(); + m.put("xmi", new XMIResourceFactoryImpl()); + + // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) + ResourceSet resGet = new ResourceSetImpl(); + + // Charger la ressource (notre modèle) + URI modelURI = URI.createURI("pdl-sujet.xmi"); + Resource resource = resGet.getResource(modelURI, true); + + // Récupérer le premier élément du modèle (élément racine) + Process process = (Process) resource.getContents().get(0); + + // La fabrique pour fabriquer les éléments de PetriNET + PetrinetFactory myFactory = PetrinetFactory.eINSTANCE; + + // Créer un élément Network + Network network = myFactory.createNetwork(); + network.setName(process.getName()); + + // Conversion des WorkDefinition en Node et Transition + for (Object o : process.getProcessElements()) { + if (o instanceof WorkDefinition) { + WorkDefinition wd = (WorkDefinition) o; + String name = wd.getName(); + System.out.println(" - " + name); + + Place idle = myFactory.createPlace(); + idle.setName(name + "_idle"); + idle.setTokens(1); + Place running = myFactory.createPlace(); + running.setName(name + "_running"); + running.setTokens(1); + Place finished = myFactory.createPlace(); + finished.setName(name + "_finished"); + finished.setTokens(1); + + Arc pause2start = myFactory.createArc(); + pause2start.setTarget(idle); + pause2start.setOutgoing(false); + pause2start.setWeight(1); + Arc start2running = myFactory.createArc(); + start2running.setTarget(running); + start2running.setOutgoing(true); + start2running.setWeight(1); + Transition start = myFactory.createTransition(); + start.setName(name + "_start"); + start.getArcs().add(pause2start); + start.getArcs().add(start2running); + + Arc running2finish = myFactory.createArc(); + running2finish.setTarget(running); + running2finish.setOutgoing(false); + running2finish.setWeight(1); + Arc finish2finished = myFactory.createArc(); + finish2finished.setTarget(finished); + finish2finished.setOutgoing(true); + finish2finished.setWeight(1); + Transition finish = myFactory.createTransition(); + finish.setName(name + "_finish"); + finish.getArcs().add(running2finish); + finish.getArcs().add(finish2finished); + + System.out.println(" + " + idle.getName()); + + network.getNodes().add(idle); + network.getNodes().add(start); + network.getNodes().add(running); + network.getNodes().add(finish); + network.getNodes().add(finished); + } + } + + // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) + ResourceSet resSet = new ResourceSetImpl(); + + // Créer le nouveau xmi (modèle convertit) + URI convURI = URI.createURI("test.xmi"); + Resource conv = resSet.createResource(convURI); + + // Sauver la ressource + try { + conv.save(Collections.EMPTY_MAP); + } catch (IOException e) { + e.printStackTrace(); + } + } + +} diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/2f/305600fd4629001c101babefb5abd0b0 b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/2f/305600fd4629001c101babefb5abd0b0 new file mode 100644 index 0000000..26fe106 --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/2f/305600fd4629001c101babefb5abd0b0 @@ -0,0 +1,87 @@ +package simplepdl.manip; + +import java.io.IOException; +import java.util.Collections; +import java.util.Map; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; + +import petrinet.PetrinetPackage; +import simplepdl.Process; +import simplepdl.WorkDefinition; +import simplepdl.WorkSequence; +import simplepdl.WorkSequenceType; +import simplepdl.SimplepdlFactory; +import simplepdl.SimplepdlPackage; + +public class simplepdl2petrinet { + + public static void main(String[] args) { + + // Charger le package SimplePDL afin de l'enregistrer dans le registre d'Eclipse. + SimplepdlPackage packageInstance = SimplepdlPackage.eINSTANCE; + PetrinetPackage packageInstance2 = PetrinetPackage.eINSTANCE; + + // Enregistrer l'extension ".xmi" comme devant être ouverte à + // l'aide d'un objet "XMIResourceFactoryImpl" + Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE; + Map m = reg.getExtensionToFactoryMap(); + m.put("xmi", new XMIResourceFactoryImpl()); + + // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) + ResourceSet resSet = new ResourceSetImpl(); + + // Définir la ressource (le modèle) + URI modelURI = URI.createURI("models/SimplePDLCreator_Created_Process.xmi"); + Resource resource = resSet.createResource(modelURI); + + // La fabrique pour fabriquer les éléments de SimplePDL + SimplepdlFactory myFactory = SimplepdlFactory.eINSTANCE; + + // Créer un élément Process + Process process = myFactory.createProcess(); + process.setName("Mon premier processus"); + + // Ajouter le Process dans le modèle + resource.getContents().add(process); + + // Ajouter deux WorkDefinitions + WorkDefinition wd1 = myFactory.createWorkDefinition(); + wd1.setName("Ma première WorkDefinition, quelle émotion"); + + WorkDefinition wd2 = myFactory.createWorkDefinition(); + wd2.setName("Ma deuxième WorkDefinition, toujours autant d'émotion"); + + process.getProcessElements().add(wd1); + process.getProcessElements().add(wd2); + + // Ajouter une WorkSequence entre les deux WorkDefinitions + WorkSequence seq = myFactory.createWorkSequence(); + seq.setPredecessor(wd1); + seq.setSuccessor(wd2); + seq.setLinkType(WorkSequenceType.FINISH_TO_FINISH); + + process.getProcessElements().add(seq); + + // Ajouter une deuxième WorkSequence entre les deux WorkDefinitions + WorkSequence seq2 = myFactory.createWorkSequence(); + seq2.setPredecessor(wd1); + seq2.setSuccessor(wd2); + seq2.setLinkType(WorkSequenceType.START_TO_START); + + process.getProcessElements().add(seq2); + + + // Sauver la ressource + try { + resource.save(Collections.EMPTY_MAP); + } catch (IOException e) { + e.printStackTrace(); + } + } + +} diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/3/f0ca83674729001c101babefb5abd0b0 b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/3/f0ca83674729001c101babefb5abd0b0 new file mode 100644 index 0000000..d3d0413 --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/3/f0ca83674729001c101babefb5abd0b0 @@ -0,0 +1,88 @@ +package simplepdl.manip; + +import java.io.IOException; +import java.util.Collections; +import java.util.Map; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; + +import petrinet.PetrinetPackage; +import petrinet.PetrinetFactory; +import simplepdl.Process; +import simplepdl.WorkDefinition; +import simplepdl.WorkSequence; +import simplepdl.WorkSequenceType; +import simplepdl.SimplepdlFactory; +import simplepdl.SimplepdlPackage; + +public class simplepdl2petrinet { + + public static void main(String[] args) { + + // Charger les package SimplePDL et Petrinet afin de les enregistrer dans le registre d'Eclipse. + SimplepdlPackage packageInstance = SimplepdlPackage.eINSTANCE; + PetrinetPackage packageInstance2 = PetrinetPackage.eINSTANCE; + + // Enregistrer l'extension ".xmi" comme devant être ouverte à + // l'aide d'un objet "XMIResourceFactoryImpl" + Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE; + Map m = reg.getExtensionToFactoryMap(); + m.put("xmi", new XMIResourceFactoryImpl()); + + // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) + ResourceSet resSet = new ResourceSetImpl(); + + // Définir la ressource (le modèle) + URI modelURI = URI.createURI("models/SimplePDL2PetriNET.xmi"); + Resource resource = resSet.createResource(modelURI); + + // La fabrique pour fabriquer les éléments de SimplePDL + SimplepdlFactory myFactory = SimplepdlFactory.eINSTANCE; + + // Créer un élément Process + Process process = myFactory.createProcess(); + process.setName("Mon premier processus"); + + // Ajouter le Process dans le modèle + resource.getContents().add(process); + + // Ajouter deux WorkDefinitions + WorkDefinition wd1 = myFactory.createWorkDefinition(); + wd1.setName("Ma première WorkDefinition, quelle émotion"); + + WorkDefinition wd2 = myFactory.createWorkDefinition(); + wd2.setName("Ma deuxième WorkDefinition, toujours autant d'émotion"); + + process.getProcessElements().add(wd1); + process.getProcessElements().add(wd2); + + // Ajouter une WorkSequence entre les deux WorkDefinitions + WorkSequence seq = myFactory.createWorkSequence(); + seq.setPredecessor(wd1); + seq.setSuccessor(wd2); + seq.setLinkType(WorkSequenceType.FINISH_TO_FINISH); + + process.getProcessElements().add(seq); + + // Ajouter une deuxième WorkSequence entre les deux WorkDefinitions + WorkSequence seq2 = myFactory.createWorkSequence(); + seq2.setPredecessor(wd1); + seq2.setSuccessor(wd2); + seq2.setLinkType(WorkSequenceType.START_TO_START); + + process.getProcessElements().add(seq2); + + + // Sauver la ressource + try { + resource.save(Collections.EMPTY_MAP); + } catch (IOException e) { + e.printStackTrace(); + } + } + +} diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/4b/20db4a4f4929001c101babefb5abd0b0 b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/4b/20db4a4f4929001c101babefb5abd0b0 new file mode 100644 index 0000000..c0ac3c0 --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/4b/20db4a4f4929001c101babefb5abd0b0 @@ -0,0 +1,104 @@ +package simplepdl.manip; + +import java.io.IOException; +import java.util.Collections; +import java.util.Map; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; + +import petrinet.PetrinetPackage; +import petrinet.Place; +import petrinet.Network; +import petrinet.PetrinetFactory; +import simplepdl.Process; +import simplepdl.WorkDefinition; +import simplepdl.WorkSequence; +import simplepdl.WorkSequenceType; +import simplepdl.SimplepdlFactory; +import simplepdl.SimplepdlPackage; + +public class simplepdl2petrinet { + + public static void main(String[] args) { + + // Charger les package SimplePDL et Petrinet afin de les enregistrer dans le registre d'Eclipse. + SimplepdlPackage packageInstance = SimplepdlPackage.eINSTANCE; + PetrinetPackage packageInstance2 = PetrinetPackage.eINSTANCE; + + // Enregistrer l'extension ".xmi" comme devant être ouverte à + // l'aide d'un objet "XMIResourceFactoryImpl" + Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE; + Map m = reg.getExtensionToFactoryMap(); + m.put("xmi", new XMIResourceFactoryImpl()); + + // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) + ResourceSet resSet = new ResourceSetImpl(); + + // Charger la ressource (notre modèle) + URI modelURI = URI.createURI("pdl-sujet.xmi"); + Resource resource = resSet.getResource(modelURI, true); + + // Récupérer le premier élément du modèle (élément racine) + Process process = (Process) resource.getContents().get(0); + + // La fabrique pour fabriquer les éléments de PetriNET + PetrinetFactory myFactory = PetrinetFactory.eINSTANCE; + + // Créer un élément Network + Network network = myFactory.createNetwork(); + network.setName(process.getName()); + + // Conversion des WorkDefinition en Node et Transition + for (Object o : process.getProcessElements()) { + if (o instanceof WorkDefinition) { + WorkDefinition wd = (WorkDefinition) o; + String name = wd.getName(); + + Place idle = myFactory.createPlace(); + idle.setName(name + "_idle"); + } + } +// +// // Ajouter le Process dans le modèle +// resource.getContents().add(process); +// +// // Ajouter deux WorkDefinitions +// WorkDefinition wd1 = myFactory.createWorkDefinition(); +// wd1.setName("Ma première WorkDefinition, quelle émotion"); +// +// WorkDefinition wd2 = myFactory.createWorkDefinition(); +// wd2.setName("Ma deuxième WorkDefinition, toujours autant d'émotion"); +// +// process.getProcessElements().add(wd1); +// process.getProcessElements().add(wd2); +// +// // Ajouter une WorkSequence entre les deux WorkDefinitions +// WorkSequence seq = myFactory.createWorkSequence(); +// seq.setPredecessor(wd1); +// seq.setSuccessor(wd2); +// seq.setLinkType(WorkSequenceType.FINISH_TO_FINISH); +// +// process.getProcessElements().add(seq); +// +// // Ajouter une deuxième WorkSequence entre les deux WorkDefinitions +// WorkSequence seq2 = myFactory.createWorkSequence(); +// seq2.setPredecessor(wd1); +// seq2.setSuccessor(wd2); +// seq2.setLinkType(WorkSequenceType.START_TO_START); +// +// process.getProcessElements().add(seq2); + + + // Sauver la ressource + try { + resource.save(Collections.EMPTY_MAP); + } catch (IOException e) { + e.printStackTrace(); + } + } + +} diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/58/a041dcef4e29001c15a7c9c2336a037e b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/58/a041dcef4e29001c15a7c9c2336a037e new file mode 100644 index 0000000..3435f09 --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/58/a041dcef4e29001c15a7c9c2336a037e @@ -0,0 +1,22 @@ + + + + + + + + + diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/5b/d0cf346f4f29001c15a7c9c2336a037e b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/5b/d0cf346f4f29001c15a7c9c2336a037e new file mode 100644 index 0000000..30d68ee --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/5b/d0cf346f4f29001c15a7c9c2336a037e @@ -0,0 +1,124 @@ +package simplepdl.manip; + +import java.io.IOException; +import java.util.Collections; +import java.util.Map; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; + +import petrinet.PetrinetPackage; +import petrinet.Place; +import petrinet.Transition; +import petrinet.Arc; +import petrinet.Network; +import petrinet.PetrinetFactory; +import simplepdl.Process; +import simplepdl.WorkDefinition; +import simplepdl.WorkSequence; +import simplepdl.WorkSequenceType; +import simplepdl.SimplepdlPackage; + +public class simplepdl2petrinet { + + public static void main(String[] args) { + + // Charger les package SimplePDL et Petrinet afin de les enregistrer dans le registre d'Eclipse. + SimplepdlPackage packageInstance = SimplepdlPackage.eINSTANCE; + PetrinetPackage packageInstance2 = PetrinetPackage.eINSTANCE; + + // Enregistrer l'extension ".xmi" comme devant être ouverte à + // l'aide d'un objet "XMIResourceFactoryImpl" + Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE; + Map m = reg.getExtensionToFactoryMap(); + m.put("xmi", new XMIResourceFactoryImpl()); + + // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) + ResourceSet resSet = new ResourceSetImpl(); + + // Charger la ressource (notre modèle) + URI modelURI = URI.createURI("pdl-sujet.xmi"); + Resource resource = resSet.getResource(modelURI, true); + + // Récupérer le premier élément du modèle (élément racine) + Process process = (Process) resource.getContents().get(0); + + // La fabrique pour fabriquer les éléments de PetriNET + PetrinetFactory myFactory = PetrinetFactory.eINSTANCE; + + // Créer un élément Network + Network network = myFactory.createNetwork(); + network.setName(process.getName()); + + // Conversion des WorkDefinition en Node et Transition + for (Object o : process.getProcessElements()) { + if (o instanceof WorkDefinition) { + WorkDefinition wd = (WorkDefinition) o; + String name = wd.getName(); + System.out.println(" - " + name); + + Place idle = myFactory.createPlace(); + idle.setName(name + "_idle"); + idle.setTokens(1); + Place running = myFactory.createPlace(); + running.setName(name + "_running"); + running.setTokens(1); + Place finished = myFactory.createPlace(); + finished.setName(name + "_finished"); + finished.setTokens(1); + + Arc pause2start = myFactory.createArc(); + pause2start.setTarget(idle); + pause2start.setOutgoing(false); + pause2start.setWeight(1); + Arc start2running = myFactory.createArc(); + start2running.setTarget(running); + start2running.setOutgoing(true); + start2running.setWeight(1); + Transition start = myFactory.createTransition(); + start.setName(name + "_start"); + start.getArcs().add(pause2start); + start.getArcs().add(start2running); + + Arc running2finish = myFactory.createArc(); + running2finish.setTarget(running); + running2finish.setOutgoing(false); + running2finish.setWeight(1); + Arc finish2finished = myFactory.createArc(); + finish2finished.setTarget(finished); + finish2finished.setOutgoing(true); + finish2finished.setWeight(1); + Transition finish = myFactory.createTransition(); + finish.setName(name + "_finish"); + finish.getArcs().add(running2finish); + finish.getArcs().add(finish2finished); + + System.out.println(" + " + idle.getName() + " (" + idle.getTokens() + ")"); + + network.getNodes().add(idle); + network.getNodes().add(start); + network.getNodes().add(running); + network.getNodes().add(finish); + network.getNodes().add(finished); + } + } + + // Créer le nouveau xmi (modèle convertit) + URI convURI = URI.createURI("test.xmi"); + Resource conv = resSet.createResource(convURI); + + // Ajouter le Network dans le nouveau modèle + conv.getContents().add(network); + + // Sauver la ressource + try { + conv.save(Collections.EMPTY_MAP); + } catch (IOException e) { + e.printStackTrace(); + } + } + +} diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/6a/d01b9a044a29001c101babefb5abd0b0 b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/6a/d01b9a044a29001c101babefb5abd0b0 new file mode 100644 index 0000000..5a67a85 --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/6a/d01b9a044a29001c101babefb5abd0b0 @@ -0,0 +1,145 @@ +package simplepdl.manip; + +import java.io.IOException; +import java.util.Collections; +import java.util.Map; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; + +import petrinet.PetrinetPackage; +import petrinet.Place; +import petrinet.Transition; +import petrinet.Arc; +import petrinet.Network; +import petrinet.PetrinetFactory; +import simplepdl.Process; +import simplepdl.WorkDefinition; +import simplepdl.WorkSequence; +import simplepdl.WorkSequenceType; +import simplepdl.SimplepdlFactory; +import simplepdl.SimplepdlPackage; + +public class simplepdl2petrinet { + + public static void main(String[] args) { + + // Charger les package SimplePDL et Petrinet afin de les enregistrer dans le registre d'Eclipse. + SimplepdlPackage packageInstance = SimplepdlPackage.eINSTANCE; + PetrinetPackage packageInstance2 = PetrinetPackage.eINSTANCE; + + // Enregistrer l'extension ".xmi" comme devant être ouverte à + // l'aide d'un objet "XMIResourceFactoryImpl" + Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE; + Map m = reg.getExtensionToFactoryMap(); + m.put("xmi", new XMIResourceFactoryImpl()); + + // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) + ResourceSet resSet = new ResourceSetImpl(); + + // Charger la ressource (notre modèle) + URI modelURI = URI.createURI("pdl-sujet.xmi"); + Resource resource = resSet.getResource(modelURI, true); + + // Récupérer le premier élément du modèle (élément racine) + Process process = (Process) resource.getContents().get(0); + + // La fabrique pour fabriquer les éléments de PetriNET + PetrinetFactory myFactory = PetrinetFactory.eINSTANCE; + + // Créer un élément Network + Network network = myFactory.createNetwork(); + network.setName(process.getName()); + + // Conversion des WorkDefinition en Node et Transition + for (Object o : process.getProcessElements()) { + if (o instanceof WorkDefinition) { + WorkDefinition wd = (WorkDefinition) o; + String name = wd.getName(); + + Place idle = myFactory.createPlace(); + idle.setName(name + "_idle"); + idle.setTokens(1); + Place running = myFactory.createPlace(); + running.setName(name + "_running"); + running.setTokens(1); + Place finished = myFactory.createPlace(); + finished.setName(name + "_finished"); + finished.setTokens(1); + + Arc pause2start = myFactory.createArc(); + pause2start.setTarget(idle); + pause2start.setOutgoing(false); + pause2start.setWeight(1); + Arc start2running = myFactory.createArc(); + start2running.setTarget(running); + start2running.setOutgoing(true); + start2running.setWeight(1); + Transition start = myFactory.createTransition(); + start.setName(name + "_start"); + start.getArcs().add(pause2start); + start.getArcs().add(start2running); + + Arc running2finish = myFactory.createArc(); + running2finish.setTarget(running); + running2finish.setOutgoing(false); + running2finish.setWeight(1); + Arc finish2finished = myFactory.createArc(); + finish2finished.setTarget(finished); + finish2finished.setOutgoing(true); + finish2finished.setWeight(1); + Transition finish = myFactory.createTransition(); + finish.setName(name + "_finish"); + finish.getArcs().add(running2finish); + finish.getArcs().add(finish2finished); + + network.getNodes().add(idle); + network.getNodes().add(start); + network.getNodes().add(running); + network.getNodes().add(finish); + network.getNodes().add(finished); + } + } +// +// // Ajouter le Process dans le modèle +// resource.getContents().add(process); +// +// // Ajouter deux WorkDefinitions +// WorkDefinition wd1 = myFactory.createWorkDefinition(); +// wd1.setName("Ma première WorkDefinition, quelle émotion"); +// +// WorkDefinition wd2 = myFactory.createWorkDefinition(); +// wd2.setName("Ma deuxième WorkDefinition, toujours autant d'émotion"); +// +// process.getProcessElements().add(wd1); +// process.getProcessElements().add(wd2); +// +// // Ajouter une WorkSequence entre les deux WorkDefinitions +// WorkSequence seq = myFactory.createWorkSequence(); +// seq.setPredecessor(wd1); +// seq.setSuccessor(wd2); +// seq.setLinkType(WorkSequenceType.FINISH_TO_FINISH); +// +// process.getProcessElements().add(seq); +// +// // Ajouter une deuxième WorkSequence entre les deux WorkDefinitions +// WorkSequence seq2 = myFactory.createWorkSequence(); +// seq2.setPredecessor(wd1); +// seq2.setSuccessor(wd2); +// seq2.setLinkType(WorkSequenceType.START_TO_START); +// +// process.getProcessElements().add(seq2); + + + // Sauver la ressource + try { + resource.save(Collections.EMPTY_MAP); + } catch (IOException e) { + e.printStackTrace(); + } + } + +} diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/6f/a0ab9def4629001c101babefb5abd0b0 b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/6f/a0ab9def4629001c101babefb5abd0b0 new file mode 100644 index 0000000..1e15a1b --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/6f/a0ab9def4629001c101babefb5abd0b0 @@ -0,0 +1,86 @@ +package simplepdl.manip; + +import java.io.IOException; +import java.util.Collections; +import java.util.Map; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; + +import simplepdl.Process; +import simplepdl.WorkDefinition; +import simplepdl.WorkSequence; +import simplepdl.WorkSequenceType; +import simplepdl.SimplepdlFactory; +import simplepdl.SimplepdlPackage; + +public class simplepdl2petrinet { + + public static void main(String[] args) { + + // Charger le package SimplePDL afin de l'enregistrer dans le registre d'Eclipse. + SimplepdlPackage packageInstance = SimplepdlPackage.eINSTANCE; + PetrinetPackage packageInstance2 = PetrinetPackage.eINSTANCE; + + // Enregistrer l'extension ".xmi" comme devant être ouverte à + // l'aide d'un objet "XMIResourceFactoryImpl" + Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE; + Map m = reg.getExtensionToFactoryMap(); + m.put("xmi", new XMIResourceFactoryImpl()); + + // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) + ResourceSet resSet = new ResourceSetImpl(); + + // Définir la ressource (le modèle) + URI modelURI = URI.createURI("models/SimplePDLCreator_Created_Process.xmi"); + Resource resource = resSet.createResource(modelURI); + + // La fabrique pour fabriquer les éléments de SimplePDL + SimplepdlFactory myFactory = SimplepdlFactory.eINSTANCE; + + // Créer un élément Process + Process process = myFactory.createProcess(); + process.setName("Mon premier processus"); + + // Ajouter le Process dans le modèle + resource.getContents().add(process); + + // Ajouter deux WorkDefinitions + WorkDefinition wd1 = myFactory.createWorkDefinition(); + wd1.setName("Ma première WorkDefinition, quelle émotion"); + + WorkDefinition wd2 = myFactory.createWorkDefinition(); + wd2.setName("Ma deuxième WorkDefinition, toujours autant d'émotion"); + + process.getProcessElements().add(wd1); + process.getProcessElements().add(wd2); + + // Ajouter une WorkSequence entre les deux WorkDefinitions + WorkSequence seq = myFactory.createWorkSequence(); + seq.setPredecessor(wd1); + seq.setSuccessor(wd2); + seq.setLinkType(WorkSequenceType.FINISH_TO_FINISH); + + process.getProcessElements().add(seq); + + // Ajouter une deuxième WorkSequence entre les deux WorkDefinitions + WorkSequence seq2 = myFactory.createWorkSequence(); + seq2.setPredecessor(wd1); + seq2.setSuccessor(wd2); + seq2.setLinkType(WorkSequenceType.START_TO_START); + + process.getProcessElements().add(seq2); + + + // Sauver la ressource + try { + resource.save(Collections.EMPTY_MAP); + } catch (IOException e) { + e.printStackTrace(); + } + } + +} diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/6f/d0730cc44729001c101babefb5abd0b0 b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/6f/d0730cc44729001c101babefb5abd0b0 new file mode 100644 index 0000000..8fcc2d7 --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/6f/d0730cc44729001c101babefb5abd0b0 @@ -0,0 +1,88 @@ +package simplepdl.manip; + +import java.io.IOException; +import java.util.Collections; +import java.util.Map; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; + +import petrinet.PetrinetPackage; +import petrinet.PetrinetFactory; +import simplepdl.Process; +import simplepdl.WorkDefinition; +import simplepdl.WorkSequence; +import simplepdl.WorkSequenceType; +import simplepdl.SimplepdlFactory; +import simplepdl.SimplepdlPackage; + +public class simplepdl2petrinet { + + public static void main(String[] args) { + + // Charger les package SimplePDL et Petrinet afin de les enregistrer dans le registre d'Eclipse. + SimplepdlPackage packageInstance = SimplepdlPackage.eINSTANCE; + PetrinetPackage packageInstance2 = PetrinetPackage.eINSTANCE; + + // Enregistrer l'extension ".xmi" comme devant être ouverte à + // l'aide d'un objet "XMIResourceFactoryImpl" + Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE; + Map m = reg.getExtensionToFactoryMap(); + m.put("xmi", new XMIResourceFactoryImpl()); + + // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) + ResourceSet resSet = new ResourceSetImpl(); + + // Définir la ressource (le modèle) + URI modelURI = URI.createURI("models/SimplePDL2PetriNET.xmi"); + Resource resource = resSet.createResource(modelURI); + + // La fabrique pour fabriquer les éléments de SimplePDL + SimplepdlFactory myFactory = SimplepdlFactory.eINSTANCE; + + // Créer un élément Process + Process process = myFactory.createProcess(); + process.setName("Mon premier processus"); + + // Ajouter le Process dans le modèle + resource.getContents().add(process); + + // Ajouter deux WorkDefinitions + WorkDefinition wd1 = myFactory.createWorkDefinition(); + wd1.setName("Ma première WorkDefinition, quelle émotion"); + + WorkDefinition wd2 = myFactory.createWorkDefinition(); + wd2.setName("Ma deuxième WorkDefinition, toujours autant d'émotion"); + + process.getProcessElements().add(wd1); + process.getProcessElements().add(wd2); + + // Ajouter une WorkSequence entre les deux WorkDefinitions + WorkSequence seq = myFactory.createWorkSequence(); + seq.setPredecessor(wd1); + seq.setSuccessor(wd2); + seq.setLinkType(WorkSequenceType.FINISH_TO_FINISH); + + process.getProcessElements().add(seq); + + // Ajouter une deuxième WorkSequence entre les deux WorkDefinitions + WorkSequence seq2 = myFactory.createWorkSequence(); + seq2.setPredecessor(wd1); + seq2.setSuccessor(wd2); + seq2.setLinkType(WorkSequenceType.START_TO_START); + + process.getProcessElements().add(seq2); + + + // Sauver la ressource + try { + resource.save(Collections.EMPTY_MAP); + } catch (IOException e) { + e.printStackTrace(); + } + } + +} diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/71/f0f4019c4c29001c101babefb5abd0b0 b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/71/f0f4019c4c29001c101babefb5abd0b0 new file mode 100644 index 0000000..009a820 --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/71/f0f4019c4c29001c101babefb5abd0b0 @@ -0,0 +1,120 @@ +package simplepdl.manip; + +import java.io.IOException; +import java.util.Collections; +import java.util.Map; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; + +import petrinet.PetrinetPackage; +import petrinet.Place; +import petrinet.Transition; +import petrinet.Arc; +import petrinet.Network; +import petrinet.PetrinetFactory; +import simplepdl.Process; +import simplepdl.WorkDefinition; +import simplepdl.WorkSequence; +import simplepdl.WorkSequenceType; +import simplepdl.SimplepdlFactory; +import simplepdl.SimplepdlPackage; + +public class simplepdl2petrinet { + + public static void main(String[] args) { + + // Charger les package SimplePDL et Petrinet afin de les enregistrer dans le registre d'Eclipse. + SimplepdlPackage packageInstance = SimplepdlPackage.eINSTANCE; + PetrinetPackage packageInstance2 = PetrinetPackage.eINSTANCE; + + // Enregistrer l'extension ".xmi" comme devant être ouverte à + // l'aide d'un objet "XMIResourceFactoryImpl" + Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE; + Map m = reg.getExtensionToFactoryMap(); + m.put("xmi", new XMIResourceFactoryImpl()); + + // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) + ResourceSet resSet = new ResourceSetImpl(); + + // Charger la ressource (notre modèle) + URI modelURI = URI.createURI("pdl-sujet.xmi"); + Resource resource = resSet.getResource(modelURI, true); + + // Récupérer le premier élément du modèle (élément racine) + Process process = (Process) resource.getContents().get(0); + + // La fabrique pour fabriquer les éléments de PetriNET + PetrinetFactory myFactory = PetrinetFactory.eINSTANCE; + + // Créer un élément Network + Network network = myFactory.createNetwork(); + network.setName(process.getName()); + + // Conversion des WorkDefinition en Node et Transition + for (Object o : process.getProcessElements()) { + if (o instanceof WorkDefinition) { + WorkDefinition wd = (WorkDefinition) o; + String name = wd.getName(); + System.out.println(" - " + name); + + Place idle = myFactory.createPlace(); + idle.setName(name + "_idle"); + idle.setTokens(1); + Place running = myFactory.createPlace(); + running.setName(name + "_running"); + running.setTokens(1); + Place finished = myFactory.createPlace(); + finished.setName(name + "_finished"); + finished.setTokens(1); + + Arc pause2start = myFactory.createArc(); + pause2start.setTarget(idle); + pause2start.setOutgoing(false); + pause2start.setWeight(1); + Arc start2running = myFactory.createArc(); + start2running.setTarget(running); + start2running.setOutgoing(true); + start2running.setWeight(1); + Transition start = myFactory.createTransition(); + start.setName(name + "_start"); + start.getArcs().add(pause2start); + start.getArcs().add(start2running); + + Arc running2finish = myFactory.createArc(); + running2finish.setTarget(running); + running2finish.setOutgoing(false); + running2finish.setWeight(1); + Arc finish2finished = myFactory.createArc(); + finish2finished.setTarget(finished); + finish2finished.setOutgoing(true); + finish2finished.setWeight(1); + Transition finish = myFactory.createTransition(); + finish.setName(name + "_finish"); + finish.getArcs().add(running2finish); + finish.getArcs().add(finish2finished); + + network.getNodes().add(idle); + network.getNodes().add(start); + network.getNodes().add(running); + network.getNodes().add(finish); + network.getNodes().add(finished); + } + } + + // Créer le nouveau xmi (modèle convertit) + URI convURI = URI.createURI("test.xmi"); + Resource conv = resSet.createResource(convURI); + + // Sauver la ressource + try { + conv.save(Collections.EMPTY_MAP); + } catch (IOException e) { + e.printStackTrace(); + } + } + +} diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/74/50d65fb84a29001c101babefb5abd0b0 b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/74/50d65fb84a29001c101babefb5abd0b0 new file mode 100644 index 0000000..b430824 --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/74/50d65fb84a29001c101babefb5abd0b0 @@ -0,0 +1,115 @@ +package simplepdl.manip; + +import java.io.IOException; +import java.util.Collections; +import java.util.Map; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; + +import petrinet.PetrinetPackage; +import petrinet.Place; +import petrinet.Transition; +import petrinet.Arc; +import petrinet.Network; +import petrinet.PetrinetFactory; +import simplepdl.Process; +import simplepdl.WorkDefinition; +import simplepdl.WorkSequence; +import simplepdl.WorkSequenceType; +import simplepdl.SimplepdlFactory; +import simplepdl.SimplepdlPackage; + +public class simplepdl2petrinet { + + public static void main(String[] args) { + + // Charger les package SimplePDL et Petrinet afin de les enregistrer dans le registre d'Eclipse. + SimplepdlPackage packageInstance = SimplepdlPackage.eINSTANCE; + PetrinetPackage packageInstance2 = PetrinetPackage.eINSTANCE; + + // Enregistrer l'extension ".xmi" comme devant être ouverte à + // l'aide d'un objet "XMIResourceFactoryImpl" + Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE; + Map m = reg.getExtensionToFactoryMap(); + m.put("xmi", new XMIResourceFactoryImpl()); + + // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) + ResourceSet resSet = new ResourceSetImpl(); + + // Charger la ressource (notre modèle) + URI modelURI = URI.createURI("model/test.xmi"); + Resource resource = resSet.getResource(modelURI, true); + + // Récupérer le premier élément du modèle (élément racine) + Process process = (Process) resource.getContents().get(0); + + // La fabrique pour fabriquer les éléments de PetriNET + PetrinetFactory myFactory = PetrinetFactory.eINSTANCE; + + // Créer un élément Network + Network network = myFactory.createNetwork(); + network.setName(process.getName()); + + // Conversion des WorkDefinition en Node et Transition + for (Object o : process.getProcessElements()) { + if (o instanceof WorkDefinition) { + WorkDefinition wd = (WorkDefinition) o; + String name = wd.getName(); + + Place idle = myFactory.createPlace(); + idle.setName(name + "_idle"); + idle.setTokens(1); + Place running = myFactory.createPlace(); + running.setName(name + "_running"); + running.setTokens(1); + Place finished = myFactory.createPlace(); + finished.setName(name + "_finished"); + finished.setTokens(1); + + Arc pause2start = myFactory.createArc(); + pause2start.setTarget(idle); + pause2start.setOutgoing(false); + pause2start.setWeight(1); + Arc start2running = myFactory.createArc(); + start2running.setTarget(running); + start2running.setOutgoing(true); + start2running.setWeight(1); + Transition start = myFactory.createTransition(); + start.setName(name + "_start"); + start.getArcs().add(pause2start); + start.getArcs().add(start2running); + + Arc running2finish = myFactory.createArc(); + running2finish.setTarget(running); + running2finish.setOutgoing(false); + running2finish.setWeight(1); + Arc finish2finished = myFactory.createArc(); + finish2finished.setTarget(finished); + finish2finished.setOutgoing(true); + finish2finished.setWeight(1); + Transition finish = myFactory.createTransition(); + finish.setName(name + "_finish"); + finish.getArcs().add(running2finish); + finish.getArcs().add(finish2finished); + + network.getNodes().add(idle); + network.getNodes().add(start); + network.getNodes().add(running); + network.getNodes().add(finish); + network.getNodes().add(finished); + } + } + + // Sauver la ressource + try { + resource.save(Collections.EMPTY_MAP); + } catch (IOException e) { + e.printStackTrace(); + } + } + +} diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/7a/b040fb854929001c101babefb5abd0b0 b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/7a/b040fb854929001c101babefb5abd0b0 new file mode 100644 index 0000000..4e5b4ee --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/7a/b040fb854929001c101babefb5abd0b0 @@ -0,0 +1,123 @@ +package simplepdl.manip; + +import java.io.IOException; +import java.util.Collections; +import java.util.Map; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; + +import petrinet.PetrinetPackage; +import petrinet.Place; +import petrinet.Transition; +import petrinet.Arc; +import petrinet.Network; +import petrinet.PetrinetFactory; +import simplepdl.Process; +import simplepdl.WorkDefinition; +import simplepdl.WorkSequence; +import simplepdl.WorkSequenceType; +import simplepdl.SimplepdlFactory; +import simplepdl.SimplepdlPackage; + +public class simplepdl2petrinet { + + public static void main(String[] args) { + + // Charger les package SimplePDL et Petrinet afin de les enregistrer dans le registre d'Eclipse. + SimplepdlPackage packageInstance = SimplepdlPackage.eINSTANCE; + PetrinetPackage packageInstance2 = PetrinetPackage.eINSTANCE; + + // Enregistrer l'extension ".xmi" comme devant être ouverte à + // l'aide d'un objet "XMIResourceFactoryImpl" + Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE; + Map m = reg.getExtensionToFactoryMap(); + m.put("xmi", new XMIResourceFactoryImpl()); + + // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) + ResourceSet resSet = new ResourceSetImpl(); + + // Charger la ressource (notre modèle) + URI modelURI = URI.createURI("pdl-sujet.xmi"); + Resource resource = resSet.getResource(modelURI, true); + + // Récupérer le premier élément du modèle (élément racine) + Process process = (Process) resource.getContents().get(0); + + // La fabrique pour fabriquer les éléments de PetriNET + PetrinetFactory myFactory = PetrinetFactory.eINSTANCE; + + // Créer un élément Network + Network network = myFactory.createNetwork(); + network.setName(process.getName()); + + // Conversion des WorkDefinition en Node et Transition + for (Object o : process.getProcessElements()) { + if (o instanceof WorkDefinition) { + WorkDefinition wd = (WorkDefinition) o; + String name = wd.getName(); + + Place idle = myFactory.createPlace(); + idle.setName(name + "_idle"); + idle.setTokens(1); + Place running = myFactory.createPlace(); + running.setName(name + "_running"); + running.setTokens(1); + Place finished = myFactory.createPlace(); + finished.setName(name + "_finished"); + finished.setTokens(1); + + Arc pause2start = myFactory.createArc(); + pause2start.setTarget(idle); + pause2start.setOutgoing(false); + pause2start.setWeight(1); + Transition start = myFactory.createTransition(); + start.setName(name + "_start"); + + Transition finish = myFactory.createTransition(); + finish.setName(name + "_finish"); + } + } +// +// // Ajouter le Process dans le modèle +// resource.getContents().add(process); +// +// // Ajouter deux WorkDefinitions +// WorkDefinition wd1 = myFactory.createWorkDefinition(); +// wd1.setName("Ma première WorkDefinition, quelle émotion"); +// +// WorkDefinition wd2 = myFactory.createWorkDefinition(); +// wd2.setName("Ma deuxième WorkDefinition, toujours autant d'émotion"); +// +// process.getProcessElements().add(wd1); +// process.getProcessElements().add(wd2); +// +// // Ajouter une WorkSequence entre les deux WorkDefinitions +// WorkSequence seq = myFactory.createWorkSequence(); +// seq.setPredecessor(wd1); +// seq.setSuccessor(wd2); +// seq.setLinkType(WorkSequenceType.FINISH_TO_FINISH); +// +// process.getProcessElements().add(seq); +// +// // Ajouter une deuxième WorkSequence entre les deux WorkDefinitions +// WorkSequence seq2 = myFactory.createWorkSequence(); +// seq2.setPredecessor(wd1); +// seq2.setSuccessor(wd2); +// seq2.setLinkType(WorkSequenceType.START_TO_START); +// +// process.getProcessElements().add(seq2); + + + // Sauver la ressource + try { + resource.save(Collections.EMPTY_MAP); + } catch (IOException e) { + e.printStackTrace(); + } + } + +} diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/84/005127714f29001c15a7c9c2336a037e b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/84/005127714f29001c15a7c9c2336a037e new file mode 100644 index 0000000..8cb6f07 --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/84/005127714f29001c15a7c9c2336a037e @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/8d/f03656ad4a29001c101babefb5abd0b0 b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/8d/f03656ad4a29001c101babefb5abd0b0 new file mode 100644 index 0000000..11a9b0f --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/8d/f03656ad4a29001c101babefb5abd0b0 @@ -0,0 +1,115 @@ +package simplepdl.manip; + +import java.io.IOException; +import java.util.Collections; +import java.util.Map; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; + +import petrinet.PetrinetPackage; +import petrinet.Place; +import petrinet.Transition; +import petrinet.Arc; +import petrinet.Network; +import petrinet.PetrinetFactory; +import simplepdl.Process; +import simplepdl.WorkDefinition; +import simplepdl.WorkSequence; +import simplepdl.WorkSequenceType; +import simplepdl.SimplepdlFactory; +import simplepdl.SimplepdlPackage; + +public class simplepdl2petrinet { + + public static void main(String[] args) { + + // Charger les package SimplePDL et Petrinet afin de les enregistrer dans le registre d'Eclipse. + SimplepdlPackage packageInstance = SimplepdlPackage.eINSTANCE; + PetrinetPackage packageInstance2 = PetrinetPackage.eINSTANCE; + + // Enregistrer l'extension ".xmi" comme devant être ouverte à + // l'aide d'un objet "XMIResourceFactoryImpl" + Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE; + Map m = reg.getExtensionToFactoryMap(); + m.put("xmi", new XMIResourceFactoryImpl()); + + // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) + ResourceSet resSet = new ResourceSetImpl(); + + // Charger la ressource (notre modèle) + URI modelURI = URI.createURI("pdl-sujet.xmi"); + Resource resource = resSet.getResource(modelURI, true); + + // Récupérer le premier élément du modèle (élément racine) + Process process = (Process) resource.getContents().get(0); + + // La fabrique pour fabriquer les éléments de PetriNET + PetrinetFactory myFactory = PetrinetFactory.eINSTANCE; + + // Créer un élément Network + Network network = myFactory.createNetwork(); + network.setName(process.getName()); + + // Conversion des WorkDefinition en Node et Transition + for (Object o : process.getProcessElements()) { + if (o instanceof WorkDefinition) { + WorkDefinition wd = (WorkDefinition) o; + String name = wd.getName(); + + Place idle = myFactory.createPlace(); + idle.setName(name + "_idle"); + idle.setTokens(1); + Place running = myFactory.createPlace(); + running.setName(name + "_running"); + running.setTokens(1); + Place finished = myFactory.createPlace(); + finished.setName(name + "_finished"); + finished.setTokens(1); + + Arc pause2start = myFactory.createArc(); + pause2start.setTarget(idle); + pause2start.setOutgoing(false); + pause2start.setWeight(1); + Arc start2running = myFactory.createArc(); + start2running.setTarget(running); + start2running.setOutgoing(true); + start2running.setWeight(1); + Transition start = myFactory.createTransition(); + start.setName(name + "_start"); + start.getArcs().add(pause2start); + start.getArcs().add(start2running); + + Arc running2finish = myFactory.createArc(); + running2finish.setTarget(running); + running2finish.setOutgoing(false); + running2finish.setWeight(1); + Arc finish2finished = myFactory.createArc(); + finish2finished.setTarget(finished); + finish2finished.setOutgoing(true); + finish2finished.setWeight(1); + Transition finish = myFactory.createTransition(); + finish.setName(name + "_finish"); + finish.getArcs().add(running2finish); + finish.getArcs().add(finish2finished); + + network.getNodes().add(idle); + network.getNodes().add(start); + network.getNodes().add(running); + network.getNodes().add(finish); + network.getNodes().add(finished); + } + } + + // Sauver la ressource + try { + resource.save(Collections.EMPTY_MAP); + } catch (IOException e) { + e.printStackTrace(); + } + } + +} diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/92/d05144de4e29001c15a7c9c2336a037e b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/92/d05144de4e29001c15a7c9c2336a037e new file mode 100644 index 0000000..3435f09 --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/92/d05144de4e29001c15a7c9c2336a037e @@ -0,0 +1,22 @@ + + + + + + + + + diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/93/c083ef314729001c101babefb5abd0b0 b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/93/c083ef314729001c101babefb5abd0b0 new file mode 100644 index 0000000..f85f031 --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/93/c083ef314729001c101babefb5abd0b0 @@ -0,0 +1,88 @@ +package simplepdl.manip; + +import java.io.IOException; +import java.util.Collections; +import java.util.Map; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; + +import petrinet.PetrinetPackage; +import petrinet.PetrinetFactory; +import simplepdl.Process; +import simplepdl.WorkDefinition; +import simplepdl.WorkSequence; +import simplepdl.WorkSequenceType; +import simplepdl.SimplepdlFactory; +import simplepdl.SimplepdlPackage; + +public class simplepdl2petrinet { + + public static void main(String[] args) { + + // Charger les package SimplePDL et Petrinet afin de les enregistrer dans le registre d'Eclipse. + SimplepdlPackage packageInstance = SimplepdlPackage.eINSTANCE; + PetrinetPackage packageInstance2 = PetrinetPackage.eINSTANCE; + + // Enregistrer l'extension ".xmi" comme devant être ouverte à + // l'aide d'un objet "XMIResourceFactoryImpl" + Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE; + Map m = reg.getExtensionToFactoryMap(); + m.put("xmi", new XMIResourceFactoryImpl()); + + // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) + ResourceSet resSet = new ResourceSetImpl(); + + // Définir la ressource (le modèle) + URI modelURI = URI.createURI("models/SimplePDLCreator_Created_Process.xmi"); + Resource resource = resSet.createResource(modelURI); + + // La fabrique pour fabriquer les éléments de SimplePDL + SimplepdlFactory myFactory = SimplepdlFactory.eINSTANCE; + + // Créer un élément Process + Process process = myFactory.createProcess(); + process.setName("Mon premier processus"); + + // Ajouter le Process dans le modèle + resource.getContents().add(process); + + // Ajouter deux WorkDefinitions + WorkDefinition wd1 = myFactory.createWorkDefinition(); + wd1.setName("Ma première WorkDefinition, quelle émotion"); + + WorkDefinition wd2 = myFactory.createWorkDefinition(); + wd2.setName("Ma deuxième WorkDefinition, toujours autant d'émotion"); + + process.getProcessElements().add(wd1); + process.getProcessElements().add(wd2); + + // Ajouter une WorkSequence entre les deux WorkDefinitions + WorkSequence seq = myFactory.createWorkSequence(); + seq.setPredecessor(wd1); + seq.setSuccessor(wd2); + seq.setLinkType(WorkSequenceType.FINISH_TO_FINISH); + + process.getProcessElements().add(seq); + + // Ajouter une deuxième WorkSequence entre les deux WorkDefinitions + WorkSequence seq2 = myFactory.createWorkSequence(); + seq2.setPredecessor(wd1); + seq2.setSuccessor(wd2); + seq2.setLinkType(WorkSequenceType.START_TO_START); + + process.getProcessElements().add(seq2); + + + // Sauver la ressource + try { + resource.save(Collections.EMPTY_MAP); + } catch (IOException e) { + e.printStackTrace(); + } + } + +} diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/9d/904f5d274d29001c101babefb5abd0b0 b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/9d/904f5d274d29001c101babefb5abd0b0 new file mode 100644 index 0000000..5b43d2f --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/9d/904f5d274d29001c101babefb5abd0b0 @@ -0,0 +1,123 @@ +package simplepdl.manip; + +import java.io.IOException; +import java.util.Collections; +import java.util.Map; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; + +import petrinet.PetrinetPackage; +import petrinet.Place; +import petrinet.Transition; +import petrinet.Arc; +import petrinet.Network; +import petrinet.PetrinetFactory; +import simplepdl.Process; +import simplepdl.WorkDefinition; +import simplepdl.WorkSequence; +import simplepdl.WorkSequenceType; +import simplepdl.SimplepdlFactory; +import simplepdl.SimplepdlPackage; + +public class simplepdl2petrinet { + + public static void main(String[] args) { + + // Charger les package SimplePDL et Petrinet afin de les enregistrer dans le registre d'Eclipse. + SimplepdlPackage packageInstance = SimplepdlPackage.eINSTANCE; + PetrinetPackage packageInstance2 = PetrinetPackage.eINSTANCE; + + // Enregistrer l'extension ".xmi" comme devant être ouverte à + // l'aide d'un objet "XMIResourceFactoryImpl" + Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE; + Map m = reg.getExtensionToFactoryMap(); + m.put("xmi", new XMIResourceFactoryImpl()); + + // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) + ResourceSet resGet = new ResourceSetImpl(); + + // Charger la ressource (notre modèle) + URI modelURI = URI.createURI("pdl-sujet.xmi"); + Resource resource = resGet.getResource(modelURI, true); + + // Récupérer le premier élément du modèle (élément racine) + Process process = (Process) resource.getContents().get(0); + + // La fabrique pour fabriquer les éléments de PetriNET + PetrinetFactory myFactory = PetrinetFactory.eINSTANCE; + + // Créer un élément Network + Network network = myFactory.createNetwork(); + network.setName(process.getName()); + + // Conversion des WorkDefinition en Node et Transition + for (Object o : process.getProcessElements()) { + if (o instanceof WorkDefinition) { + WorkDefinition wd = (WorkDefinition) o; + String name = wd.getName(); + System.out.println(" - " + name); + + Place idle = myFactory.createPlace(); + idle.setName(name + "_idle"); + idle.setTokens(1); + Place running = myFactory.createPlace(); + running.setName(name + "_running"); + running.setTokens(1); + Place finished = myFactory.createPlace(); + finished.setName(name + "_finished"); + finished.setTokens(1); + + Arc pause2start = myFactory.createArc(); + pause2start.setTarget(idle); + pause2start.setOutgoing(false); + pause2start.setWeight(1); + Arc start2running = myFactory.createArc(); + start2running.setTarget(running); + start2running.setOutgoing(true); + start2running.setWeight(1); + Transition start = myFactory.createTransition(); + start.setName(name + "_start"); + start.getArcs().add(pause2start); + start.getArcs().add(start2running); + + Arc running2finish = myFactory.createArc(); + running2finish.setTarget(running); + running2finish.setOutgoing(false); + running2finish.setWeight(1); + Arc finish2finished = myFactory.createArc(); + finish2finished.setTarget(finished); + finish2finished.setOutgoing(true); + finish2finished.setWeight(1); + Transition finish = myFactory.createTransition(); + finish.setName(name + "_finish"); + finish.getArcs().add(running2finish); + finish.getArcs().add(finish2finished); + + network.getNodes().add(idle); + network.getNodes().add(start); + network.getNodes().add(running); + network.getNodes().add(finish); + network.getNodes().add(finished); + } + } + + // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) + ResourceSet resSet = new ResourceSetImpl(); + + // Créer le nouveau xmi (modèle convertit) + URI convURI = URI.createURI("test.xmi"); + Resource conv = resSet.createResource(convURI); + + // Sauver la ressource + try { + conv.save(Collections.EMPTY_MAP); + } catch (IOException e) { + e.printStackTrace(); + } + } + +} diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/a4/d05019e94729001c101babefb5abd0b0 b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/a4/d05019e94729001c101babefb5abd0b0 new file mode 100644 index 0000000..c4b2e81 --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/a4/d05019e94729001c101babefb5abd0b0 @@ -0,0 +1,92 @@ +package simplepdl.manip; + +import java.io.IOException; +import java.util.Collections; +import java.util.Map; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; + +import petrinet.PetrinetPackage; +import petrinet.PetrinetFactory; +import simplepdl.Process; +import simplepdl.WorkDefinition; +import simplepdl.WorkSequence; +import simplepdl.WorkSequenceType; +import simplepdl.SimplepdlFactory; +import simplepdl.SimplepdlPackage; + +public class simplepdl2petrinet { + + public static void main(String[] args) { + + // Charger les package SimplePDL et Petrinet afin de les enregistrer dans le registre d'Eclipse. + SimplepdlPackage packageInstance = SimplepdlPackage.eINSTANCE; + PetrinetPackage packageInstance2 = PetrinetPackage.eINSTANCE; + + // Enregistrer l'extension ".xmi" comme devant être ouverte à + // l'aide d'un objet "XMIResourceFactoryImpl" + Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE; + Map m = reg.getExtensionToFactoryMap(); + m.put("xmi", new XMIResourceFactoryImpl()); + + // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) + ResourceSet resSet = new ResourceSetImpl(); + + // Charger la ressource (notre modèle) + URI modelURI = URI.createURI("pdl-sujet.xmi"); + Resource resource = resSet.getResource(modelURI, true); + + + + + + // La fabrique pour fabriquer les éléments de SimplePDL + SimplepdlFactory myFactory = SimplepdlFactory.eINSTANCE; + + // Créer un élément Process + Process process = myFactory.createProcess(); + process.setName("Mon premier processus"); + + // Ajouter le Process dans le modèle + resource.getContents().add(process); + + // Ajouter deux WorkDefinitions + WorkDefinition wd1 = myFactory.createWorkDefinition(); + wd1.setName("Ma première WorkDefinition, quelle émotion"); + + WorkDefinition wd2 = myFactory.createWorkDefinition(); + wd2.setName("Ma deuxième WorkDefinition, toujours autant d'émotion"); + + process.getProcessElements().add(wd1); + process.getProcessElements().add(wd2); + + // Ajouter une WorkSequence entre les deux WorkDefinitions + WorkSequence seq = myFactory.createWorkSequence(); + seq.setPredecessor(wd1); + seq.setSuccessor(wd2); + seq.setLinkType(WorkSequenceType.FINISH_TO_FINISH); + + process.getProcessElements().add(seq); + + // Ajouter une deuxième WorkSequence entre les deux WorkDefinitions + WorkSequence seq2 = myFactory.createWorkSequence(); + seq2.setPredecessor(wd1); + seq2.setSuccessor(wd2); + seq2.setLinkType(WorkSequenceType.START_TO_START); + + process.getProcessElements().add(seq2); + + + // Sauver la ressource + try { + resource.save(Collections.EMPTY_MAP); + } catch (IOException e) { + e.printStackTrace(); + } + } + +} diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/a9/10660fea4629001c101babefb5abd0b0 b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/a9/10660fea4629001c101babefb5abd0b0 new file mode 100644 index 0000000..b007609 --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/a9/10660fea4629001c101babefb5abd0b0 @@ -0,0 +1,85 @@ +package simplepdl.manip; + +import java.io.IOException; +import java.util.Collections; +import java.util.Map; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; + +import simplepdl.Process; +import simplepdl.WorkDefinition; +import simplepdl.WorkSequence; +import simplepdl.WorkSequenceType; +import simplepdl.SimplepdlFactory; +import simplepdl.SimplepdlPackage; + +public class simplepdl2petrinet { + + public static void main(String[] args) { + + // Charger le package SimplePDL afin de l'enregistrer dans le registre d'Eclipse. + SimplepdlPackage packageInstance = SimplepdlPackage.eINSTANCE; + + // Enregistrer l'extension ".xmi" comme devant être ouverte à + // l'aide d'un objet "XMIResourceFactoryImpl" + Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE; + Map m = reg.getExtensionToFactoryMap(); + m.put("xmi", new XMIResourceFactoryImpl()); + + // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) + ResourceSet resSet = new ResourceSetImpl(); + + // Définir la ressource (le modèle) + URI modelURI = URI.createURI("models/SimplePDLCreator_Created_Process.xmi"); + Resource resource = resSet.createResource(modelURI); + + // La fabrique pour fabriquer les éléments de SimplePDL + SimplepdlFactory myFactory = SimplepdlFactory.eINSTANCE; + + // Créer un élément Process + Process process = myFactory.createProcess(); + process.setName("Mon premier processus"); + + // Ajouter le Process dans le modèle + resource.getContents().add(process); + + // Ajouter deux WorkDefinitions + WorkDefinition wd1 = myFactory.createWorkDefinition(); + wd1.setName("Ma première WorkDefinition, quelle émotion"); + + WorkDefinition wd2 = myFactory.createWorkDefinition(); + wd2.setName("Ma deuxième WorkDefinition, toujours autant d'émotion"); + + process.getProcessElements().add(wd1); + process.getProcessElements().add(wd2); + + // Ajouter une WorkSequence entre les deux WorkDefinitions + WorkSequence seq = myFactory.createWorkSequence(); + seq.setPredecessor(wd1); + seq.setSuccessor(wd2); + seq.setLinkType(WorkSequenceType.FINISH_TO_FINISH); + + process.getProcessElements().add(seq); + + // Ajouter une deuxième WorkSequence entre les deux WorkDefinitions + WorkSequence seq2 = myFactory.createWorkSequence(); + seq2.setPredecessor(wd1); + seq2.setSuccessor(wd2); + seq2.setLinkType(WorkSequenceType.START_TO_START); + + process.getProcessElements().add(seq2); + + + // Sauver la ressource + try { + resource.save(Collections.EMPTY_MAP); + } catch (IOException e) { + e.printStackTrace(); + } + } + +} diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/b1/d0008e8b4e29001c101babefb5abd0b0 b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/b1/d0008e8b4e29001c101babefb5abd0b0 new file mode 100644 index 0000000..9bd71f0 --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/b1/d0008e8b4e29001c101babefb5abd0b0 @@ -0,0 +1,121 @@ +package simplepdl.manip; + +import java.io.IOException; +import java.util.Collections; +import java.util.Map; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; + +import petrinet.PetrinetPackage; +import petrinet.Place; +import petrinet.Transition; +import petrinet.Arc; +import petrinet.Network; +import petrinet.PetrinetFactory; +import simplepdl.Process; +import simplepdl.WorkDefinition; +import simplepdl.WorkSequence; +import simplepdl.WorkSequenceType; +import simplepdl.SimplepdlPackage; + +public class simplepdl2petrinet { + + public static void main(String[] args) { + + // Charger les package SimplePDL et Petrinet afin de les enregistrer dans le registre d'Eclipse. + SimplepdlPackage packageInstance = SimplepdlPackage.eINSTANCE; + PetrinetPackage packageInstance2 = PetrinetPackage.eINSTANCE; + + // Enregistrer l'extension ".xmi" comme devant être ouverte à + // l'aide d'un objet "XMIResourceFactoryImpl" + Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE; + Map m = reg.getExtensionToFactoryMap(); + m.put("xmi", new XMIResourceFactoryImpl()); + + // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) + ResourceSet resSet = new ResourceSetImpl(); + + // Charger la ressource (notre modèle) + URI modelURI = URI.createURI("pdl-sujet.xmi"); + Resource resource = resSet.getResource(modelURI, true); + + // Récupérer le premier élément du modèle (élément racine) + Process process = (Process) resource.getContents().get(0); + + // La fabrique pour fabriquer les éléments de PetriNET + PetrinetFactory myFactory = PetrinetFactory.eINSTANCE; + + // Créer un élément Network + Network network = myFactory.createNetwork(); + network.setName(process.getName()); + + // Conversion des WorkDefinition en Node et Transition + for (Object o : process.getProcessElements()) { + if (o instanceof WorkDefinition) { + WorkDefinition wd = (WorkDefinition) o; + String name = wd.getName(); + System.out.println(" - " + name); + + Place idle = myFactory.createPlace(); + idle.setName(name + "_idle"); + idle.setTokens(1); + Place running = myFactory.createPlace(); + running.setName(name + "_running"); + running.setTokens(1); + Place finished = myFactory.createPlace(); + finished.setName(name + "_finished"); + finished.setTokens(1); + + Arc pause2start = myFactory.createArc(); + pause2start.setTarget(idle); + pause2start.setOutgoing(false); + pause2start.setWeight(1); + Arc start2running = myFactory.createArc(); + start2running.setTarget(running); + start2running.setOutgoing(true); + start2running.setWeight(1); + Transition start = myFactory.createTransition(); + start.setName(name + "_start"); + start.getArcs().add(pause2start); + start.getArcs().add(start2running); + + Arc running2finish = myFactory.createArc(); + running2finish.setTarget(running); + running2finish.setOutgoing(false); + running2finish.setWeight(1); + Arc finish2finished = myFactory.createArc(); + finish2finished.setTarget(finished); + finish2finished.setOutgoing(true); + finish2finished.setWeight(1); + Transition finish = myFactory.createTransition(); + finish.setName(name + "_finish"); + finish.getArcs().add(running2finish); + finish.getArcs().add(finish2finished); + + System.out.println(" + " + idle.getName() + " (" + idle.getTokens() + ")"); + + network.getNodes().add(idle); + network.getNodes().add(start); + network.getNodes().add(running); + network.getNodes().add(finish); + network.getNodes().add(finished); + } + } + + // Créer le nouveau xmi (modèle convertit) + URI convURI = URI.createURI("test.xmi"); + Resource conv = resSet.createResource(convURI); + + // Sauver la ressource + try { + conv.save(Collections.EMPTY_MAP); + } catch (IOException e) { + e.printStackTrace(); + } + } + +} diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/b4/90e2971e4729001c101babefb5abd0b0 b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/b4/90e2971e4729001c101babefb5abd0b0 new file mode 100644 index 0000000..fc37a5a --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/b4/90e2971e4729001c101babefb5abd0b0 @@ -0,0 +1,88 @@ +package simplepdl.manip; + +import java.io.IOException; +import java.util.Collections; +import java.util.Map; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; + +import petrinet.PetrinetPackage; +import petrinet.PetrinetFactory; +import simplepdl.Process; +import simplepdl.WorkDefinition; +import simplepdl.WorkSequence; +import simplepdl.WorkSequenceType; +import simplepdl.SimplepdlFactory; +import simplepdl.SimplepdlPackage; + +public class simplepdl2petrinet { + + public static void main(String[] args) { + + // Charger les package SimplePDL et Petrinet afin de les enregistrer dans le registre d'Eclipse. + SimplepdlPackage packageInstance = SimplepdlPackage.eINSTANCE; + PetrinetPackage packageInstance2 = PetrinetPackage.eINSTANCE; + + // Enregistrer l'extension ".xmi" comme devant être ouverte à + // l'aide d'un objet "XMIResourceFactoryImpl" + Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE; + Map m = reg.getExtensionToFactoryMap(); + m.put("xmi", new XMIResourceFactoryImpl()); + + // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) + ResourceSet resSet = new ResourceSetImpl(); + + // Définir la ressource (le modèle) + URI modelURI = URI.createURI("models/SimplePDLCreator_Created_Process.xmi"); + Resource resource = resSet.createResource(modelURI); + + // La fabrique pour fabriquer les éléments de SimplePDL + SimplepdlFactory myFactory = SimplepdlFactory.eINSTANCE; + + // Créer un élément Process + Process process = myFactory.createProcess(); + process.setName("Mon premier processus"); + + // Ajouter le Process dans le modèle + resource.getContents().add(process); + + // Ajouter deux WorkDefinitions + WorkDefinition wd1 = myFactory.createWorkDefinition(); + wd1.setName("Ma première WorkDefinition, quelle émotion"); + + WorkDefinition wd2 = myFactory.createWorkDefinition(); + wd2.setName("Ma deuxième WorkDefinition, toujours autant d'émotion"); + + process.getProcessElements().add(wd1); + process.getProcessElements().add(wd2); + + // Ajouter une WorkSequence entre les deux WorkDefinitions + WorkSequence seq = myFactory.createWorkSequence(); + seq.setPredecessor(wd1); + seq.setSuccessor(wd2); + seq.setLinkType(WorkSequenceType.FINISH_TO_FINISH); + + process.getProcessElements().add(seq); + + // Ajouter une deuxième WorkSequence entre les deux WorkDefinitions + WorkSequence seq2 = myFactory.createWorkSequence(); + seq2.setPredecessor(wd1); + seq2.setSuccessor(wd2); + seq2.setLinkType(WorkSequenceType.START_TO_START); + + process.getProcessElements().add(seq2); + + + // Sauver la ressource + try { + resource.save(Collections.EMPTY_MAP); + } catch (IOException e) { + e.printStackTrace(); + } + } + +} diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/c/102560ba4829001c101babefb5abd0b0 b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/c/102560ba4829001c101babefb5abd0b0 new file mode 100644 index 0000000..128517c --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/c/102560ba4829001c101babefb5abd0b0 @@ -0,0 +1,95 @@ +package simplepdl.manip; + +import java.io.IOException; +import java.util.Collections; +import java.util.Map; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; + +import petrinet.PetrinetPackage; +import petrinet.Network; +import petrinet.PetrinetFactory; +import simplepdl.Process; +import simplepdl.WorkDefinition; +import simplepdl.WorkSequence; +import simplepdl.WorkSequenceType; +import simplepdl.SimplepdlFactory; +import simplepdl.SimplepdlPackage; + +public class simplepdl2petrinet { + + public static void main(String[] args) { + + // Charger les package SimplePDL et Petrinet afin de les enregistrer dans le registre d'Eclipse. + SimplepdlPackage packageInstance = SimplepdlPackage.eINSTANCE; + PetrinetPackage packageInstance2 = PetrinetPackage.eINSTANCE; + + // Enregistrer l'extension ".xmi" comme devant être ouverte à + // l'aide d'un objet "XMIResourceFactoryImpl" + Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE; + Map m = reg.getExtensionToFactoryMap(); + m.put("xmi", new XMIResourceFactoryImpl()); + + // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) + ResourceSet resSet = new ResourceSetImpl(); + + // Charger la ressource (notre modèle) + URI modelURI = URI.createURI("pdl-sujet.xmi"); + Resource resource = resSet.getResource(modelURI, true); + + // Récupérer le premier élément du modèle (élément racine) + Process process = (Process) resource.getContents().get(0); + + // La fabrique pour fabriquer les éléments de PetriNET + PetrinetFactory myFactory = PetrinetFactory.eINSTANCE; + + // Créer un élément Network + Network network = myFactory.createNetwork(); + network.setName(process.getName()); + + // Conversion des WorkDefinition en Node et Transition + +// +// // Ajouter le Process dans le modèle +// resource.getContents().add(process); +// +// // Ajouter deux WorkDefinitions +// WorkDefinition wd1 = myFactory.createWorkDefinition(); +// wd1.setName("Ma première WorkDefinition, quelle émotion"); +// +// WorkDefinition wd2 = myFactory.createWorkDefinition(); +// wd2.setName("Ma deuxième WorkDefinition, toujours autant d'émotion"); +// +// process.getProcessElements().add(wd1); +// process.getProcessElements().add(wd2); +// +// // Ajouter une WorkSequence entre les deux WorkDefinitions +// WorkSequence seq = myFactory.createWorkSequence(); +// seq.setPredecessor(wd1); +// seq.setSuccessor(wd2); +// seq.setLinkType(WorkSequenceType.FINISH_TO_FINISH); +// +// process.getProcessElements().add(seq); +// +// // Ajouter une deuxième WorkSequence entre les deux WorkDefinitions +// WorkSequence seq2 = myFactory.createWorkSequence(); +// seq2.setPredecessor(wd1); +// seq2.setSuccessor(wd2); +// seq2.setLinkType(WorkSequenceType.START_TO_START); +// +// process.getProcessElements().add(seq2); + + + // Sauver la ressource + try { + resource.save(Collections.EMPTY_MAP); + } catch (IOException e) { + e.printStackTrace(); + } + } + +} diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/c0/9003c0ee4b29001c101babefb5abd0b0 b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/c0/9003c0ee4b29001c101babefb5abd0b0 new file mode 100644 index 0000000..cf4fbb8 --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/c0/9003c0ee4b29001c101babefb5abd0b0 @@ -0,0 +1,119 @@ +package simplepdl.manip; + +import java.io.IOException; +import java.util.Collections; +import java.util.Map; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; + +import petrinet.PetrinetPackage; +import petrinet.Place; +import petrinet.Transition; +import petrinet.Arc; +import petrinet.Network; +import petrinet.PetrinetFactory; +import simplepdl.Process; +import simplepdl.WorkDefinition; +import simplepdl.WorkSequence; +import simplepdl.WorkSequenceType; +import simplepdl.SimplepdlFactory; +import simplepdl.SimplepdlPackage; + +public class simplepdl2petrinet { + + public static void main(String[] args) { + + // Charger les package SimplePDL et Petrinet afin de les enregistrer dans le registre d'Eclipse. + SimplepdlPackage packageInstance = SimplepdlPackage.eINSTANCE; + PetrinetPackage packageInstance2 = PetrinetPackage.eINSTANCE; + + // Enregistrer l'extension ".xmi" comme devant être ouverte à + // l'aide d'un objet "XMIResourceFactoryImpl" + Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE; + Map m = reg.getExtensionToFactoryMap(); + m.put("xmi", new XMIResourceFactoryImpl()); + + // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) + ResourceSet resSet = new ResourceSetImpl(); + + // Charger la ressource (notre modèle) + URI modelURI = URI.createURI("pdl-sujet.xmi"); + Resource resource = resSet.getResource(modelURI, true); + + // Créer la ressource (modèle convertit) + URI convURI = URI.createURI("test.xmi"); + Resource conv = resSet.getResource(convURI, true); + + // Récupérer le premier élément du modèle (élément racine) + Process process = (Process) resource.getContents().get(0); + + // La fabrique pour fabriquer les éléments de PetriNET + PetrinetFactory myFactory = PetrinetFactory.eINSTANCE; + + // Créer un élément Network + Network network = myFactory.createNetwork(); + network.setName(process.getName()); + + // Conversion des WorkDefinition en Node et Transition + for (Object o : process.getProcessElements()) { + if (o instanceof WorkDefinition) { + WorkDefinition wd = (WorkDefinition) o; + String name = wd.getName(); + + Place idle = myFactory.createPlace(); + idle.setName(name + "_idle"); + idle.setTokens(1); + Place running = myFactory.createPlace(); + running.setName(name + "_running"); + running.setTokens(1); + Place finished = myFactory.createPlace(); + finished.setName(name + "_finished"); + finished.setTokens(1); + + Arc pause2start = myFactory.createArc(); + pause2start.setTarget(idle); + pause2start.setOutgoing(false); + pause2start.setWeight(1); + Arc start2running = myFactory.createArc(); + start2running.setTarget(running); + start2running.setOutgoing(true); + start2running.setWeight(1); + Transition start = myFactory.createTransition(); + start.setName(name + "_start"); + start.getArcs().add(pause2start); + start.getArcs().add(start2running); + + Arc running2finish = myFactory.createArc(); + running2finish.setTarget(running); + running2finish.setOutgoing(false); + running2finish.setWeight(1); + Arc finish2finished = myFactory.createArc(); + finish2finished.setTarget(finished); + finish2finished.setOutgoing(true); + finish2finished.setWeight(1); + Transition finish = myFactory.createTransition(); + finish.setName(name + "_finish"); + finish.getArcs().add(running2finish); + finish.getArcs().add(finish2finished); + + network.getNodes().add(idle); + network.getNodes().add(start); + network.getNodes().add(running); + network.getNodes().add(finish); + network.getNodes().add(finished); + } + } + + // Sauver la ressource + try { + conv.save(Collections.EMPTY_MAP); + } catch (IOException e) { + e.printStackTrace(); + } + } + +} diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/c2/60a16f214c29001c101babefb5abd0b0 b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/c2/60a16f214c29001c101babefb5abd0b0 new file mode 100644 index 0000000..82e5050 --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/c2/60a16f214c29001c101babefb5abd0b0 @@ -0,0 +1,119 @@ +package simplepdl.manip; + +import java.io.IOException; +import java.util.Collections; +import java.util.Map; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; + +import petrinet.PetrinetPackage; +import petrinet.Place; +import petrinet.Transition; +import petrinet.Arc; +import petrinet.Network; +import petrinet.PetrinetFactory; +import simplepdl.Process; +import simplepdl.WorkDefinition; +import simplepdl.WorkSequence; +import simplepdl.WorkSequenceType; +import simplepdl.SimplepdlFactory; +import simplepdl.SimplepdlPackage; + +public class simplepdl2petrinet { + + public static void main(String[] args) { + + // Charger les package SimplePDL et Petrinet afin de les enregistrer dans le registre d'Eclipse. + SimplepdlPackage packageInstance = SimplepdlPackage.eINSTANCE; + PetrinetPackage packageInstance2 = PetrinetPackage.eINSTANCE; + + // Enregistrer l'extension ".xmi" comme devant être ouverte à + // l'aide d'un objet "XMIResourceFactoryImpl" + Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE; + Map m = reg.getExtensionToFactoryMap(); + m.put("xmi", new XMIResourceFactoryImpl()); + + // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) + ResourceSet resSet = new ResourceSetImpl(); + + // Charger la ressource (notre modèle) + URI modelURI = URI.createURI("pdl-sujet.xmi"); + Resource resource = resSet.getResource(modelURI, true); + + // Créer la ressource (modèle convertit) + URI convURI = URI.createURI("test.xmi"); + Resource conv = resSet.createResource(convURI); + + // Récupérer le premier élément du modèle (élément racine) + Process process = (Process) resource.getContents().get(0); + + // La fabrique pour fabriquer les éléments de PetriNET + PetrinetFactory myFactory = PetrinetFactory.eINSTANCE; + + // Créer un élément Network + Network network = myFactory.createNetwork(); + network.setName(process.getName()); + + // Conversion des WorkDefinition en Node et Transition + for (Object o : process.getProcessElements()) { + if (o instanceof WorkDefinition) { + WorkDefinition wd = (WorkDefinition) o; + String name = wd.getName(); + + Place idle = myFactory.createPlace(); + idle.setName(name + "_idle"); + idle.setTokens(1); + Place running = myFactory.createPlace(); + running.setName(name + "_running"); + running.setTokens(1); + Place finished = myFactory.createPlace(); + finished.setName(name + "_finished"); + finished.setTokens(1); + + Arc pause2start = myFactory.createArc(); + pause2start.setTarget(idle); + pause2start.setOutgoing(false); + pause2start.setWeight(1); + Arc start2running = myFactory.createArc(); + start2running.setTarget(running); + start2running.setOutgoing(true); + start2running.setWeight(1); + Transition start = myFactory.createTransition(); + start.setName(name + "_start"); + start.getArcs().add(pause2start); + start.getArcs().add(start2running); + + Arc running2finish = myFactory.createArc(); + running2finish.setTarget(running); + running2finish.setOutgoing(false); + running2finish.setWeight(1); + Arc finish2finished = myFactory.createArc(); + finish2finished.setTarget(finished); + finish2finished.setOutgoing(true); + finish2finished.setWeight(1); + Transition finish = myFactory.createTransition(); + finish.setName(name + "_finish"); + finish.getArcs().add(running2finish); + finish.getArcs().add(finish2finished); + + network.getNodes().add(idle); + network.getNodes().add(start); + network.getNodes().add(running); + network.getNodes().add(finish); + network.getNodes().add(finished); + } + } + + // Sauver la ressource + try { + conv.save(Collections.EMPTY_MAP); + } catch (IOException e) { + e.printStackTrace(); + } + } + +} diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/cb/b0c591454b29001c101babefb5abd0b0 b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/cb/b0c591454b29001c101babefb5abd0b0 new file mode 100644 index 0000000..75e9156 --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/cb/b0c591454b29001c101babefb5abd0b0 @@ -0,0 +1,119 @@ +package simplepdl.manip; + +import java.io.IOException; +import java.util.Collections; +import java.util.Map; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; + +import petrinet.PetrinetPackage; +import petrinet.Place; +import petrinet.Transition; +import petrinet.Arc; +import petrinet.Network; +import petrinet.PetrinetFactory; +import simplepdl.Process; +import simplepdl.WorkDefinition; +import simplepdl.WorkSequence; +import simplepdl.WorkSequenceType; +import simplepdl.SimplepdlFactory; +import simplepdl.SimplepdlPackage; + +public class simplepdl2petrinet { + + public static void main(String[] args) { + + // Charger les package SimplePDL et Petrinet afin de les enregistrer dans le registre d'Eclipse. + SimplepdlPackage packageInstance = SimplepdlPackage.eINSTANCE; + PetrinetPackage packageInstance2 = PetrinetPackage.eINSTANCE; + + // Enregistrer l'extension ".xmi" comme devant être ouverte à + // l'aide d'un objet "XMIResourceFactoryImpl" + Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE; + Map m = reg.getExtensionToFactoryMap(); + m.put("xmi", new XMIResourceFactoryImpl()); + + // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) + ResourceSet resSet = new ResourceSetImpl(); + + // Charger la ressource (notre modèle) + URI modelURI = URI.createURI("pdl-sujet.xmi"); + Resource resource = resSet.getResource(modelURI, true); + + // Créer la ressource (modèle convertit) + URI convURI = URI.createURI("test.xmi"); + Resource conv = resSet.getResource(convURI, true); + + // Récupérer le premier élément du modèle (élément racine) + Process process = (Process) resource.getContents().get(0); + + // La fabrique pour fabriquer les éléments de PetriNET + PetrinetFactory myFactory = PetrinetFactory.eINSTANCE; + + // Créer un élément Network + Network network = myFactory.createNetwork(); + network.setName(process.getName()); + + // Conversion des WorkDefinition en Node et Transition + for (Object o : process.getProcessElements()) { + if (o instanceof WorkDefinition) { + WorkDefinition wd = (WorkDefinition) o; + String name = wd.getName(); + + Place idle = myFactory.createPlace(); + idle.setName(name + "_idle"); + idle.setTokens(1); + Place running = myFactory.createPlace(); + running.setName(name + "_running"); + running.setTokens(1); + Place finished = myFactory.createPlace(); + finished.setName(name + "_finished"); + finished.setTokens(1); + + Arc pause2start = myFactory.createArc(); + pause2start.setTarget(idle); + pause2start.setOutgoing(false); + pause2start.setWeight(1); + Arc start2running = myFactory.createArc(); + start2running.setTarget(running); + start2running.setOutgoing(true); + start2running.setWeight(1); + Transition start = myFactory.createTransition(); + start.setName(name + "_start"); + start.getArcs().add(pause2start); + start.getArcs().add(start2running); + + Arc running2finish = myFactory.createArc(); + running2finish.setTarget(running); + running2finish.setOutgoing(false); + running2finish.setWeight(1); + Arc finish2finished = myFactory.createArc(); + finish2finished.setTarget(finished); + finish2finished.setOutgoing(true); + finish2finished.setWeight(1); + Transition finish = myFactory.createTransition(); + finish.setName(name + "_finish"); + finish.getArcs().add(running2finish); + finish.getArcs().add(finish2finished); + + network.getNodes().add(idle); + network.getNodes().add(start); + network.getNodes().add(running); + network.getNodes().add(finish); + network.getNodes().add(finished); + } + } + + // Sauver la ressource + try { + resource.save(Collections.EMPTY_MAP); + } catch (IOException e) { + e.printStackTrace(); + } + } + +} diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d1/f02d90194e29001c101babefb5abd0b0 b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d1/f02d90194e29001c101babefb5abd0b0 new file mode 100644 index 0000000..b19f539 --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d1/f02d90194e29001c101babefb5abd0b0 @@ -0,0 +1,125 @@ +package simplepdl.manip; + +import java.io.IOException; +import java.util.Collections; +import java.util.Map; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; + +import petrinet.PetrinetPackage; +import petrinet.Place; +import petrinet.Transition; +import petrinet.Arc; +import petrinet.Network; +import petrinet.PetrinetFactory; +import simplepdl.Process; +import simplepdl.WorkDefinition; +import simplepdl.WorkSequence; +import simplepdl.WorkSequenceType; +import simplepdl.SimplepdlFactory; +import simplepdl.SimplepdlPackage; + +public class simplepdl2petrinet { + + public static void main(String[] args) { + + // Charger les package SimplePDL et Petrinet afin de les enregistrer dans le registre d'Eclipse. + SimplepdlPackage packageInstance = SimplepdlPackage.eINSTANCE; + PetrinetPackage packageInstance2 = PetrinetPackage.eINSTANCE; + + // Enregistrer l'extension ".xmi" comme devant être ouverte à + // l'aide d'un objet "XMIResourceFactoryImpl" + Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE; + Map m = reg.getExtensionToFactoryMap(); + m.put("xmi", new XMIResourceFactoryImpl()); + + // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) + ResourceSet resGet = new ResourceSetImpl(); + + // Charger la ressource (notre modèle) + URI modelURI = URI.createURI("pdl-sujet.xmi"); + Resource resource = resGet.getResource(modelURI, true); + + // Récupérer le premier élément du modèle (élément racine) + Process process = (Process) resource.getContents().get(0); + + // La fabrique pour fabriquer les éléments de PetriNET + PetrinetFactory myFactory = PetrinetFactory.eINSTANCE; + + // Créer un élément Network + Network network = myFactory.createNetwork(); + network.setName(process.getName()); + + // Conversion des WorkDefinition en Node et Transition + for (Object o : process.getProcessElements()) { + if (o instanceof WorkDefinition) { + WorkDefinition wd = (WorkDefinition) o; + String name = wd.getName(); + System.out.println(" - " + name); + + Place idle = myFactory.createPlace(); + idle.setName(name + "_idle"); + idle.setTokens(1); + Place running = myFactory.createPlace(); + running.setName(name + "_running"); + running.setTokens(1); + Place finished = myFactory.createPlace(); + finished.setName(name + "_finished"); + finished.setTokens(1); + + Arc pause2start = myFactory.createArc(); + pause2start.setTarget(idle); + pause2start.setOutgoing(false); + pause2start.setWeight(1); + Arc start2running = myFactory.createArc(); + start2running.setTarget(running); + start2running.setOutgoing(true); + start2running.setWeight(1); + Transition start = myFactory.createTransition(); + start.setName(name + "_start"); + start.getArcs().add(pause2start); + start.getArcs().add(start2running); + + Arc running2finish = myFactory.createArc(); + running2finish.setTarget(running); + running2finish.setOutgoing(false); + running2finish.setWeight(1); + Arc finish2finished = myFactory.createArc(); + finish2finished.setTarget(finished); + finish2finished.setOutgoing(true); + finish2finished.setWeight(1); + Transition finish = myFactory.createTransition(); + finish.setName(name + "_finish"); + finish.getArcs().add(running2finish); + finish.getArcs().add(finish2finished); + + System.out.println(" + " + idle.getName() + " (" + idle.getTokens() + ")"); + + network.getNodes().add(idle); + network.getNodes().add(start); + network.getNodes().add(running); + network.getNodes().add(finish); + network.getNodes().add(finished); + } + } + + // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) + ResourceSet resSet = new ResourceSetImpl(); + + // Créer le nouveau xmi (modèle convertit) + URI convURI = URI.createURI("test.xmi"); + Resource conv = resSet.createResource(convURI); + + // Sauver la ressource + try { + conv.save(Collections.EMPTY_MAP); + } catch (IOException e) { + e.printStackTrace(); + } + } + +} diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d2/f061da4b4829001c101babefb5abd0b0 b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d2/f061da4b4829001c101babefb5abd0b0 new file mode 100644 index 0000000..9f194eb --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d2/f061da4b4829001c101babefb5abd0b0 @@ -0,0 +1,91 @@ +package simplepdl.manip; + +import java.io.IOException; +import java.util.Collections; +import java.util.Map; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; + +import petrinet.PetrinetPackage; +import petrinet.PetrinetFactory; +import simplepdl.Process; +import simplepdl.WorkDefinition; +import simplepdl.WorkSequence; +import simplepdl.WorkSequenceType; +import simplepdl.SimplepdlFactory; +import simplepdl.SimplepdlPackage; + +public class simplepdl2petrinet { + + public static void main(String[] args) { + + // Charger les package SimplePDL et Petrinet afin de les enregistrer dans le registre d'Eclipse. + SimplepdlPackage packageInstance = SimplepdlPackage.eINSTANCE; + PetrinetPackage packageInstance2 = PetrinetPackage.eINSTANCE; + + // Enregistrer l'extension ".xmi" comme devant être ouverte à + // l'aide d'un objet "XMIResourceFactoryImpl" + Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE; + Map m = reg.getExtensionToFactoryMap(); + m.put("xmi", new XMIResourceFactoryImpl()); + + // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) + ResourceSet resSet = new ResourceSetImpl(); + + // Charger la ressource (notre modèle) + URI modelURI = URI.createURI("pdl-sujet.xmi"); + Resource resource = resSet.getResource(modelURI, true); + + // Récupérer le premier élément du modèle (élément racine) + Process process = (Process) resource.getContents().get(0); + + // La fabrique pour fabriquer les éléments de PetriNET + PetrinetFactory myFactory = PetrinetFactory.eINSTANCE; + + // Créer un élément Process + Process process = myFactory.createProcess(); + process.setName("Mon premier processus"); + + // Ajouter le Process dans le modèle + resource.getContents().add(process); + + // Ajouter deux WorkDefinitions + WorkDefinition wd1 = myFactory.createWorkDefinition(); + wd1.setName("Ma première WorkDefinition, quelle émotion"); + + WorkDefinition wd2 = myFactory.createWorkDefinition(); + wd2.setName("Ma deuxième WorkDefinition, toujours autant d'émotion"); + + process.getProcessElements().add(wd1); + process.getProcessElements().add(wd2); + + // Ajouter une WorkSequence entre les deux WorkDefinitions + WorkSequence seq = myFactory.createWorkSequence(); + seq.setPredecessor(wd1); + seq.setSuccessor(wd2); + seq.setLinkType(WorkSequenceType.FINISH_TO_FINISH); + + process.getProcessElements().add(seq); + + // Ajouter une deuxième WorkSequence entre les deux WorkDefinitions + WorkSequence seq2 = myFactory.createWorkSequence(); + seq2.setPredecessor(wd1); + seq2.setSuccessor(wd2); + seq2.setLinkType(WorkSequenceType.START_TO_START); + + process.getProcessElements().add(seq2); + + + // Sauver la ressource + try { + resource.save(Collections.EMPTY_MAP); + } catch (IOException e) { + e.printStackTrace(); + } + } + +} diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d9/90a6d1754c29001c101babefb5abd0b0 b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d9/90a6d1754c29001c101babefb5abd0b0 new file mode 100644 index 0000000..b882797 --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/d9/90a6d1754c29001c101babefb5abd0b0 @@ -0,0 +1,120 @@ +package simplepdl.manip; + +import java.io.IOException; +import java.util.Collections; +import java.util.Map; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; + +import petrinet.PetrinetPackage; +import petrinet.Place; +import petrinet.Transition; +import petrinet.Arc; +import petrinet.Network; +import petrinet.PetrinetFactory; +import simplepdl.Process; +import simplepdl.WorkDefinition; +import simplepdl.WorkSequence; +import simplepdl.WorkSequenceType; +import simplepdl.SimplepdlFactory; +import simplepdl.SimplepdlPackage; + +public class simplepdl2petrinet { + + public static void main(String[] args) { + + // Charger les package SimplePDL et Petrinet afin de les enregistrer dans le registre d'Eclipse. + SimplepdlPackage packageInstance = SimplepdlPackage.eINSTANCE; + PetrinetPackage packageInstance2 = PetrinetPackage.eINSTANCE; + + // Enregistrer l'extension ".xmi" comme devant être ouverte à + // l'aide d'un objet "XMIResourceFactoryImpl" + Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE; + Map m = reg.getExtensionToFactoryMap(); + m.put("xmi", new XMIResourceFactoryImpl()); + + // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) + ResourceSet resSet = new ResourceSetImpl(); + + // Charger la ressource (notre modèle) + URI modelURI = URI.createURI("pdl-sujet.xmi"); + Resource resource = resSet.getResource(modelURI, true); + + // Créer la ressource (modèle convertit) + URI convURI = URI.createURI("test.xmi"); + Resource conv = resSet.createResource(convURI); + + // Récupérer le premier élément du modèle (élément racine) + Process process = (Process) resource.getContents().get(0); + + // La fabrique pour fabriquer les éléments de PetriNET + PetrinetFactory myFactory = PetrinetFactory.eINSTANCE; + + // Créer un élément Network + Network network = myFactory.createNetwork(); + network.setName(process.getName()); + + // Conversion des WorkDefinition en Node et Transition + for (Object o : process.getProcessElements()) { + if (o instanceof WorkDefinition) { + WorkDefinition wd = (WorkDefinition) o; + String name = wd.getName(); + System.out.println(" - " + name); + + Place idle = myFactory.createPlace(); + idle.setName(name + "_idle"); + idle.setTokens(1); + Place running = myFactory.createPlace(); + running.setName(name + "_running"); + running.setTokens(1); + Place finished = myFactory.createPlace(); + finished.setName(name + "_finished"); + finished.setTokens(1); + + Arc pause2start = myFactory.createArc(); + pause2start.setTarget(idle); + pause2start.setOutgoing(false); + pause2start.setWeight(1); + Arc start2running = myFactory.createArc(); + start2running.setTarget(running); + start2running.setOutgoing(true); + start2running.setWeight(1); + Transition start = myFactory.createTransition(); + start.setName(name + "_start"); + start.getArcs().add(pause2start); + start.getArcs().add(start2running); + + Arc running2finish = myFactory.createArc(); + running2finish.setTarget(running); + running2finish.setOutgoing(false); + running2finish.setWeight(1); + Arc finish2finished = myFactory.createArc(); + finish2finished.setTarget(finished); + finish2finished.setOutgoing(true); + finish2finished.setWeight(1); + Transition finish = myFactory.createTransition(); + finish.setName(name + "_finish"); + finish.getArcs().add(running2finish); + finish.getArcs().add(finish2finished); + + network.getNodes().add(idle); + network.getNodes().add(start); + network.getNodes().add(running); + network.getNodes().add(finish); + network.getNodes().add(finished); + } + } + + // Sauver la ressource + try { + conv.save(Collections.EMPTY_MAP); + } catch (IOException e) { + e.printStackTrace(); + } + } + +} diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/db/d0f6c8604829001c101babefb5abd0b0 b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/db/d0f6c8604829001c101babefb5abd0b0 new file mode 100644 index 0000000..f013141 --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/db/d0f6c8604829001c101babefb5abd0b0 @@ -0,0 +1,92 @@ +package simplepdl.manip; + +import java.io.IOException; +import java.util.Collections; +import java.util.Map; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; + +import petrinet.PetrinetPackage; +import petrinet.Network; +import petrinet.PetrinetFactory; +import simplepdl.Process; +import simplepdl.WorkDefinition; +import simplepdl.WorkSequence; +import simplepdl.WorkSequenceType; +import simplepdl.SimplepdlFactory; +import simplepdl.SimplepdlPackage; + +public class simplepdl2petrinet { + + public static void main(String[] args) { + + // Charger les package SimplePDL et Petrinet afin de les enregistrer dans le registre d'Eclipse. + SimplepdlPackage packageInstance = SimplepdlPackage.eINSTANCE; + PetrinetPackage packageInstance2 = PetrinetPackage.eINSTANCE; + + // Enregistrer l'extension ".xmi" comme devant être ouverte à + // l'aide d'un objet "XMIResourceFactoryImpl" + Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE; + Map m = reg.getExtensionToFactoryMap(); + m.put("xmi", new XMIResourceFactoryImpl()); + + // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) + ResourceSet resSet = new ResourceSetImpl(); + + // Charger la ressource (notre modèle) + URI modelURI = URI.createURI("pdl-sujet.xmi"); + Resource resource = resSet.getResource(modelURI, true); + + // Récupérer le premier élément du modèle (élément racine) + Process process = (Process) resource.getContents().get(0); + + // La fabrique pour fabriquer les éléments de PetriNET + PetrinetFactory myFactory = PetrinetFactory.eINSTANCE; + + // Créer un élément Network + Network network = myFactory.createNetwork(); + network.setName(process.getName()); +// +// // Ajouter le Process dans le modèle +// resource.getContents().add(process); +// +// // Ajouter deux WorkDefinitions +// WorkDefinition wd1 = myFactory.createWorkDefinition(); +// wd1.setName("Ma première WorkDefinition, quelle émotion"); +// +// WorkDefinition wd2 = myFactory.createWorkDefinition(); +// wd2.setName("Ma deuxième WorkDefinition, toujours autant d'émotion"); +// +// process.getProcessElements().add(wd1); +// process.getProcessElements().add(wd2); +// +// // Ajouter une WorkSequence entre les deux WorkDefinitions +// WorkSequence seq = myFactory.createWorkSequence(); +// seq.setPredecessor(wd1); +// seq.setSuccessor(wd2); +// seq.setLinkType(WorkSequenceType.FINISH_TO_FINISH); +// +// process.getProcessElements().add(seq); +// +// // Ajouter une deuxième WorkSequence entre les deux WorkDefinitions +// WorkSequence seq2 = myFactory.createWorkSequence(); +// seq2.setPredecessor(wd1); +// seq2.setSuccessor(wd2); +// seq2.setLinkType(WorkSequenceType.START_TO_START); +// +// process.getProcessElements().add(seq2); + + + // Sauver la ressource + try { + resource.save(Collections.EMPTY_MAP); + } catch (IOException e) { + e.printStackTrace(); + } + } + +} diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/e1/8098e7234729001c101babefb5abd0b0 b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/e1/8098e7234729001c101babefb5abd0b0 new file mode 100644 index 0000000..9d966df --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/e1/8098e7234729001c101babefb5abd0b0 @@ -0,0 +1,88 @@ +package simplepdl.manip; + +import java.io.IOException; +import java.util.Collections; +import java.util.Map; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; + +import petrinet.PetrinetPackage; +import petrinet.PetrinetFactory; +import simplepdl.Process; +import simplepdl.WorkDefinition; +import simplepdl.WorkSequence; +import simplepdl.WorkSequenceType; +import simplepdl.SimplepdlFactory; +import simplepdl.SimplepdlPackage; + +public class simplepdl2petrinet { + + public static void main(String[] args) { + + // Charger les package SimplePDL et Petrinet afin de les enregistrer dans le registre d'Eclipse. + SimplepdlPackage packageInstance = SimplepdlPackage.eINSTANCE; + PetrinetPackage packageInstance2 = PetrinetPackage.eINSTANCE; + + // Enregistrer l'extension ".xmi" comme devant être ouverte à + // l'aide d'un objet "XMIResourceFactoryImpl" + Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE; + Map m = reg.getExtensionToFactoryMap(); + m.put("xmi", new XMIResourceFactoryImpl()); + + // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) + ResourceSet resSet = new ResourceSetImpl(); + + // Définir la ressource (le modèle) + URI modelURI = URI.createURI("models/SimplePDLCreator_Created_Process.xmi"); + Resource resource = resSet.createResource(modelURI); + + // La fabrique pour fabriquer les éléments de SimplePDL + SimplepdlFactory myFactory = SimplepdlFactory.eINSTANCE; + + // Créer un élément Process + Process process = myFactory.createProcess(); + process.setName("Mon premier processus"); + + // Ajouter le Process dans le modèle + resource.getContents().add(process); + + // Ajouter deux WorkDefinitions + WorkDefinition wd1 = myFactory.createWorkDefinition(); + wd1.setName("Ma première WorkDefinition, quelle émotion"); + + WorkDefinition wd2 = myFactory.createWorkDefinition(); + wd2.setName("Ma deuxième WorkDefinition, toujours autant d'émotion"); + + process.getProcessElements().add(wd1); + process.getProcessElements().add(wd2); + + // Ajouter une WorkSequence entre les deux WorkDefinitions + WorkSequence seq = myFactory.createWorkSequence(); + seq.setPredecessor(wd1); + seq.setSuccessor(wd2); + seq.setLinkType(WorkSequenceType.FINISH_TO_FINISH); + + process.getProcessElements().add(seq); + + // Ajouter une deuxième WorkSequence entre les deux WorkDefinitions + WorkSequence seq2 = myFactory.createWorkSequence(); + seq2.setPredecessor(wd1); + seq2.setSuccessor(wd2); + seq2.setLinkType(WorkSequenceType.START_TO_START); + + process.getProcessElements().add(seq2); + + + // Sauver la ressource + try { + resource.save(Collections.EMPTY_MAP); + } catch (IOException e) { + e.printStackTrace(); + } + } + +} diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/e4/007ba4614e29001c101babefb5abd0b0 b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/e4/007ba4614e29001c101babefb5abd0b0 new file mode 100644 index 0000000..930e3f5 --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/e4/007ba4614e29001c101babefb5abd0b0 @@ -0,0 +1,122 @@ +package simplepdl.manip; + +import java.io.IOException; +import java.util.Collections; +import java.util.Map; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; + +import petrinet.PetrinetPackage; +import petrinet.Place; +import petrinet.Transition; +import petrinet.Arc; +import petrinet.Network; +import petrinet.PetrinetFactory; +import simplepdl.Process; +import simplepdl.WorkDefinition; +import simplepdl.WorkSequence; +import simplepdl.WorkSequenceType; +import simplepdl.SimplepdlFactory; +import simplepdl.SimplepdlPackage; + +public class simplepdl2petrinet { + + public static void main(String[] args) { + + // Charger les package SimplePDL et Petrinet afin de les enregistrer dans le registre d'Eclipse. + SimplepdlPackage packageInstance = SimplepdlPackage.eINSTANCE; + PetrinetPackage packageInstance2 = PetrinetPackage.eINSTANCE; + + // Enregistrer l'extension ".xmi" comme devant être ouverte à + // l'aide d'un objet "XMIResourceFactoryImpl" + Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE; + Map m = reg.getExtensionToFactoryMap(); + m.put("xmi", new XMIResourceFactoryImpl()); + + // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) + ResourceSet resSet = new ResourceSetImpl(); + + // Charger la ressource (notre modèle) + URI modelURI = URI.createURI("pdl-sujet.xmi"); + Resource resource = resSet.getResource(modelURI, true); + + // Récupérer le premier élément du modèle (élément racine) + Process process = (Process) resource.getContents().get(0); + + // La fabrique pour fabriquer les éléments de PetriNET + PetrinetFactory myFactory = PetrinetFactory.eINSTANCE; + + // Créer un élément Network + Network network = myFactory.createNetwork(); + network.setName(process.getName()); + + // Conversion des WorkDefinition en Node et Transition + for (Object o : process.getProcessElements()) { + if (o instanceof WorkDefinition) { + WorkDefinition wd = (WorkDefinition) o; + String name = wd.getName(); + System.out.println(" - " + name); + + Place idle = myFactory.createPlace(); + idle.setName(name + "_idle"); + idle.setTokens(1); + Place running = myFactory.createPlace(); + running.setName(name + "_running"); + running.setTokens(1); + Place finished = myFactory.createPlace(); + finished.setName(name + "_finished"); + finished.setTokens(1); + + Arc pause2start = myFactory.createArc(); + pause2start.setTarget(idle); + pause2start.setOutgoing(false); + pause2start.setWeight(1); + Arc start2running = myFactory.createArc(); + start2running.setTarget(running); + start2running.setOutgoing(true); + start2running.setWeight(1); + Transition start = myFactory.createTransition(); + start.setName(name + "_start"); + start.getArcs().add(pause2start); + start.getArcs().add(start2running); + + Arc running2finish = myFactory.createArc(); + running2finish.setTarget(running); + running2finish.setOutgoing(false); + running2finish.setWeight(1); + Arc finish2finished = myFactory.createArc(); + finish2finished.setTarget(finished); + finish2finished.setOutgoing(true); + finish2finished.setWeight(1); + Transition finish = myFactory.createTransition(); + finish.setName(name + "_finish"); + finish.getArcs().add(running2finish); + finish.getArcs().add(finish2finished); + + System.out.println(" + " + idle.getName() + " (" + idle.getTokens() + ")"); + + network.getNodes().add(idle); + network.getNodes().add(start); + network.getNodes().add(running); + network.getNodes().add(finish); + network.getNodes().add(finished); + } + } + + // Créer le nouveau xmi (modèle convertit) + URI convURI = URI.createURI("test.xmi"); + Resource conv = resSet.createResource(convURI); + + // Sauver la ressource + try { + conv.save(Collections.EMPTY_MAP); + } catch (IOException e) { + e.printStackTrace(); + } + } + +} diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/e4/009e2afe4929001c101babefb5abd0b0 b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/e4/009e2afe4929001c101babefb5abd0b0 new file mode 100644 index 0000000..ec13165 --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/e4/009e2afe4929001c101babefb5abd0b0 @@ -0,0 +1,139 @@ +package simplepdl.manip; + +import java.io.IOException; +import java.util.Collections; +import java.util.Map; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; + +import petrinet.PetrinetPackage; +import petrinet.Place; +import petrinet.Transition; +import petrinet.Arc; +import petrinet.Network; +import petrinet.PetrinetFactory; +import simplepdl.Process; +import simplepdl.WorkDefinition; +import simplepdl.WorkSequence; +import simplepdl.WorkSequenceType; +import simplepdl.SimplepdlFactory; +import simplepdl.SimplepdlPackage; + +public class simplepdl2petrinet { + + public static void main(String[] args) { + + // Charger les package SimplePDL et Petrinet afin de les enregistrer dans le registre d'Eclipse. + SimplepdlPackage packageInstance = SimplepdlPackage.eINSTANCE; + PetrinetPackage packageInstance2 = PetrinetPackage.eINSTANCE; + + // Enregistrer l'extension ".xmi" comme devant être ouverte à + // l'aide d'un objet "XMIResourceFactoryImpl" + Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE; + Map m = reg.getExtensionToFactoryMap(); + m.put("xmi", new XMIResourceFactoryImpl()); + + // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) + ResourceSet resSet = new ResourceSetImpl(); + + // Charger la ressource (notre modèle) + URI modelURI = URI.createURI("pdl-sujet.xmi"); + Resource resource = resSet.getResource(modelURI, true); + + // Récupérer le premier élément du modèle (élément racine) + Process process = (Process) resource.getContents().get(0); + + // La fabrique pour fabriquer les éléments de PetriNET + PetrinetFactory myFactory = PetrinetFactory.eINSTANCE; + + // Créer un élément Network + Network network = myFactory.createNetwork(); + network.setName(process.getName()); + + // Conversion des WorkDefinition en Node et Transition + for (Object o : process.getProcessElements()) { + if (o instanceof WorkDefinition) { + WorkDefinition wd = (WorkDefinition) o; + String name = wd.getName(); + + Place idle = myFactory.createPlace(); + idle.setName(name + "_idle"); + idle.setTokens(1); + Place running = myFactory.createPlace(); + running.setName(name + "_running"); + running.setTokens(1); + Place finished = myFactory.createPlace(); + finished.setName(name + "_finished"); + finished.setTokens(1); + + Arc pause2start = myFactory.createArc(); + pause2start.setTarget(idle); + pause2start.setOutgoing(false); + pause2start.setWeight(1); + Arc start2running = myFactory.createArc(); + start2running.setTarget(running); + start2running.setOutgoing(true); + start2running.setWeight(1); + Transition start = myFactory.createTransition(); + start.setName(name + "_start"); + start.getArcs().add(pause2start); + start.getArcs().add(start2running); + + Arc running2finish = myFactory.createArc(); + running2finish.setTarget(running); + running2finish.setOutgoing(false); + running2finish.setWeight(1); + Arc finish2finished = myFactory.createArc(); + finish2finished.setTarget(finished); + finish2finished.setOutgoing(true); + finish2finished.setWeight(1); + Transition finish = myFactory.createTransition(); + finish.setName(name + "_finish"); + finish.getArcs().add(running2finish); + finish.getArcs().add(finish2finished); + } + } +// +// // Ajouter le Process dans le modèle +// resource.getContents().add(process); +// +// // Ajouter deux WorkDefinitions +// WorkDefinition wd1 = myFactory.createWorkDefinition(); +// wd1.setName("Ma première WorkDefinition, quelle émotion"); +// +// WorkDefinition wd2 = myFactory.createWorkDefinition(); +// wd2.setName("Ma deuxième WorkDefinition, toujours autant d'émotion"); +// +// process.getProcessElements().add(wd1); +// process.getProcessElements().add(wd2); +// +// // Ajouter une WorkSequence entre les deux WorkDefinitions +// WorkSequence seq = myFactory.createWorkSequence(); +// seq.setPredecessor(wd1); +// seq.setSuccessor(wd2); +// seq.setLinkType(WorkSequenceType.FINISH_TO_FINISH); +// +// process.getProcessElements().add(seq); +// +// // Ajouter une deuxième WorkSequence entre les deux WorkDefinitions +// WorkSequence seq2 = myFactory.createWorkSequence(); +// seq2.setPredecessor(wd1); +// seq2.setSuccessor(wd2); +// seq2.setLinkType(WorkSequenceType.START_TO_START); +// +// process.getProcessElements().add(seq2); + + + // Sauver la ressource + try { + resource.save(Collections.EMPTY_MAP); + } catch (IOException e) { + e.printStackTrace(); + } + } + +} diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/e4/7011ad414b29001c101babefb5abd0b0 b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/e4/7011ad414b29001c101babefb5abd0b0 new file mode 100644 index 0000000..52b6f60 --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/e4/7011ad414b29001c101babefb5abd0b0 @@ -0,0 +1,119 @@ +package simplepdl.manip; + +import java.io.IOException; +import java.util.Collections; +import java.util.Map; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; + +import petrinet.PetrinetPackage; +import petrinet.Place; +import petrinet.Transition; +import petrinet.Arc; +import petrinet.Network; +import petrinet.PetrinetFactory; +import simplepdl.Process; +import simplepdl.WorkDefinition; +import simplepdl.WorkSequence; +import simplepdl.WorkSequenceType; +import simplepdl.SimplepdlFactory; +import simplepdl.SimplepdlPackage; + +public class simplepdl2petrinet { + + public static void main(String[] args) { + + // Charger les package SimplePDL et Petrinet afin de les enregistrer dans le registre d'Eclipse. + SimplepdlPackage packageInstance = SimplepdlPackage.eINSTANCE; + PetrinetPackage packageInstance2 = PetrinetPackage.eINSTANCE; + + // Enregistrer l'extension ".xmi" comme devant être ouverte à + // l'aide d'un objet "XMIResourceFactoryImpl" + Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE; + Map m = reg.getExtensionToFactoryMap(); + m.put("xmi", new XMIResourceFactoryImpl()); + + // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) + ResourceSet resSet = new ResourceSetImpl(); + + // Charger la ressource (notre modèle) + URI modelURI = URI.createURI("pdl-sujet.xmi"); + Resource resource = resSet.getResource(modelURI, true); + + // Créer la ressource (modèle convertit) + URI modelURI = URI.createURI("test.xmi"); + Resource resource = resSet.getResource(modelURI, true); + + // Récupérer le premier élément du modèle (élément racine) + Process process = (Process) resource.getContents().get(0); + + // La fabrique pour fabriquer les éléments de PetriNET + PetrinetFactory myFactory = PetrinetFactory.eINSTANCE; + + // Créer un élément Network + Network network = myFactory.createNetwork(); + network.setName(process.getName()); + + // Conversion des WorkDefinition en Node et Transition + for (Object o : process.getProcessElements()) { + if (o instanceof WorkDefinition) { + WorkDefinition wd = (WorkDefinition) o; + String name = wd.getName(); + + Place idle = myFactory.createPlace(); + idle.setName(name + "_idle"); + idle.setTokens(1); + Place running = myFactory.createPlace(); + running.setName(name + "_running"); + running.setTokens(1); + Place finished = myFactory.createPlace(); + finished.setName(name + "_finished"); + finished.setTokens(1); + + Arc pause2start = myFactory.createArc(); + pause2start.setTarget(idle); + pause2start.setOutgoing(false); + pause2start.setWeight(1); + Arc start2running = myFactory.createArc(); + start2running.setTarget(running); + start2running.setOutgoing(true); + start2running.setWeight(1); + Transition start = myFactory.createTransition(); + start.setName(name + "_start"); + start.getArcs().add(pause2start); + start.getArcs().add(start2running); + + Arc running2finish = myFactory.createArc(); + running2finish.setTarget(running); + running2finish.setOutgoing(false); + running2finish.setWeight(1); + Arc finish2finished = myFactory.createArc(); + finish2finished.setTarget(finished); + finish2finished.setOutgoing(true); + finish2finished.setWeight(1); + Transition finish = myFactory.createTransition(); + finish.setName(name + "_finish"); + finish.getArcs().add(running2finish); + finish.getArcs().add(finish2finished); + + network.getNodes().add(idle); + network.getNodes().add(start); + network.getNodes().add(running); + network.getNodes().add(finish); + network.getNodes().add(finished); + } + } + + // Sauver la ressource + try { + resource.save(Collections.EMPTY_MAP); + } catch (IOException e) { + e.printStackTrace(); + } + } + +} diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/e9/e0da08204b29001c101babefb5abd0b0 b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/e9/e0da08204b29001c101babefb5abd0b0 new file mode 100644 index 0000000..11a9b0f --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/e9/e0da08204b29001c101babefb5abd0b0 @@ -0,0 +1,115 @@ +package simplepdl.manip; + +import java.io.IOException; +import java.util.Collections; +import java.util.Map; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; + +import petrinet.PetrinetPackage; +import petrinet.Place; +import petrinet.Transition; +import petrinet.Arc; +import petrinet.Network; +import petrinet.PetrinetFactory; +import simplepdl.Process; +import simplepdl.WorkDefinition; +import simplepdl.WorkSequence; +import simplepdl.WorkSequenceType; +import simplepdl.SimplepdlFactory; +import simplepdl.SimplepdlPackage; + +public class simplepdl2petrinet { + + public static void main(String[] args) { + + // Charger les package SimplePDL et Petrinet afin de les enregistrer dans le registre d'Eclipse. + SimplepdlPackage packageInstance = SimplepdlPackage.eINSTANCE; + PetrinetPackage packageInstance2 = PetrinetPackage.eINSTANCE; + + // Enregistrer l'extension ".xmi" comme devant être ouverte à + // l'aide d'un objet "XMIResourceFactoryImpl" + Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE; + Map m = reg.getExtensionToFactoryMap(); + m.put("xmi", new XMIResourceFactoryImpl()); + + // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) + ResourceSet resSet = new ResourceSetImpl(); + + // Charger la ressource (notre modèle) + URI modelURI = URI.createURI("pdl-sujet.xmi"); + Resource resource = resSet.getResource(modelURI, true); + + // Récupérer le premier élément du modèle (élément racine) + Process process = (Process) resource.getContents().get(0); + + // La fabrique pour fabriquer les éléments de PetriNET + PetrinetFactory myFactory = PetrinetFactory.eINSTANCE; + + // Créer un élément Network + Network network = myFactory.createNetwork(); + network.setName(process.getName()); + + // Conversion des WorkDefinition en Node et Transition + for (Object o : process.getProcessElements()) { + if (o instanceof WorkDefinition) { + WorkDefinition wd = (WorkDefinition) o; + String name = wd.getName(); + + Place idle = myFactory.createPlace(); + idle.setName(name + "_idle"); + idle.setTokens(1); + Place running = myFactory.createPlace(); + running.setName(name + "_running"); + running.setTokens(1); + Place finished = myFactory.createPlace(); + finished.setName(name + "_finished"); + finished.setTokens(1); + + Arc pause2start = myFactory.createArc(); + pause2start.setTarget(idle); + pause2start.setOutgoing(false); + pause2start.setWeight(1); + Arc start2running = myFactory.createArc(); + start2running.setTarget(running); + start2running.setOutgoing(true); + start2running.setWeight(1); + Transition start = myFactory.createTransition(); + start.setName(name + "_start"); + start.getArcs().add(pause2start); + start.getArcs().add(start2running); + + Arc running2finish = myFactory.createArc(); + running2finish.setTarget(running); + running2finish.setOutgoing(false); + running2finish.setWeight(1); + Arc finish2finished = myFactory.createArc(); + finish2finished.setTarget(finished); + finish2finished.setOutgoing(true); + finish2finished.setWeight(1); + Transition finish = myFactory.createTransition(); + finish.setName(name + "_finish"); + finish.getArcs().add(running2finish); + finish.getArcs().add(finish2finished); + + network.getNodes().add(idle); + network.getNodes().add(start); + network.getNodes().add(running); + network.getNodes().add(finish); + network.getNodes().add(finished); + } + } + + // Sauver la ressource + try { + resource.save(Collections.EMPTY_MAP); + } catch (IOException e) { + e.printStackTrace(); + } + } + +} diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/f2/70b3c7414d29001c101babefb5abd0b0 b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/f2/70b3c7414d29001c101babefb5abd0b0 new file mode 100644 index 0000000..998ac8f --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.history/f2/70b3c7414d29001c101babefb5abd0b0 @@ -0,0 +1,125 @@ +package simplepdl.manip; + +import java.io.IOException; +import java.util.Collections; +import java.util.Map; + +import org.eclipse.emf.common.util.URI; +import org.eclipse.emf.ecore.resource.Resource; +import org.eclipse.emf.ecore.resource.ResourceSet; +import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; + +import petrinet.PetrinetPackage; +import petrinet.Place; +import petrinet.Transition; +import petrinet.Arc; +import petrinet.Network; +import petrinet.PetrinetFactory; +import simplepdl.Process; +import simplepdl.WorkDefinition; +import simplepdl.WorkSequence; +import simplepdl.WorkSequenceType; +import simplepdl.SimplepdlFactory; +import simplepdl.SimplepdlPackage; + +public class simplepdl2petrinet { + + public static void main(String[] args) { + + // Charger les package SimplePDL et Petrinet afin de les enregistrer dans le registre d'Eclipse. + SimplepdlPackage packageInstance = SimplepdlPackage.eINSTANCE; + PetrinetPackage packageInstance2 = PetrinetPackage.eINSTANCE; + + // Enregistrer l'extension ".xmi" comme devant être ouverte à + // l'aide d'un objet "XMIResourceFactoryImpl" + Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE; + Map m = reg.getExtensionToFactoryMap(); + m.put("xmi", new XMIResourceFactoryImpl()); + + // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) + ResourceSet resGet = new ResourceSetImpl(); + + // Charger la ressource (notre modèle) + URI modelURI = URI.createURI("pdl-sujet.xmi"); + Resource resource = resGet.getResource(modelURI, true); + + // Récupérer le premier élément du modèle (élément racine) + Process process = (Process) resource.getContents().get(0); + + // La fabrique pour fabriquer les éléments de PetriNET + PetrinetFactory myFactory = PetrinetFactory.eINSTANCE; + + // Créer un élément Network + Network network = myFactory.createNetwork(); + network.setName(process.getName()); + + // Conversion des WorkDefinition en Node et Transition + for (Object o : process.getProcessElements()) { + if (o instanceof WorkDefinition) { + WorkDefinition wd = (WorkDefinition) o; + String name = wd.getName(); + System.out.println(" - " + name); + + Place idle = myFactory.createPlace(); + idle.setName(name + "_idle"); + idle.setTokens(1); + Place running = myFactory.createPlace(); + running.setName(name + "_running"); + running.setTokens(1); + Place finished = myFactory.createPlace(); + finished.setName(name + "_finished"); + finished.setTokens(1); + + Arc pause2start = myFactory.createArc(); + pause2start.setTarget(idle); + pause2start.setOutgoing(false); + pause2start.setWeight(1); + Arc start2running = myFactory.createArc(); + start2running.setTarget(running); + start2running.setOutgoing(true); + start2running.setWeight(1); + Transition start = myFactory.createTransition(); + start.setName(name + "_start"); + start.getArcs().add(pause2start); + start.getArcs().add(start2running); + + Arc running2finish = myFactory.createArc(); + running2finish.setTarget(running); + running2finish.setOutgoing(false); + running2finish.setWeight(1); + Arc finish2finished = myFactory.createArc(); + finish2finished.setTarget(finished); + finish2finished.setOutgoing(true); + finish2finished.setWeight(1); + Transition finish = myFactory.createTransition(); + finish.setName(name + "_finish"); + finish.getArcs().add(running2finish); + finish.getArcs().add(finish2finished); + + System.out.println(" + " + idle.getName()); + + network.getNodes().add(idle); + network.getNodes().add(start); + network.getNodes().add(running); + network.getNodes().add(finish); + network.getNodes().add(finished); + } + } + + // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) + ResourceSet resSet = new ResourceSetImpl(); + + // Créer le nouveau xmi (modèle convertit) + URI convURI = URI.createURI("test.xmi"); + Resource conv = resSet.createResource(convURI); + + // Sauver la ressource + try { + conv.save(Collections.EMPTY_MAP); + } catch (IOException e) { + e.printStackTrace(); + } + } + +} diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.design/.indexes/4/history.index b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.design/.indexes/4/history.index index e7be86c8e7bcd9627da139e42e18c11921d1a100..529d6ac1e2b4e902ce1d69b171cb2e9594175c3e 100644 GIT binary patch delta 107 zcmX@dxQ=OpY9jZC`$}AHnhY`m(yQNZU43E0=C8Rq)gWk6{S2Iu z3Y;&%%2)->uv4!#T5CbG-fFCc?T+7EBZQRj#KU{xkt^E7KJY|l7W_zg6vS~-S`FjOn*@F7o_wHb3= zDlJvoQART`5pYLS=6IJnJ?vLmXFb*qt2g{x6$(#*=T71fpnB41m4b3)DZznTdAbdz zSkHN~#F>Lwn?XaAi3dQ=a-C)}0do%qWpZ_LXML%PYvv?=Sao(xQre4te$B|uBN!q| zZe&)hC7ANnBfz+ZQ+VRx?R$jIvV=53t_4gXS*)~mlA}_GcpmV3UGNL<7OW7@NXA;N z1+K5nF3l|nDiswvMYf|}6Plc(2E}Lj^s&wT^#{&5GV-7r65fHIFarfB(Ot7M`Dw-_Ia63&j8p3Sh^Qk-^$MU@U zr#x@w%F{7SSvhou<4_boPQFG5MCS_iey&j7jP*Y(gyOj|SfLa!H;Ug$HP>nf!9ATW+aBKL{j^1g_NmOv%J&BCs3s@+&D(!=b`lQ+|S-^~WEe-K!$vp&;VLLk~Ulx+?V4V=q3FyxD{_WnsIAZP`GQ_kCyH zdFTCnzt1zz)Ng$8$%$Xc(U)Gmvh~APzrI|bIVXe!%66rD(O$T3%|dwZqjVyrG0&`~;r`i${g=fr-%J2E3C)Xn$_3CQxyuAfagx)5TJU}XqAF;S?qD%q+@(kB$CKE7k!=OxF8K2ouDu2wJ#22ehk4Z|GJGcJGJP-25LpUN%Ze-@? z6KylrBgjK8_=ER<9uPXs6VeW{^+1JWvC`H_PRg@PCk(H7hRwG;FGMtwvQ}$>>ua+? za|?n>MTJh0@2J<9DCekyf3=XF*EwYdXo`=ciQIr>K%E?@P)2xV&gkiK+XojclP zJ>Sl#fDDuX#ql0ZrNen7c`Q{(%DItcay?6!>u8hKA_G?EhQlt9ort2k?kf=IB=j>a zm9rlzmcr@E_^r1aDi?~bXCcEUq6tt!t;YQeHj9YYu(WakJ$kuw`+U`_LEe1G)U4sy z5~-8hT1G{@tbyrCL>XR0E8-aAK>0KvFHQ@4QMgf{IA%A<0xCL0;Z0axS!|QTyvxj* zW5%IPOCOVG5xZ#$=@?3cgC6qjP342AbcF;`1eBD1pNghq?K6vKXd`#J8Uw}>x?Esn z2_OrZk$Mu44@AVs&g;K@aR1&gZM=8y%a4BU-<+E^c4_yrH#-9U`VsAZb*|mtO&EuL zVfMfFx!I$-fDX$O_YNC?iRuddvC6UxLwOt@LzpeRUWCS-yZ;vAT^o6OCL0A)9;6Lw z-5>#U9-}gfC+!!pXDd2X`|Bs`&R-25EI}RA_+;E=&!@XJun9FgK q;j4C0!~F)gA(p!_xS}Zd^DzSqBA%_C8iqIVYEe0DZQht&pZ*8lM{Xnl diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.design/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.design/.syncinfo.snap index 414a6b37c4de976cc65a3e6047ebd48c8e896c47..91d6c541512db06197e1b732473d567ce4b92d6a 100644 GIT binary patch literal 16 YcmZ?R*xjhShe1S2b=vdAllRF105-b@zW@LL literal 80 bcmZ?R*xjhShe1S2b=vdAllRFvP{;=WNU|Zf diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.design/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.design/org.eclipse.jdt.core/state.dat new file mode 100644 index 0000000000000000000000000000000000000000..be81c0438ded83750e32af1a5a93f1ce73ba79fb GIT binary patch literal 91510 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 literal 0 HcmV?d00001 diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.editor/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.editor/.markers.snap index 464a95717342233446929eb1947b4c670b44e7c2..91d6c541512db06197e1b732473d567ce4b92d6a 100644 GIT binary patch literal 16 YcmZ?R*xjhShe1S2b=vdAllRF105-b@zW@LL literal 496 ecmZ?R*xjhShe1S2b=vdAllRFvjPi$dcmM#NThRjm diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.editor/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.editor/.syncinfo.snap index 464a95717342233446929eb1947b4c670b44e7c2..91d6c541512db06197e1b732473d567ce4b92d6a 100644 GIT binary patch literal 16 YcmZ?R*xjhShe1S2b=vdAllRF105-b@zW@LL literal 496 ecmZ?R*xjhShe1S2b=vdAllRFvjPi$dcmM#NThRjm diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.editor/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.editor/org.eclipse.jdt.core/state.dat new file mode 100644 index 0000000000000000000000000000000000000000..be0d7060bc475c2fcfdba420b55313103d1b32cb GIT binary patch literal 109809 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 literal 0 HcmV?d00001 diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.exemples/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.exemples/.markers.snap index 464a95717342233446929eb1947b4c670b44e7c2..91d6c541512db06197e1b732473d567ce4b92d6a 100644 GIT binary patch literal 16 YcmZ?R*xjhShe1S2b=vdAllRF105-b@zW@LL literal 496 ecmZ?R*xjhShe1S2b=vdAllRFvjPi$dcmM#NThRjm diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.exemples/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.exemples/.syncinfo.snap index 464a95717342233446929eb1947b4c670b44e7c2..91d6c541512db06197e1b732473d567ce4b92d6a 100644 GIT binary patch literal 16 YcmZ?R*xjhShe1S2b=vdAllRF105-b@zW@LL literal 496 ecmZ?R*xjhShe1S2b=vdAllRFvjPi$dcmM#NThRjm diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.feature/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.feature/.markers.snap index 464a95717342233446929eb1947b4c670b44e7c2..91d6c541512db06197e1b732473d567ce4b92d6a 100644 GIT binary patch literal 16 YcmZ?R*xjhShe1S2b=vdAllRF105-b@zW@LL literal 496 ecmZ?R*xjhShe1S2b=vdAllRFvjPi$dcmM#NThRjm diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.feature/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.feature/.syncinfo.snap index 464a95717342233446929eb1947b4c670b44e7c2..91d6c541512db06197e1b732473d567ce4b92d6a 100644 GIT binary patch literal 16 YcmZ?R*xjhShe1S2b=vdAllRF105-b@zW@LL literal 496 ecmZ?R*xjhShe1S2b=vdAllRFvjPi$dcmM#NThRjm diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.samples/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.samples/.markers.snap index fd766bfd26f5eee0df969803ebbbe8927f9219f8..91d6c541512db06197e1b732473d567ce4b92d6a 100644 GIT binary patch literal 16 YcmZ?R*xjhShe1S2b=vdAllRF105-b@zW@LL literal 96 bcmZ?R*xjhShe1S2b=vdAllRFvP?-+^n(HWa diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.samples/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.samples/.syncinfo.snap index fd766bfd26f5eee0df969803ebbbe8927f9219f8..91d6c541512db06197e1b732473d567ce4b92d6a 100644 GIT binary patch literal 16 YcmZ?R*xjhShe1S2b=vdAllRF105-b@zW@LL literal 96 bcmZ?R*xjhShe1S2b=vdAllRFvP?-+^n(HWa diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.tests/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.tests/.markers.snap index 464a95717342233446929eb1947b4c670b44e7c2..91d6c541512db06197e1b732473d567ce4b92d6a 100644 GIT binary patch literal 16 YcmZ?R*xjhShe1S2b=vdAllRF105-b@zW@LL literal 496 ecmZ?R*xjhShe1S2b=vdAllRFvjPi$dcmM#NThRjm diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.tests/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.tests/.syncinfo.snap index 464a95717342233446929eb1947b4c670b44e7c2..91d6c541512db06197e1b732473d567ce4b92d6a 100644 GIT binary patch literal 16 YcmZ?R*xjhShe1S2b=vdAllRF105-b@zW@LL literal 496 ecmZ?R*xjhShe1S2b=vdAllRFvjPi$dcmM#NThRjm diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.tests/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.tests/org.eclipse.jdt.core/state.dat new file mode 100644 index 0000000000000000000000000000000000000000..3e1adbc8ad09e6b0502d0e8350efaed2bcb2de5b GIT binary patch literal 45142 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 literal 0 HcmV?d00001 diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA.ui/.markers b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA.ui/.markers new file mode 100644 index 0000000000000000000000000000000000000000..3c0c233aff5903b2bfdfa478c8da52b3e10eb972 GIT binary patch literal 1790 zcmb`H-D(p-6vwBD+AjoA5QU<1A*7XNN`xX_co9nqsU(8!3ru!Tl4)mW#`$O)t=6aT z!WZy?ywjKQ%yyG(Lu*^;#j+oq+4KMZ{%3{|QYB9}`j)BJ%z(E-foERtwYyCg1Rf|p&Ojpi0#Yg*ZLm$+3!ZYi^RY!6jrc7%NXdeOL$Jb+qN+KvAa%mM(5gxv zjoZ^{e=Ira|2qAh8z7a>6|#PX1LZjauonpb@h%9NQp5dlqSaA2h9pD*6x5-xT4kU- z-Fda!s-p)+(X9o_@lrZ^aa1Vhxs=hTq8?!!X?x%dPXOOITE<$3F(h7&az5yvcegh>&2D?UwY$eU+cEb7-uDVwDZ?`vg)X*i7(Nij1qH!njI9eR}<>qLX zFOHL0{=hAD;De#7kpO*zv{Ne4uU(r3F?SvWnZfY9j6rF}$FkX3=Lv}ym(OVoPAGPq zNyJnwn4MgUS*^q@KZxMigK}~E8ZB_+*2)te1T)$M(*YG+EkeZEvk-$$XMNu}?|XS% ziNBsf@VJa%T!ue9JF5N^e!kw=&&w8W!g%=9bZ;LLzoiwPB6x_Rge%0~y=C#=ZY=)U OL_ANfA^84n3H}FAG%Y6p literal 0 HcmV?d00001 diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA.ui/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA.ui/.markers.snap index c0f1ddb5ae8279f3376770d18e644bbc191c562b..91d6c541512db06197e1b732473d567ce4b92d6a 100644 GIT binary patch literal 16 YcmZ?R*xjhShe1S2b=vdAllRF105-b@zW@LL literal 2144 zcmd^=&rcLF6vxY~%CDFhHAW4=CTbQ8TY?EO9!x;8B#YTK3J0&z7D%EY(OyK=3#f++1I}B_w!ymQy*Wyy8fA5yn1u% z*Za3$hNrsbgphz-8DBI^-C+qhBNRC1^g^XJ%~Fy5jb9kG9*{|G8Vo`y5({i8a!m46 zg-xLvY{|fkjuRol_+Kfw3Zcr)G8j@Iy)jtJ8&Dwk7MeiAc4Ri#38glHP%H|FsIYW` zP11VmD5rCe%XDJGKT9n{q|d?%7~xt0O6nnfQit3LtqSBqCq3QEk0Be2A2z>d21xKM zAY(^3P>v%2bAa%z`>Bu-O}K0BYPA&BAWXdg3Tj0dtzuA)&fT6bm(T;F=+*$`_)*$> zu~aDQxRl&u?^K>FwS3iq5QNPl~MCBjVSMsw}*?x6yz7c)?aOdBPkik3!@fQmqc0xUJ~G!+I1 z9E)&ZIdJ`Mt})ugb)Gen+}rWsg|?|vta%+P=%@s4v9ul0j0{L@m0B9t!FWLD$pH2u zG_+||q5=s3$Y7_@A9%w$&%B$B=u^$LOekZM_~L3YLkkn)811gY^d=xao=7X`DNy4oGtdRBDSJF?OZ_-v&`Pl~env40a-M>n=c- z@_;&FxZ%!a_M`3e`LQ}A@8?z-kEp+%in_i8p_|bP?-{&iQNj`8PoJ>(7ym4Ncvn0R fk0JQ%NeTY?*)4l`rBF7ZMTytbnB{OQtvG(lhAU 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 KXOIoY|NjrBX_giM literal 0 HcmV?d00001 diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA/.markers b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA/.markers new file mode 100644 index 0000000000000000000000000000000000000000..d1a0dea1d15484fa602b16f5ae858f0e3293fa43 GIT binary patch literal 1406 zcma)+&2AGh6os7x=nqJ+tyGCCboo?$N$tn~Iocb$N!iz2#;~h1}Tr zL=5QKPg7G?QlWi^^8tIg7`dp5w2AoQ+EIHlVSda$fBV6P{}I*Mlq#`4j2Cjpo!ljt zI!+qtqjO@RvmenzpT6m{t!1gtg>R+y+G-O0!Y9-iuWoh&`8n;}yZgl+q_-!XZ z6++j$k96l`73t3PU8J~7sI2tGK-AL0 zMa`AWB&k+$--P6*8mqZ`TerCFgSbcKD(=zmySP=u-Feg4Og_pGV6N!Z()JHzJoOYx qBDI*4rESECIJ7~^bvI2fB*H8^!vk?(SI(SGgn(Tt0#VDAgN#H6;l%C*&LMOYkcT@LfHnXz{ zr}jY`a6*qxE|3~MimQ}3RALrjNtZ(= zse_fkOB6dSumyZLfv>_OzyzNlD+Je~lQH8>ZxD$CszM(ZqJy5pgge+Hipp_x$OGnu zu(m{HJjz2h?5GG?FF8Xn?8COG`OKs8C0ZXsk8QsSOyA_fB-_I_<8KDccii``d#GYqJlb(qo-gB*_N{j*%BVrCQ>%rP*^eVxjQS6-Z1 z#3dKkMTj|t$P))nXMz(CvJrnBc8RToWK<`p!U82Bhk^$a(OEX($=i@aRi!n^ClrW& zie2G(VwLd<)(JqPzGUz@+ojT+mE1-g*H1Q+V2HQ~yHJmfbfO-sw4**1QL~tOl?7E@ zZxAY8q0z7_lta;J#<=QMtHPrbSeK$?jy{G3CN2Y@LtPSj3W~K#R)7r$RS|klXHxWe z3#p%pG;eky&2P0MrD@VAzd-6i3MtpjDNvZiTutcoC;O=k^dUNp`h+B_NvW(7t{Oq> zg8Neo?s6tv^S4g8*6ZzXc?wsi=@MlmegTu%HfTu`fUbNhl`d`<3;;!~LjcrF;^mNd z%w;eue4?TvX^uu`?%adh+}B>aeJe8ZE4Mb^{$lmp>2`+hsYurTjY!4{ogzQB)-Lk@ z^_03A#rlKmFtzlSJDaJ-@{65F^HYcDQ?MN*!t8-pIr~ zQ|rV%^GiGKz4Xg?Aw_MV>3`O7#NCHkQy$C@-37sx+cePQ>4rml(WAnIUpX^mJ9T+R zbK`+dr5g<-o3&`Pc3;D({^R}?d1q}?Tyi7kmuqgx3rqAgSgl< zh!49A;y`K;kG#qywMB)qw?OqPL^9nzP2mEE_H;ZM%;DXa_z#0A@pDh!OcH-1)9l{o z5^v!CmogYI^{ybiZC z^=3R9mqO=D^5L^hL*4otL(T7WNe*idO~Svt{_yS#-yTfiUwPo0B>he%6YO*0H*ob* z8f;xwqWVSn4Q@9RcYg>UsCQo^VlYMW@f|NFBFVV&xxbfb8o1e3KKn%^4Q@F=A_3}d RB57U!{r`3Ie=N1e<1ctdCrbbT diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA/.syncinfo.snap index 3873adee3712da6deb87aa8f1877598e7ba52944..91d6c541512db06197e1b732473d567ce4b92d6a 100644 GIT binary patch literal 16 YcmZ?R*xjhShe1S2b=vdAllRF105-b@zW@LL literal 432 ecmZ?R*xjhShe1S2b=vdAllRFvjPeI{cmM#l(6$Qz diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA/1.tree b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet.toTINA/1.tree deleted file mode 100644 index 23f43aa1d9717d51879c0cc46e75d49ea6f1d95b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 391 zcmY+8IS#@w5Je{oYlVa;dXdi;QDG zKY!P;ZNOL-Sf9}fB~Lm$6Iw=z&|IgZf!C!|w~5>;T<^wo1ArazQ^}V&D^TY_>?@V| zdPcZ~V#2qF55lfE=@AUO15|k?)42%rFZ^|%kSgaauqVR9-l*FiczuK$R5>@F4S=>H z>;d3RqJ*ShZg03tL16=I)0ixycuF-gA$24a$&1>%nz@9+BGklDGWe5k3}?#FAH#=A S+E)uQf(0p%28}sq~ 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 NYXX~rP#5UB`8#QCgM0u0 literal 0 HcmV?d00001 diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet/.indexes/history.index b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet/.indexes/history.index index 073a7e732b196f94d4c21c022915e2d20e253185..b60ec434b8f851fc8c4abca80f82581b6eff8eda 100644 GIT binary patch delta 159 zcmZ1=(jdyp#K6G7J$Vmn@8s8g~b5XY~HL}^%%U_husCkl#?c#c3ql#LEAQi2i$&A{sTUEZ_svt8RSZ3Ii_ zc0=majZeS~LQH%WK0rqn{GJF2s0)jImhOLd|DW&qr<3EIFL3kr{j(n*KYYCd04=!J zn>nVRGE2cpO`$hRCws|Y-0zL{#)E#kKVhSOlNk?y_Oljj8<#T@N?K3MX2gVXF>q$8 zsDw?p>S<0+hD9q1HsBT=k*I<+I@NROj4nwB_LdfH=nVOs@2ANlwhLRo3k>(CWNU@^y zYb7sN`odHy!zm#TsEGTpR*6AJMQr1$oRX{kcAz78pxn5{AZtU52(AfJTB*prs6B5l zU!GZ3cTD1#NiZf+<}mVlpYNQcHR=d^ccZzl{EPH&RyWpI@kxXf`281?^w~H7 literal 496 ecmZ?R*xjhShe1S2b=vdAllRFvjPi$dcmM#NThRjm diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petrinet/.syncinfo.snap index 464a95717342233446929eb1947b4c670b44e7c2..91d6c541512db06197e1b732473d567ce4b92d6a 100644 GIT binary patch literal 16 YcmZ?R*xjhShe1S2b=vdAllRF105-b@zW@LL literal 496 ecmZ?R*xjhShe1S2b=vdAllRFvjPi$dcmM#NThRjm diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.design/.markers b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.design/.markers new file mode 100644 index 0000000000000000000000000000000000000000..2bc8c761ef560c15c556e0010831cc1a8e0d9bf9 GIT binary patch literal 3497 zcmeHK+iDX*7@lmv)&nAVqu|A$NN(&dUWif+XP4&Z8qHR?I7bMn;DarA7Laq=Bq8ur<`%+SK*+Vh52GKXkdY%~ z(n1G}blm_KRLIeCWM1I^sncX418Z3VRl-|spbM)F%C&M#Dlk+l>adfi%-Wo}HkFnt z?I@!;m>9UD8FRc%o!*^STVNg5Y)oAauhl3#0$w&kZ9AL7gZ7fkmFouxlF;_f^LXwktr)6=V9 zbzwNr!h)buQK2)$w>PhkDCfw77cHcBbwQZ{n&E*ol^c+DsWV-v5)U+PLYe9xvngF$ z7ml`B$B#2AAO|Htaa^ORbe866kw_JiYGGuRe9KejVr{bN$dvaw5NsEsXhv@;5O*YO z=2|Le?IuJQVc+S=6e(V8v)Jd>t`1Ec25E#H>i&ZPo=7%_wAQ zk>xoG*k6K>E@5x&KC1NN`1{4}lEK&BFe-oI=)-7^*0kAZ!ovcA8xNko9zLExB){^s z)@)$sfTnjPO>aih6bw0|6;Bf{j6r3gfS%012b$$=3b{h_5E^tolp$S6=*$P z8O1a;y@~els{aUBQTma%ZjHpXGKA~SX!Y;I`QJkw$V2@DMLVVHKR+l%rI#FwAo6ki zol_YYwo2Gv{1x_(qb=0P$2q2TWk$SH}`mIFi)fX3j0BPl~TL1t6 literal 0 HcmV?d00001 diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.design/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.design/.markers.snap index f442e050d85d7f9735e94f499730a436166df838..91d6c541512db06197e1b732473d567ce4b92d6a 100644 GIT binary patch literal 16 YcmZ?R*xjhShe1S2b=vdAllRF105-b@zW@LL literal 3761 zcmeH~O>YxN7{|wJsR^{ID#4+ksv0#yzK~sUKva>C9Muj=N&>`I(+Y7IW}aOS*_~Nt zW}R9^s;c$|7fMSC^nl9iS`gP0F=$Oe!!`E9&qfPnoqja~&!zRoYQTb1*S*M>FPl zhdSLKS6g9S)@sh53O}q-_#AlQBrXA}D~(neC`S&bxbRw$T?OO!^ENrmnS(@|-m<8Y z0D!#7b(YH%%*W8Hk`IP08%pJWGbiz2^W$rh%8mHR*^^!mQr}BRYdCgA>P$4!I4U)6 zf$2&PHoS)0?~8;VxY*YLIW{itHQ@&0I%YS?EGnxD!@+O7y3%NqL%hRG%Q55dXq7L? zTZIMF6w)!=F%p~c{Y~YCuWXY*ihz>JZ({`BZC_|ypo@jm^9i8-sEj}w0?2G`q~3w} zf{FtP=6?P3->3apyY%$d7e8(NzB|^Yt?gANr}sjJc({?dkD(oCAS?*buNqO^6Alj?3G>;(RgKJc3#`5>pG;8<8#hXG%T7zLGz3Z0=X2IGcC z;21a7M`TDp(*-v611>~RvD2{V9 zmCn*UEfT3hQZ0X0`ZB2tz1jx>}AC=I9nT?eAH9B zQjT4R9B+#DMe}JjoN&=-fA|J!Y*^+83y4{fy7R0DCaNnWwaW4w4>+8HlCI&^+7)!b zjri{q_ez4_5AxZ6FnTzd(S|mgEx2Bwa4;2|{ycb`KqR|4ZM2$rafIo9iRtb{Ou<+N zyXZ0T!Waw|3Rr;r_b9Twr;rueLueRO5;OqxYex*s73dxxjADVB!9aU(!+(OTc>0OD zZco&;GN$W;$>Beg^L2*WSB828L=Vc)zr9~XWtNe53JP1^=N0b?2p^_IS!VS4hF8rF#D{{RVl3r>t|&5xVz( H{}em}-*X;! diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.design/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.design/.syncinfo.snap index 58ccd56c86c6d5dfb80100f828a120cb0e9c65c6..91d6c541512db06197e1b732473d567ce4b92d6a 100644 GIT binary patch literal 16 YcmZ?R*xjhShe1S2b=vdAllRF105-b@zW@LL literal 224 bcmZ?R*xjhShe1S2b=vdAllRFv3^P6eSwUW9 diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.design/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.design/org.eclipse.jdt.core/state.dat new file mode 100644 index 0000000000000000000000000000000000000000..1131b89fcc1f82f2b0a6822eb2fc2b7dd0ce1e54 GIT binary patch literal 91518 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 Q;3zod326Y+&t{VU1IQwi-v9sr literal 0 HcmV?d00001 diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.edit/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.edit/.markers.snap index 464a95717342233446929eb1947b4c670b44e7c2..91d6c541512db06197e1b732473d567ce4b92d6a 100644 GIT binary patch literal 16 YcmZ?R*xjhShe1S2b=vdAllRF105-b@zW@LL literal 496 ecmZ?R*xjhShe1S2b=vdAllRFvjPi$dcmM#NThRjm diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.edit/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.edit/.syncinfo.snap index 464a95717342233446929eb1947b4c670b44e7c2..91d6c541512db06197e1b732473d567ce4b92d6a 100644 GIT binary patch literal 16 YcmZ?R*xjhShe1S2b=vdAllRF105-b@zW@LL literal 496 ecmZ?R*xjhShe1S2b=vdAllRFvjPi$dcmM#NThRjm diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.edit/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.edit/org.eclipse.jdt.core/state.dat new file mode 100644 index 0000000000000000000000000000000000000000..17f84d760c795d90cd9f94c1cfb82e2ff58a8a85 GIT binary patch literal 49425 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 literal 0 HcmV?d00001 diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.editor/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.editor/.markers.snap index 464a95717342233446929eb1947b4c670b44e7c2..91d6c541512db06197e1b732473d567ce4b92d6a 100644 GIT binary patch literal 16 YcmZ?R*xjhShe1S2b=vdAllRF105-b@zW@LL literal 496 ecmZ?R*xjhShe1S2b=vdAllRFvjPi$dcmM#NThRjm diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.editor/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.editor/.syncinfo.snap index 464a95717342233446929eb1947b4c670b44e7c2..91d6c541512db06197e1b732473d567ce4b92d6a 100644 GIT binary patch literal 16 YcmZ?R*xjhShe1S2b=vdAllRF105-b@zW@LL literal 496 ecmZ?R*xjhShe1S2b=vdAllRFvjPi$dcmM#NThRjm diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.editor/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.editor/org.eclipse.jdt.core/state.dat new file mode 100644 index 0000000000000000000000000000000000000000..08b02174ba5040d9054781fdba8be503b9dd6ba7 GIT binary patch literal 109967 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 bH;?MT-=IE4F4h4ePthY=h&(xQ;vM*3>aKSi literal 0 HcmV?d00001 diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT.ui/.markers b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT.ui/.markers new file mode 100644 index 0000000000000000000000000000000000000000..6a14afa3946f55b91a5d431192dc6b8fdb663eb3 GIT binary patch literal 1790 zcmb`IU279T6ow~>+AjoA5rv|2A*2;|N`xX_cu{K#sU!uPKQP%nNv55h8RsKSz)OFF z7ye3b#T(CTKDrI9q0ohe?CzO4=Y7t5CWMe0d9l~GOuc7LWb3vd+1kOnWbqM$~?YL$cX^!VLrGik7WM!Q3>Ksnw@)8nsAM}=~pO9>hNqJ9YU zLfdm^cnbK$eG%)t6{(jKn(7=Aik`$Ufr;|BUC(Z|F}xF%c@NV zEY%j6u^I{I&e;==TP>%4@g8>(_|_s{4iEjSPcCsJf#W7*H9gG>+1Y7m~qYx^}E^{UX;}B#pM5 zPQ>Mo*DrKK9dLHB3pijBxWf^h7tNM|J|leX~zv zxk9mVE)jNY8D5o(Dfty1te2R+Y@%u7aZ~4MocMZl9U`?54UsMDdU#dW);tndE(v^A z7B~;X4X205pIO1-)&&;_28=x@7f(#1MJ&ENl0h(|O)zax!L879?~e71Zms9dq5-;h T2C0vKA6DRDx4Iek@2dEJvM(w! literal 0 HcmV?d00001 diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT.ui/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT.ui/.markers.snap index d5c9f8c24d89b8f9715c887385a65dd21f4356ea..91d6c541512db06197e1b732473d567ce4b92d6a 100644 GIT binary patch literal 16 YcmZ?R*xjhShe1S2b=vdAllRF105-b@zW@LL literal 2272 zcmeH}&ubGw6vrotKWaq~EuvC%KqV?>N(2!PLTgPSN?Oz&yiRsslWAvX#`)1U=tc0R zH=zfw{so>D@#MeaRq!Oe_-4~2+fXf{-V7w{?9R-4-_QHL+04Fs`TW8MGIjRS)|a=h zKc1T%8xumxI@`eMS!EQ2}$rmD++2|SgkTp zp5D9us8Or48;mY@!2;#@Rhr&=*l<)R=ed-S;uZB>pc~q*Il~jc5%>9A=dDP*?9oJL z7*Mn&P7@f|cLl~AMPigpI9LZOe6JiOk_o93T%lEkOpY?fC(l-1OnuEckdiNx8~cFB zjF4dGF}@UBC9nsP+bAy2FwV>``csE^P@B^m0Dw7Ue3Xl6$aM$fQJO2~a z6A9jjUWJ?=j2tseX~qX>vwq|qw%a)(QtFlRi^Jn2P7lrAC^&E}MmQ2vjGnKP-Mp?8 zc)eLtK=n#)dLu)pCREkY6bz^oR1({1hZmB;hT5~WaQ!gWH6)GJ?03az$GsQ2t`6A0 zSOsh{3EW|u4w7c$Ku?feK+6DQNT-WPW561AWzB0{lX|1TvrI1j+^aEVq1a|75qK;c zeo7mE=+J6`__+pJIvz+>p2Rbu8a;`?EkwJdgoH9&*SgU|Knf(zxdaDegLfp^I`x1 diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT.ui/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT.ui/.syncinfo.snap index 3873adee3712da6deb87aa8f1877598e7ba52944..91d6c541512db06197e1b732473d567ce4b92d6a 100644 GIT binary patch literal 16 YcmZ?R*xjhShe1S2b=vdAllRF105-b@zW@LL literal 432 ecmZ?R*xjhShe1S2b=vdAllRFvjPeI{cmM#l(6$Qz diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT.ui/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT.ui/org.eclipse.jdt.core/state.dat new file mode 100644 index 0000000000000000000000000000000000000000..6480d93c80e8681858c43611b2686d6981fc1801 GIT binary patch literal 108069 zcmeHwOLt_)aprA85=DxXD3R2IB4vs#$&#fmR8`~Eo*9o?d`PrOu}!u|9(y!>@F;+V z1`1FW!0y&~&hcUv{t5mKUT853FT9&M$D7&t7mR<#EGNFq3`FE3?#-$~!}d97@^%AN znURt4&dA8T%_}FtyA*%?p#H}12hdF#f-uj+@DX0Uob zo30*>cUBKSJ6=89{%rf!U~uc?bTm2Kdw6U6cyD9Pe>*+9wLj|}ZcnNE@9259Ic&C@ z&*)ig{(%1Te_m9dZa1g&-%&Ga&RiSc;`yk>qv*Sr3g7KECj{f9nJO6HD74!nOwQah zrN1Z5tl6iLb+0cMdrg`>1-XR5h-Nt=hwfJgb zG~Z%I6do&BCH&EHyTQ2Nl>hT>10uJZx*6}$-=OA>ZVTRnqNC<TI? zx~X)O#{m~6^neq2A1zUWIry-zuz9&S1K$dowj0q&Qv;))HJ>V2S`#PKSIc+&T})$* z!-RMa`tK5CPsb6-%1n)-b=7X2%JJ9KJmX$df*#|lscp4Q;p_QLi5psnUR7iBciWD# zV`uNq+?=(HXv@Mq_K45BiVm7;+y;C*AZT8ao~YJZeh4|abX&F1wvAixXmHV-4}Y3>UK@XT69 zH20+y;2k*mo6z4vVJ&;o8ulHwNb|1T(n~dLw!kdo`CFpKscI#fhrW;%FD)}_x8wMg z%C&eR?g74jMo%pNqM>NFOLKWbBZDJ?{|rHH<4g*&lK&8_RupY+wux&=iYp0wOb5 z=a{E4?6?gi0GJ`>0xz_`6|V+ai2IdvH`ao<{gKmIt#h$N$E{P15wGVliDReO7I73f zBP*}t0a>8{Mk&&lC@*aRX+fL}3l49hdH-f)aW&jhFK9PnOjxif{Vg&SQ%}Pw(K@C` zDox_kFcbdv?dGHAol0zM1>1T)Zq}PV{U@V#Q9F-ayL!xs zwy`$E+BYMroja+7ZyA$Z>a|4dugY!H`KK5OeBc7_ieVL}5wEdK@IgX?_wYb8YQm<3O z(PuJrM3QPk3C5I0))}F;nISsS{?=~mEtp;n#q@;-hwp_2LcC*V$>24u){m*Ta6Yy@ zj}v;v`pe()>IJJiWCjFUY&E&PkByLV0L5YbrAItN?x8uOyaj5FP z$A`3rLd+y{kXE1yT9=})moH%DtsXSP=0S5?!F;`{^{H!BvLA1>^j~e>arWsh>Bp1i zo|ChO^mm+bf2|dQk1nmg-)!w`WBq%r{q6@HdYf9o8(O26C=DO@OPXW8V)}7m%)GVk zi}5AP|E|mRTe$piN$3{buV!#PPyGzFe|)8*rI!Mc<{wqI*D~~;lObMJS~$P80Avf+ ziy5rDdxe#m%(_AXs>2~Ty7ygT$_U6Qk>54g@H6KuKtj4|0TG-}X z1{7p8yyV7~P;mQ3h8w*1IYqgv7r6q-Rd6gII{k=zA#7M0X9(Q11=dK&)cGg@JNbf* z*vhomuG2(mDYi0gDeEHb`M-8C&$N9WZ@*-=jrSjI9DGCzY1KG<%Y+MBJfS!U?LVcz z5y9x5HZ^_BhbjWZ{PF5nELu8e>|%`EN?Rx@JmokmjR1u^X^V6h{nd+^rY$kMBNtx- zUm5*#uF`{kUukaKerB=Skx+mj|Ex5>UOk?itxh)gXRD*hZ1wE)!R~Z)aDKKL%3*FD z9L;VG`@{aN{+-p+qw|9?wbJD>=i>*rdxODNuiyI&?fP5&O={a8`g)Zc|Ly<$-+%gB z8u1x=gulq#BC0*5IbvOKPCp|u^|8p**)q4nz0utGCiP5a|Fp3d3SIoP()`zDNi}

cCp3Q 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 literal 0 HcmV?d00001 diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT/.markers.snap index 2b557c959c55f07543b968580d40cd771a67e471..91d6c541512db06197e1b732473d567ce4b92d6a 100644 GIT binary patch literal 16 YcmZ?R*xjhShe1S2b=vdAllRF105-b@zW@LL literal 4575 zcmeI0ziS*v6vsy^6U%mr6lokpGO;jcJJxJzQbmH3$SFu7_==Fqqn)>RW6#d4XJ&Pr zEkgw9k|JR6Kak3W4F-1!A*3*AQU>xL1k$=plQ+9--`*ihmqaek_Q7&Hzjo*IeeZqe zxRpoW>@WRD-hJ=WJq&9(08a%XEj-dx@4 ztgl_|vdwi|Fo#$8+K9-au{{QflDPwx3t)+{cw^0uf{eUH798w?m3|n71>{sc(h=Bx z=K?vIfpfeE^JLgsExgINm&x*`5ru-~EuKM(_JIqqR61(mW+5#I>J8liDx^ycKAhvL zD0h_84Zh21RxYMek9BZM9rz-r7s^Q=Q?3P7+=IPHPAjQltH^f1R=Yf%;6TsVVMom4 zw$CIc%cTPQ84Tyi2hUoL>cP;b)FV%v!Rd+u(K1(ezpHi59``Hgm$oJ#uKUiI91q+0xt zyj?i3YeM=U7>4j<7+=#N5{vsJk|LsH?w3YLu64KD+f=4>XbL)zt{;TQMY;#n_ks36 zqxxPNlsd>i=oX^4rHBFvGF(Jsyukn%!#j9Q=XN`tZJn?eb)kXvj$&yI;eJT9fY z^W|T)06SIQ9YMPE>0zWx4-O)QCaH!h#gud&bYO0PVm51knR0>IQ;vgmVM@>=bYQw- z{?kq^8rOa#+7Y;aOyDL{;l>Mx;l{fM;pzsiZPL}XQx_V>G)b^N0|C};4%SO>G{sVI zl>|sFExlQAB~yv2<=mG^GOotq+;e9qxW!c5ZGISc`?rI*Rmok)rVKO2QHBKO3f-lu zADZ&SV^Siig&u~qN^v9(Wsq=PccUjEW>yD05T`~dGmyH6nV{ha>hBuV5&7i5`9x_M zEb}V(LtQ1;B66;26Cs8Q48w|Kg?y1UN8@%u&NuCWTpEXoCM`2+xCX1-o3^|W#Yb5ox%*-=~t~MN7?C1x7WQl_PUpTedB&@ tuXm;@zgOc&&4~KeRMfL;uOrgiQ<2WNy&~?v^_5AVdD9;M`{lUx_y=2djduV5 diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT/.syncinfo.snap index ed1c0829024c6192855477cb96824c6b403a07ca..91d6c541512db06197e1b732473d567ce4b92d6a 100644 GIT binary patch literal 16 YcmZ?R*xjhShe1S2b=vdAllRF105-b@zW@LL literal 464 ecmZ?R*xjhShe1S2b=vdAllRFvjPi$ccmM!W&clZQ diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT/1.tree b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT/1.tree deleted file mode 100644 index bd80112ebf6b622f020e15faf41e98f549c2e7ff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 391 zcmY+8yAHxI3`O0RmzXLchKPX$*vQI^1V{|P!Vk2i6@^lwCM<}*;SImX4t8IncZj3- z_{1ec*8!txpe3d0MLZmE>F-3~idDeXezaIpx70xH-)UI-ekH(#o+J8x*o- zVJ`r~_Cu29Ts!HqTSnmwZe!X9KUmQk!i|*gN|NVmf6^foW}!_C894=cE9I^kg>w9; StSq@DBk1r=laddrg|{CKqD0I9 diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toDOT/org.eclipse.jdt.core/state.dat new file mode 100644 index 0000000000000000000000000000000000000000..77b5a409690f632d2a98c95be45265754b6e4625 GIT binary patch literal 60409 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 TDP6!N`pufaWgyfAx^Dg-Ngsvv literal 0 HcmV?d00001 diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML.ui/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML.ui/.markers.snap index 464a95717342233446929eb1947b4c670b44e7c2..91d6c541512db06197e1b732473d567ce4b92d6a 100644 GIT binary patch literal 16 YcmZ?R*xjhShe1S2b=vdAllRF105-b@zW@LL literal 496 ecmZ?R*xjhShe1S2b=vdAllRFvjPi$dcmM#NThRjm diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML.ui/.syncinfo.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML.ui/.syncinfo.snap index 464a95717342233446929eb1947b4c670b44e7c2..91d6c541512db06197e1b732473d567ce4b92d6a 100644 GIT binary patch literal 16 YcmZ?R*xjhShe1S2b=vdAllRF105-b@zW@LL literal 496 ecmZ?R*xjhShe1S2b=vdAllRFvjPi$dcmM#NThRjm diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML.ui/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML.ui/org.eclipse.jdt.core/state.dat new file mode 100644 index 0000000000000000000000000000000000000000..718ffccf7f0f26b2ffff00842feccc5eb42e0a14 GIT binary patch literal 108098 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 literal 0 HcmV?d00001 diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML/.markers.snap index e666d7bbb1449d37ccdb2b899e12fa5d9d572f4c..91d6c541512db06197e1b732473d567ce4b92d6a 100644 GIT binary patch literal 16 YcmZ?R*xjhShe1S2b=vdAllRF105-b@zW@LL literal 1579 zcmeH{L2DC16vrot&?w&YQV|&l-ooy&*Jx9)#ag5}cyzM!c6aLR%;wE(LeWdl?LiRy z0)7I)gP@3b@H2Szr^3>i3iiN=tztO{pbpPG#b4o z+q9TPkZ4sph>oO>5{nRd;hwQJYdc$E0=u%sT6_HgyPD(z54}L&WbAgAU9TMAj#OR@ zH8dF82>Bf&L-vd{m27g>_`)^{a86{Y0rm{i?OoEU2ZEaS-V79DSu37U=4OnD+7n9f>I5)BGMCn#LN^&fzN3&iiGgFi&a#WFXbbc`#u%2MS{_zRQJ_bso@# zlAuS}z;hr+_--wlF#fM-YjD3U;NHI!ZhT`EZhW!~*UaJKJY8XBrGX=iDuqCvCJ8k| zASlt6fL>8BRT|t(0-{#PN0rbjRis)e{Ip3fsD&Cg?C4GwV(ab;u>ODodLGuJE5%q_@C XElA1HE6Mi=@%3R~V5~_inNbY@`y>_@ diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML/org.eclipse.jdt.core/state.dat b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl.toHTML/org.eclipse.jdt.core/state.dat new file mode 100644 index 0000000000000000000000000000000000000000..8a83b6f83ec94cb00c1ee30d57edf9f40dea4775 GIT binary patch literal 60421 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 literal 0 HcmV?d00001 diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl/.indexes/e4/fa/1/history.index b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl/.indexes/e4/fa/1/history.index index dbd11fd118b62585655b8b493499fc474189cf57..b3fcda3f9ad78eedd34c08ad7ce54384df898a7d 100644 GIT binary patch literal 1011 zcmZQ#U|?Wk(9th0O4cvV%q_@CElA1H&rQtBEI{y$3Q|joGV@YP^s*Am5*d^(oHxn$ z*JO|pU4HVAaTar((@%x;8b$_&3k-eTen4>n>DBMIuD-Bg`ZIa3I79W4L}YOjJ~^=X z2i*yh$l^R55@7Ly&Bq;mk<7Wl1Q8cdE73(3e|Jk9tbT%jtU9vzQcn?x`Cl04_#l}R z>n{vZzwBZuvUs$bAXq$MVZI`=xb7`}hw@Um7SL6>fX^Ba5H8`3o#ApqjAD z1Ihd)eLukB7rvcHKo+lJg@}JhyycB7?pF5|qCPA2ikj1%mKY_(R zoN7)-7Jqg216ce(^Ls;N@vnst@rD`Cm664j{UPEL9!-}+7H2*E9&Ap-%seh+amHeZ zxIq}hUpFLox=TaE7p$K99$EbUw|8K31k(6lA&cAY-<}EzPX;Zl`70Ql-vV5GoQqNu zOY(~#xr@bssdqhcDopcw1vbTDa;>sF&^3~GKZ-@n@6-O`aThEeFu7D+7D;@$G*rB= NTLD?z|J*jPdH_D>hEf0k delta 19 acmey&Ud_tHz`(#bIh9$Lk$LiJW)A==j07_P diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl/.indexes/history.index b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl/.indexes/history.index index 8787d112cae0807a1ca6bdf7113c3d37998090a8..7b7b95a4fc4bb367476c8fa2ede3ae72c6e30715 100644 GIT binary patch delta 36 scmaDL{X=@fMoH!ifiCy_G#O+>m!CXjoW)!>;kZ(I4I=}?#!Y&>01_Mxq5uE@ delta 12 Tcmew%{XlxcMng{zhhkDHAixMsrq1o^%18qYPlc%(~fw(VdY6B(ixjQ$8aTv)E)77XQgstV_7l zMNTzBl}-M@ZkAupz@D6uSmc_Q!o6^TfU5=4w@&$HL zHn2>MVoFAK6U=n8J`9#*{Nzma~dc6r_gtin;6B=)f$1-GFKz3W$v2n$y(1ShpyHbqINfm+S8MhSQ;7SL26k*ZU6vfux3O6 delta 147 zcmaDOb3lB8DH9|2Msrq1p42m|W-x#OBhO|JMt4RQkjUoAO!0Nn*5$kjQf?h8C0*#WC3=Q$w4ejSyF+5oA0y!VButh%1KUs bz-7w+2H6y*-;?v%>L)*B5o1ZcD;o&_ANnVZ diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl/.markers.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplepdl/.markers.snap index 464a95717342233446929eb1947b4c670b44e7c2..ae98a72fe2c95e235342c133d0fcab106d769e6a 100644 GIT binary patch literal 2254 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 delta 1212 zcmZ8hYe*DP6rQ^eomq8vHFd^Eu3MIhk4$&ft*jpvnMwK9%{0u$M?W$Y(`>QAqJD&= zCrU*qdQcP=b+w|GmY5h4;hzdB5k$f0UjzzPXJ)P$?T_y}=bm%VJ@-3zcIJ`p{tO8> z=yf_y{fPq_FCp315pE}|J2ro$W28d|WnSOtFYhZl807t7kDoVv>+7Y{uZiMd)*M63 zV70`W%xtsS0#=(uOD#K%u+AYsU*KuNL2^(x;&@OJ;$o0fjcg2F3xhknp(gk^u1*Il zu^=%4ajTdP-`za4iR;lD5EGTSm;#5^n!qmofEOVGM1(jLrllcK1U^M12)?WVUuv<{ z^UE$+Y@zf<^iyB;FxfGJ#p0Z4h?UL^wd5UV3VL6iU5HJok)Ue{&a@KLhIp##s~fet z;sa#DY|3%^YWc9@D;i>6L%{9jm}YUD*iV48h_tk8w?HNn-w8uWxBC*qbO7viy^ za-1p;lSRsOc?c^`P&tS3nc_s%e^#8T@;u|T5-q=>Bw1bWD=CZ6CMeHkRcV(ntVT96 zdoRSeZFpd&d!vnGnU4oESTqxviDJltYwnvcQJ%Ogv!KenYQK-pE|1?0)i#+AFK;p* z;keK|xuLGH9_}Bo)4GcDMAcPa*{xTlyHTY|M<=S93B0f7MS3n@tHYf}W*;VZ7HVtu zVViGivQaSs!fN0B--gejS?y`hA05TaS54`N3r(95UCkMYP0gjm2&dWtVYYc(tRGv{ z&JiE7^N>UeJwh1tw_LOt*u$^%{LtdWitNMeaHueaK)FW}{=PX-p5i4>n->gwtN#vg zrd<+D+6K;qVTrzMZ`2bjI6B?LAKE(;(0<-IB^X$e0l!g^zJQ;4d`>)lcG*tgL^%)B UUE`45&cl;#Ck*vC;6l&6KOiV6Q2+n{ diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources index 8423888fa5fef6f3e3c6049d1807189663609ad1..05db1a82ffbe10859588b383b133371abd204cd3 100644 GIT binary patch delta 152 zcmbO|k8v{Z1O=heJO%&c5(Ps81p@;sLvt%5v&n({rV}%?I1J4#Ow0@|OePz0`%boD zjhwtlQF8JH>GsJF80)cVD`ZMQ)}uK27gHxx5AWoa%>M;ZtTHmTGMZfIVL15}%W5Q( F;{jw*FTel* literal 20251 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 diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/21.snap b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.resources/21.snap new file mode 100644 index 0000000000000000000000000000000000000000..3df04278fba5e4d7ae3a658f1780ed0a92f0a98a GIT binary patch literal 335 zcmZ?R*xjhShe1S2b=vdAllRH7Ff%bRfPriqgocsKZXgyT5HT_`@TV2&<(cahXXX~< zq!y&)Ftac)CuQa_Gcs@@#26V^a})D23xJ{$a8aXz)RLmiywnoC!NPxbEd FV*t(XOGy9# literal 0 HcmV?d00001 diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.gmf.runtime.diagram.ui.prefs b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.gmf.runtime.diagram.ui.prefs new file mode 100644 index 0000000..c2080ae --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.gmf.runtime.diagram.ui.prefs @@ -0,0 +1,2 @@ +eclipse.preferences.version=1 +org.eclipse.gmf.psize=217 diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs index 9d50634..919a568 100644 --- a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jdt.ui.prefs @@ -1,3 +1,4 @@ +content_assist_lru_history= content_assist_number_of_computers=14 content_assist_proposals_background=255,255,255 content_assist_proposals_foreground=0,0,0 diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs index a1a5409..f204514 100644 --- a/eclipse-workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.ui.ide.prefs @@ -1,5 +1,5 @@ PROBLEMS_FILTERS_MIGRATE=true eclipse.preferences.version=1 -platformState=1631777710657 +platformState=1631777710672 quickStart=false tipsAndTricks=true diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.debug.core/.launches/simplepdl2petrinet.launch b/eclipse-workspace/.metadata/.plugins/org.eclipse.debug.core/.launches/simplepdl2petrinet.launch new file mode 100644 index 0000000..b25a176 --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.debug.core/.launches/simplepdl2petrinet.launch @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.debug.ui/launchConfigurationHistory.xml b/eclipse-workspace/.metadata/.plugins/org.eclipse.debug.ui/launchConfigurationHistory.xml index baf9a74..9bbf6bb 100644 --- a/eclipse-workspace/.metadata/.plugins/org.eclipse.debug.ui/launchConfigurationHistory.xml +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.debug.ui/launchConfigurationHistory.xml @@ -2,6 +2,7 @@ + @@ -23,6 +24,7 @@ + diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi b/eclipse-workspace/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi index 758bfac..42bf923 100644 --- a/eclipse-workspace/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi @@ -1,8 +1,8 @@ - - + + activeSchemeId:org.eclipse.ui.defaultAcceleratorConfiguration - + @@ -11,9 +11,9 @@ topLevel shellMaximized - - - + + + persp.actionSet:org.eclipse.acceleo.ide.ui.editors.template.actionSet persp.actionSet:org.eclipse.ui.cheatsheets.actionSet @@ -35,34 +35,34 @@ persp.viewSC:org.eclipse.ui.views.ProblemView persp.actionSet:org.eclipse.debug.ui.launchActionSet persp.newWizSC:org.eclipse.ecoretools.emf.design.wizardID - - - + + + noFocus - + View categoryTag:Sirius - - + + View categoryTag:General - + View categoryTag:General - - - - + + + + View categoryTag:General - + View categoryTag:General @@ -70,7 +70,7 @@ - + persp.actionSet:org.eclipse.acceleo.ide.ui.editors.template.actionSet persp.actionSet:org.eclipse.ui.cheatsheets.actionSet @@ -83,53 +83,53 @@ persp.actionSet:org.eclipse.ui.actionSet.keyBindings persp.actionSet:org.eclipse.ui.actionSet.openFiles persp.newWizSC:org.eclipse.ecoretools.emf.design.wizardID - - - + + + noFocus - + View categoryTag:General NoClose - - + + View categoryTag:General NoClose - + View categoryTag:General - - - - - + + + + + View categoryTag:General NoClose - + View categoryTag:General - + General - + View categoryTag:Ecore Tools - + View categoryTag:Ecore Tools - + View categoryTag:General @@ -138,7 +138,7 @@ - + persp.actionSet:org.eclipse.acceleo.ide.ui.editors.template.actionSet persp.actionSet:org.eclipse.ui.cheatsheets.actionSet @@ -186,57 +186,57 @@ persp.viewSC:org.eclipse.jdt.ui.PackageExplorer persp.viewSC:org.eclipse.pde.ui.TargetPlatformState persp.newWizSC:org.eclipse.pde.ds.ui.wizard - - + + org.eclipse.e4.primaryNavigationStack noFocus - + View categoryTag:General - + View categoryTag:General - + View categoryTag:Java - + View categoryTag:Plug-in Development - - - - - + + + + + View categoryTag:General - + View categoryTag:General - + org.eclipse.e4.secondaryDataStack General - + View categoryTag:General - + View categoryTag:Plug-in Development - + View categoryTag:General - + View categoryTag:General @@ -244,7 +244,7 @@ - + persp.actionSet:org.eclipse.acceleo.ide.ui.editors.template.actionSet persp.actionSet:org.eclipse.ui.cheatsheets.actionSet @@ -280,62 +280,61 @@ persp.newWizSC:org.eclipse.ui.editors.wizards.UntitledTextFileWizard persp.perspSC:org.eclipse.acceleo.ide.ui.AcceleoPerspective persp.actionSet:org.eclipse.ui.edit.text.actionSet.presentation - - - noFocus - + + + View categoryTag:Java - - - - - + + + + + View categoryTag:General - + View categoryTag:General - - - + + + View categoryTag:Acceleo Model to Text - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + Minimized - + View categoryTag:Acceleo Model to Text - + View categoryTag:Acceleo Model to Text @@ -344,7 +343,7 @@ - + persp.actionSet:org.eclipse.acceleo.ide.ui.editors.template.actionSet persp.actionSet:org.eclipse.ui.cheatsheets.actionSet @@ -368,38 +367,38 @@ persp.newWizSC:org.eclipse.ecoretools.emf.design.wizardID persp.newWizSC:org.eclipse.sirius.presentation.DescriptionModelWizardID persp.newWizSC:org.eclipse.sirius.ui.specificationproject.wizard - - - + + + noFocus - + View categoryTag:Sirius - - + + View categoryTag:General - + View categoryTag:General - - - - + + + + View categoryTag:General - + View categoryTag:Acceleo Model to Text - + View categoryTag:General @@ -408,2328 +407,2351 @@ - - + + View categoryTag:Help - + View categoryTag:General - + View categoryTag:Help - + View categoryTag:Help - + View categoryTag:General - + ViewMenu menuContribution:menu - + - + View categoryTag:Help - - + + org.eclipse.e4.primaryDataStack EditorStack active - - + + Editor removeOnHide - org.eclipse.sirius.editor.editorPlugin.SiriusEditorID - active + org.eclipse.jdt.ui.CompilationUnitEditor - - + + Editor removeOnHide - org.eclipse.sirius.diagram.ui.part.SiriusDiagramEditorID + org.eclipse.jdt.ui.CompilationUnitEditor + + + + Editor + removeOnHide + org.eclipse.jdt.ui.CompilationUnitEditor + + + + Editor + removeOnHide + org.eclipse.emf.ecore.presentation.ReflectiveEditorID + + + + Editor + removeOnHide + org.eclipse.emf.ecore.presentation.ReflectiveEditorID + + + + Editor + removeOnHide + org.eclipse.emf.ecore.presentation.ReflectiveEditorID + active - + View categoryTag:Sirius - + ViewMenu menuContribution:menu - + - + View categoryTag:General - + ViewMenu menuContribution:menu - + - + View categoryTag:General - + ViewMenu menuContribution:menu - + - + - + View categoryTag:General - + ViewMenu menuContribution:menu - + - + View categoryTag:General - + View categoryTag:General - + ViewMenu menuContribution:menu - + - + View categoryTag:Ecore Tools - + ViewMenu menuContribution:menu - + - + View categoryTag:Ecore Tools - + ViewMenu menuContribution:menu - + - + View categoryTag:General - highlighted - + ViewMenu menuContribution:menu - + - + View categoryTag:Java - + View categoryTag:Plug-in Development - + ViewMenu menuContribution:menu - + - + View categoryTag:Plug-in Development - + View categoryTag:General - + ViewMenu menuContribution:menu - + - + View categoryTag:Java - + ViewMenu menuContribution:menu - + - + View categoryTag:Acceleo Model to Text - + ViewMenu menuContribution:menu - + - + View categoryTag:General - + View categoryTag:General - + View categoryTag:Acceleo Model to Text - + ViewMenu menuContribution:menu - + - + View categoryTag:Acceleo Model to Text - + ViewMenu menuContribution:menu - + - - + + toolbarSeparator - + - + Draggable - + - + toolbarSeparator - + - + Draggable - + toolbarSeparator - + - + Draggable - + Draggable - + Draggable - + Draggable - + toolbarSeparator - + - + Draggable - + - + Draggable - + Draggable - + toolbarSeparator - + - + toolbarSeparator - + - + Draggable - + stretch SHOW_RESTORE_MENU - + Draggable HIDEABLE SHOW_RESTORE_MENU - - + + stretch - + Draggable - + Draggable - - + + TrimStack Draggable - - + + TrimStack Draggable - - - - - - - - - - - - - + + + + + + + + + + + + + platform:gtk - - - - + + + + platform:gtk - - - - - - - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - + + - - - - - - - - + + + + + + + + - - + + - - - + + + - - - - - + + + + + - - + + - - - + + + - - - - - - - + + + + + + + platform:gtk - - - - - + + + + + - - + + - - + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - + + + + - - + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - + + - - - - - - - - + + + + + + + + locale:fr - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - + + + + + - - - - - - - - - - - - + + + + + + + + + + + + platform:gtk - + platform:gtk - + platform:gtk - - - - - - + + + + + + - - + + - - - - + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - + + - - + + - - - - - - + + + + + + - - - + + + - - - + + + - - + + - - - - - - + + + + + + - - + + - - - - - - - - + + + + + + + + - - - - + + + + - - + + - - - + + + - - - + + + - - + + - - - + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - - + + + + - - - - - - - + + + + + + + - - - + + + - - - + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Editor removeOnHide - + View categoryTag:Acceleo Model to Text - + View categoryTag:Acceleo Model to Text - + View categoryTag:Acceleo Model to Text - + View categoryTag:Ant - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:Debug - + View categoryTag:CDO - + View categoryTag:CDO - + View categoryTag:CDO - + View categoryTag:CDO - + View categoryTag:CDO - + View categoryTag:CDO - + View categoryTag:EMF Compare - + View categoryTag:Ecore Tools - + View categoryTag:Ecore Tools - + View categoryTag:General - + View categoryTag:Help - + View categoryTag:Debug - + View categoryTag:Java - + View categoryTag:Java - + View categoryTag:Java - + View categoryTag:Java Browsing - + View categoryTag:Java Browsing - + View categoryTag:Java Browsing - + View categoryTag:Java Browsing - + View categoryTag:Java - + View categoryTag:General - + View categoryTag:Java - + View categoryTag:Java - + View categoryTag:ATL Profiler - + View categoryTag:ATL Profiler - + View categoryTag:Debug - + View categoryTag:Net4j - + View categoryTag:Net4j - + View categoryTag:Net4j Debug - + View categoryTag:Net4j Debug - + View categoryTag:OCL - + View categoryTag:Oomph - + View categoryTag:API Tools - + View categoryTag:Plug-in Development - + View categoryTag:Plug-in Development - + View categoryTag:Plug-in Development - + View categoryTag:Plug-in Development - + View categoryTag:Plug-in Development - + View categoryTag:Plug-in Development - + View categoryTag:General - + View categoryTag:General - + View categoryTag:Sirius Profiler - + View categoryTag:Sirius - + View categoryTag:Team - + View categoryTag:Team - + View categoryTag:General - + View categoryTag:General - + View categoryTag:Help - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:General - + View categoryTag:Xtend - + View categoryTag:Xtext - + View categoryTag:Xtext - - + + glue move_after:PerspectiveSpacer SHOW_RESTORE_MENU - + move_after:Spacer Glue HIDEABLE SHOW_RESTORE_MENU - + glue move_after:SearchField SHOW_RESTORE_MENU - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + - - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - + + + + + + + + + + + + + - - - - - - - - - - - - + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - + + + + + + + + + - - - - - - - - - - - + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - - - + + + - - - - - - + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/1610757853.index b/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/1610757853.index index afbf6651e20d0759e97765fc02b7904fb9e0c0a8..16309507650bc04ce54a51fa1a15ed2cce92e93a 100644 GIT binary patch delta 5886 zcmZ8lTX0+FasF{TxZgp5056hAjqN6`BrCP+dNfX9^4P{y;spS8qZRlFI3yu~0DN%3 zi!F&(WZBJRrcJV)q%-ZrnLK8uPMkjEB`Z>rB=WF&p9OI zH~jzE-GBexZ@=9izxW&XZ@=UIM$Y~9srU2$Jm>lb{qXWwDq1&m&D7^wT3tVR>fytO z+w|t;VY=P?;?o|*pAgAq-JEJ^yUJ`nIURb zN0Ol)zV;T%rISy=;;tB_BWr~-QdSyeZMD=krLkQRX||iDDo;82j8q6Un!T=O)>ov& zj>yu7!`T>)a>vs`(JQ)n@-&UCPAWbnlE$H*)y8OdK0wc1oDBI|on?9M9(}nyLBBqq zr=_J>RwyED-BtPpTOQVY^2#K6FQ%VX*ayo)pOO$!d4oAaUutgHmk494su^(o>ACs*=k#xnIRE|TD5as zZ##NXY?Sq0r*9w~r&$$Jk8EqmfbFi!W1};Z;>L;jk zK0p(TnG>11*3;*VPF?Ty)Rw-gBOR=8&$98NRyRAwrWHsrMjt#o=Ec|hG<#u~{(a$3 z>0hpoeQV_y-KY$wv~E{#H{_+1P$U{lrfBAsVb=uxG&@m%(w;PVw%NX3-RxSvdXzwl z-mV^@vkQf2K64WqWSPPjMqL@28_y^l1#FB|^YpMX_C!R6=(WBM4H*m% z;;-m0AunHosO6&q<`1R`rdT%l78m0H&D2!YCE*u}XkX6=gxA@ZZ{-vyI48YAS z6&qUD)M1AsDEIq*aq>?fv;%*duUiHA-y)z}wPC4;%#Nds z>jr`x@pv*N(sX+&?Pqi#Ae3AkqGuLIY3o9crYgrLEC*G!-Cwow9MBq#Vyh+Z?BS?H z8hQGtJUqwPpY5B=9d?i*v2Eeh!oD5ysE9$V(yudqI)-H>kV?bZ*ZNwkCpUa>E|#SE z#eCeqrnUNZ?)k7^UL2v$tK%6vax=QQ-Z8FQ)k9BR&eLoozvWSa3E}JZQSG>wH-Ul` zNm)Y`6Tq(;lC<#2ogNYi_=AFN=%4o}A>-Ze>ITElsF?9F&w}aRq$hxGN!W!;|Wm z#GMjI(8E_o>Bp^nA}l#w!tG0NZkJ}}b3=@*0~(Md3dGP~FOO%HBo36F$nFDt;4Xc3 zZH!)D93f-5kn;%U<%Yhb^;_l?qG!dPelkB!-@kU0et-FKGFH>fQuqE*yYf*cdqVit z*{j#|x(Qbmm)jH1=8(v5E@x?MJvirHZ}1g>slXDv?XBny=mPAWR>ScU8#^L(VYd7i zwTe2wpw3LGwd$ogl@;R&;n!y>HS`m?q*Hgtp78d~W(&)(aQT7$Bp{m;v9`WG08KVZ z=WZ5g`_{>HWEE|rW%D@OL9clKX5KYK|9XAs97NF{+Z_|_x2`cvrAM670T&;L*h>qg z=^}eqtEv~PY$ucu0hD6fY?_f3AnV*O@+dY#(cb*Fp*7ig|wb>r4--}85)y+J8 z_eMMxEmdk$FBfNCQj0H~Rmp#6e9Paq3Kf#uayEFhgYY?SMT8EkN(#mu9949)wA$tP zaPt+4ycm1uxB3Pe*i7-9T2rUh7mEvL`5qoHh)}w%{&KVZ5b=P!Wqld#!eBjLT#|yT zigWHsnsSc9N4HlI-j>#0#&2(s4-D$lnyE1jKz@&2+emLIExo;Lu3)_{TsmukOI%I4 z4%9n_&eGU+`ig563+cTFr3tZZ;p(s&%*Vhq19`?S2BSbq#Ji95*&ek1M;3Qgi}FCh z7ClN-4AV!o;XlIHJ>k#T?@nSwQrj2v}Wf@e1FTli|0qgLT-2K~AO;6`GE4 zD{#DLi}4)I_X}zSWpvPSU~@-AfY55WI8!O9GYo-U5yH;2S}vVer{y}}6b9^gL-9n8 z;x~urLrVzQ+v2^mS;c-8RhV8@A--rmJJ9xPV^sqm?#UeasLs1q& zaCOtJRqSx2Jr?^|0WGVQ*|X>Q6n8Ww!cHlm>R6v+9&z@ZGE`!5;kUal{MZ&llI&1_ zz(AEo-$`sKmCc^1Gwd1TilO&Fz*q&H(IY4P^-g;Yo=6KpzLp#ou>4f`%S@aVMv*s) z1PGseY)H|NxuV+?jrBd@S#L1$f6PBDF#DIIR#W5~pa|*j&0{pacJvaD&hv-#=EF=J zjfs>!YS}^JTf*Lb5op=dCsu%sE)!%y7CXDbW9ZBh93%SKTO;(M47dldTK>tnf?layMG36j6W5@_nha&`-rek=SfM90uL?fb&Z zxWun*5dkO%%WFr3xOdN$0rZQI*cHCRASZ3e)@t($#hGfUdWp}8CM4fX&7PZ^t(2;k z<5`Z@8JRQs_Ga>^_nNk*LE35lBCu=^d29ki_D|;Myx&GC&IL3bu7N;6_!N*7NYIbx zvA(Pu*z`nW8Fa3Vy56-1fIV<$d3H*zRPfmg;-o*@d_3rG%07f??hl><-cH?DGxY9T z!7qAOd&`_1i2x5Cp!gj|xybTOrcjW`M@iBp?cO*_wZB9gSj*GR+j&a)C!+zwde(5; z`h?!wD$ogYWXmVt5-{cF=U34%v`rS+7hzaCKYO-VE!nw^IQ3vxBW6o*h-n^%aZoxrvi!-QPwfsSDL73z1wKf?`}uv`8Tt!JdJ)O?`1jq=AF!#A2jN4wg`6* z-vf}?p*MOX^y}9PTYmdW?0y`?pgT=jok^*8R#!W1h{WjU8zW)GYC15mO+V~SWTTHvnGnOnG?k;p z8-;BAa~)lJ5ulA*qt8WV24=&-gY z^s}{*Np9;-_p5QXA^r#9Ij40UZ%6Qw8A)LKfgB@d%NQioY5Kdn$LY`C9y-VW@f?mU zZkHlb$g$mX!6dU6OKJt$;9Upbuf4!HnQ-Hd^fVw%~0Cu{RTm)nX8yG`^ z>bbe;QY%5wR@7BOEXoq{9H?VF$?D6q8B8|a;_HGZooH_*kz|+IyQX<03!vLiBMWjCP z4>5L-3+G8`bN(LvATas`zx^zL=T2FaW)DaSyNoe!`|6xZ|MA8oJ>AdJ`Wuf^Dv+kR z4L^OdmZKd!cmDQkcTas~ScFz}bEVUm*6Vms>SypL9HtP{=yMRQ&Gs*Nuv-$s_}~8r DS{T!~ delta 5733 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 diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/externalFilesCache b/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/externalFilesCache index 8b5760340e9d637ac99abf3a5eebfc535c477377..d05f27fe109d87cab44afde29b7c523d89d0447c 100644 GIT binary patch delta 239 zcmca^bKi`Ofq}t^A%AipzsqEMMjgg>AS-oZc0XgvWJgYi$!i!@H`_5SXJjk@iaTm& z7G;(e>m}#s=H}<=B_=1Q=A`E9B^Ktyo9UV88R{7s7#SEE85tT_8dz+8!2FVNvjJN& zpY3u7$E1rlHvV6kp;1DD(8*&;S9n_VS?7$>{3IBxcqzR5Uw Pg@EH^0}+nNwsKMcjr~Yk delta 391 zcmYL^u};EJ6oz|%drPrc#1KguWYW0M+*_!CAxKd%P9}!IjYR2C28~Lcjf1rjbUMTN&-uRpefhOQB}v+nE)c@&{l@`*rtN-%VRFXCJ6OQ4 z)M!R!m1sbKV13`v*HMB;&!sCcDw_( QJF#7%I_w2Bf^|Lf0~}p)>Hq)$ diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps b/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.core/externalLibsTimeStamps index cb88a8a7b0c89ad8c7e8b2eda11ba0104a6d3b0e..7b36c0c66239bfccffc83aa246c7e9560f208784 100644 GIT binary patch delta 32 ocmZoxYgXGZlW(#Rexo&W#< delta 26 icmZ3id`Xdofq_A5@_i1cjczt9lb~Up44{Z2 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 delta 10977 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

- +
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml b/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml index 9e390f5..aa70199 100644 --- a/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.ui/QualifiedTypeNameHistory.xml @@ -1,2 +1,8 @@ - + + + + + + + diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.ui/jdt-images/0.png b/eclipse-workspace/.metadata/.plugins/org.eclipse.jdt.ui/jdt-images/0.png index 672f75ec758497e1b72d5afc8daf76effeac1472..234327312050d4a4db909f0e1d017c758a35f04a 100644 GIT binary patch delta 676 zcmV;V0$cs<1Iq=FGk*etNklDcKl-N*|uT%5^ zj^Ij9v%8|vBXAZHZV|C7aL-+3J%1w7P}%IMB7vF! zeAT<)bvWR$Yg|aQ)7XmC#drBuk*JyDUYGL%40OY=z#y<$-2i~O^iL!=r9ToCX-O%KQ&bITntu`6ia7wF9GA#si}hn*_>m7aV=H}0000< KMNUMnLSTYcVLu%J delta 452 zcmV;#0XzQ71?>ZnGk*c3NklcVN&)4sduHxbT<(b1*BSo`Xnk?&ZyrGCRrg`v^=skk z3*jPv=jfQ}^snEUm+vb7_dOjbC4qh0CgU6w`FlB+f~d06ya!-v+G^5qnyZ4vqaT@L z0d27~?n{s=b0bR4PAGnmzY)01z1KY6%97NjI-<0|ZR{ ud(Kq@uJ!)gN%_-dwU=SFht9Ti-ueTEn3U@sDzG^K0000SbVHU|?|A7Wv<<&+q^L|NsBL`u_I+|NsC0 zljH(qAj%;GXR{EiNr+v5;qmXc3{O8lXDC12#qjmcdjGJ>JY`szncA6{ z8SNMt7#RNjW7u`2U}j4Al5~c5uir7q2}m)_i0Ece5mjWwZ~;eyhXNA|(^(rSNnUG7 z3D&nielYBM{51aVt5?5vC9Yuk^7AVb9~<{0Zg%cmtS;bd^Vz8{EaIH5qsfdczUca` zpC?|tT=S`BOMeWqIED*;{rzXF&cn%k`_)SnaV0Je_M`v*JEN<|FyP<6|E%vnePa0f z{`Kd71_s9C=;|@j!S8)pW!_-+rKw||9$)S?@u1OdaTjNTJLGW#y!S7`}d!JS_}*f46H0nmwx^J um-xG3+XZauaf1d29)<=74$?Hy8vp=U3z@pe=%14S0000>OT$nYh0o1LOVdUo)wNWL?XLg84h}Aky1KQ+ zCJ=u>R)r5@189Bm1Tfw zT5h3G*lRR)%I)?6IOouH9j(@Gg%BJK2E(&lfDmcdG&d@gP5=PDPvQF%lulq-Rz--c zv*_2B0dXAH!Z1V_h5&#s5CBM-g7dhU3rK{d)9GweQ9jGf=fQV7DUl@dE%${i758Bj z#j2_T0BpMl+hguQRaG#?7#I8|w?PoVj`{2`O*3mWx-Ke;0x46x`!r%Kd@UR5<)VM( z4jjj^RJ}A#Wp+#mAz21NfZHf4UW~_Huqv}wuIq07D)8s}00QTW52YriOaK4?07*qo IM6N<$f`B=xGXMYp diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/fr.n7.petrinet/2021/10/40/refactorings.history b/eclipse-workspace/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/fr.n7.petrinet/2021/10/40/refactorings.history index ac55d54..a6c5933 100644 --- a/eclipse-workspace/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/fr.n7.petrinet/2021/10/40/refactorings.history +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/fr.n7.petrinet/2021/10/40/refactorings.history @@ -1,3 +1,3 @@ - + \ No newline at end of file diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/fr.n7.petrinet/2021/10/40/refactorings.index b/eclipse-workspace/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/fr.n7.petrinet/2021/10/40/refactorings.index index 629cdd9..62e2242 100644 --- a/eclipse-workspace/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/fr.n7.petrinet/2021/10/40/refactorings.index +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/fr.n7.petrinet/2021/10/40/refactorings.index @@ -7,3 +7,4 @@ 1633791501864 Rename resource 'network1-ko.xmi' 1633794223683 Delete element 1633809576140 Copy file +1633817955008 Delete element diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/fr.n7.simplepdl/2021/10/40/refactorings.history b/eclipse-workspace/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/fr.n7.simplepdl/2021/10/40/refactorings.history index eaf238f..189999a 100644 --- a/eclipse-workspace/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/fr.n7.simplepdl/2021/10/40/refactorings.history +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/fr.n7.simplepdl/2021/10/40/refactorings.history @@ -1,3 +1,3 @@ - + \ No newline at end of file diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/fr.n7.simplepdl/2021/10/40/refactorings.index b/eclipse-workspace/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/fr.n7.simplepdl/2021/10/40/refactorings.index index 2e1b18c..abb30ea 100644 --- a/eclipse-workspace/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/fr.n7.simplepdl/2021/10/40/refactorings.index +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/fr.n7.simplepdl/2021/10/40/refactorings.index @@ -11,3 +11,5 @@ 1633791379776 Rename resource 'process-developpement.xmi' 1633794113369 Copy compilation unit 1633794227791 Delete element +1633817925558 Move file +1633818171927 Delete element diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.cache/clean-cache.properties b/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.cache/clean-cache.properties index abf0e6d..9210a1a 100644 --- a/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.cache/clean-cache.properties +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.cache/clean-cache.properties @@ -1,2 +1,2 @@ #Cached timestamps -#Sat Oct 09 21:07:40 CEST 2021 +#Sun Oct 10 00:17:26 CEST 2021 diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.extensions/.manager/.tmp2479340851002185577.instance b/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.extensions/.manager/.tmp6998723412611004271.instance similarity index 100% rename from eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.extensions/.manager/.tmp2479340851002185577.instance rename to eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/.extensions/.manager/.tmp6998723412611004271.instance diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/SavedExternalPluginList.txt b/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/SavedExternalPluginList.txt index 0c21eec..524590f 100644 --- a/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/SavedExternalPluginList.txt +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.pde.core/SavedExternalPluginList.txt @@ -1,4 +1,4 @@ -# List of external plug-in models previously loaded. Timestamp: 1633806471706 +# List of external plug-in models previously loaded. Timestamp: 1633817862111 file:/mnt/n7fs/ens/tp_cregut/eclipse-gls-2020-09/plugins/com.google.guava_27.1.0.v20190517-1946.jar file:/mnt/n7fs/ens/tp_cregut/eclipse-gls-2020-09/plugins/com.google.inject_3.0.0.v201605172100.jar file:/mnt/n7fs/ens/tp_cregut/eclipse-gls-2020-09/plugins/com.ibm.icu_67.1.0.v20200706-1749.jar diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.sirius.diagram.ui/_j1yWAylDEeyDO9z0LI9hnQ b/eclipse-workspace/.metadata/.plugins/org.eclipse.sirius.diagram.ui/_j1yWAylDEeyDO9z0LI9hnQ new file mode 100644 index 0000000..049125d --- /dev/null +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.sirius.diagram.ui/_j1yWAylDEeyDO9z0LI9hnQ @@ -0,0 +1,18 @@ +#Sat Oct 09 23:25:21 CEST 2021 +rulergrid.rulerunit=1 +print.margin.left=0.5 +rulergrid.gridlinestyle=6 +zoom=1.0 +print.useMillim=true +print.usePortrait=true +print.page.height=11.6929134 +print.page.width=8.26771654 +rulergrid.snaptogrid=true +print.margin.bottom=0.5 +rulergrid.snaptogeometry=true +print.margin.top=0.5 +print.margin.right=0.5 +rulergrid.gridlevel=true +print.page.size=A4 +rulergrid.gridspacing=0.125 +rulergrid.gridlinecolor=12632256 diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml b/eclipse-workspace/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml index 24e95e3..c6efa37 100644 --- a/eclipse-workspace/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml @@ -16,15 +16,15 @@
- +
- - + +
diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.ui.views.log/dialog_settings.xml b/eclipse-workspace/.metadata/.plugins/org.eclipse.ui.views.log/dialog_settings.xml index 79041ea..08b77d1 100644 --- a/eclipse-workspace/.metadata/.plugins/org.eclipse.ui.views.log/dialog_settings.xml +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.ui.views.log/dialog_settings.xml @@ -10,8 +10,8 @@
- - + + diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.ui.workbench.texteditor/dialog_settings.xml b/eclipse-workspace/.metadata/.plugins/org.eclipse.ui.workbench.texteditor/dialog_settings.xml index f55f57b..b9bd572 100644 --- a/eclipse-workspace/.metadata/.plugins/org.eclipse.ui.workbench.texteditor/dialog_settings.xml +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.ui.workbench.texteditor/dialog_settings.xml @@ -6,8 +6,10 @@ - + + + diff --git a/eclipse-workspace/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml b/eclipse-workspace/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml index 9dcb8dd..8da8c9d 100644 --- a/eclipse-workspace/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml +++ b/eclipse-workspace/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml @@ -27,9 +27,16 @@
- + + + + + + + +
diff --git a/eclipse-workspace/.metadata/version.ini b/eclipse-workspace/.metadata/version.ini index a86133e..b4c9cf4 100644 --- a/eclipse-workspace/.metadata/version.ini +++ b/eclipse-workspace/.metadata/version.ini @@ -1,3 +1,3 @@ -#Sat Oct 09 21:07:48 CEST 2021 +#Sun Oct 10 00:17:33 CEST 2021 org.eclipse.core.runtime=2 org.eclipse.platform=4.17.0.v20200902-1800 diff --git a/eclipse-workspace/fr.n7.simplepdl/models/test.xmi b/eclipse-workspace/fr.n7.simplepdl/models/test.xmi new file mode 100644 index 0000000..9e7734e --- /dev/null +++ b/eclipse-workspace/fr.n7.simplepdl/models/test.xmi @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eclipse-workspace/fr.n7.simplepdl/pdl-sujet.xmi b/eclipse-workspace/fr.n7.simplepdl/pdl-sujet.xmi index 09d48b8..d312792 100644 --- a/eclipse-workspace/fr.n7.simplepdl/pdl-sujet.xmi +++ b/eclipse-workspace/fr.n7.simplepdl/pdl-sujet.xmi @@ -1,49 +1,12 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/manip/SimplePDLCreator.java b/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/manip/SimplePDLCreator.java index dc4526a..7322b80 100644 --- a/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/manip/SimplePDLCreator.java +++ b/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/manip/SimplePDLCreator.java @@ -23,7 +23,6 @@ public class SimplePDLCreator { // Charger le package SimplePDL afin de l'enregistrer dans le registre d'Eclipse. SimplepdlPackage packageInstance = SimplepdlPackage.eINSTANCE; - PetrinetPackage packageInstance2 = PetrinetPackage.eINSTANCE; // Enregistrer l'extension ".xmi" comme devant être ouverte à // l'aide d'un objet "XMIResourceFactoryImpl" diff --git a/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/manip/simplepdl2petrinet.java b/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/manip/simplepdl2petrinet.java index b007609..8f0d125 100644 --- a/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/manip/simplepdl2petrinet.java +++ b/eclipse-workspace/fr.n7.simplepdl/src/simplepdl/manip/simplepdl2petrinet.java @@ -10,73 +10,112 @@ import org.eclipse.emf.ecore.resource.ResourceSet; import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl; import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; +import petrinet.PetrinetPackage; +import petrinet.Place; +import petrinet.Transition; +import petrinet.Arc; +import petrinet.Network; +import petrinet.PetrinetFactory; import simplepdl.Process; import simplepdl.WorkDefinition; import simplepdl.WorkSequence; import simplepdl.WorkSequenceType; -import simplepdl.SimplepdlFactory; import simplepdl.SimplepdlPackage; public class simplepdl2petrinet { public static void main(String[] args) { - // Charger le package SimplePDL afin de l'enregistrer dans le registre d'Eclipse. + // Charger les package SimplePDL et Petrinet afin de les enregistrer dans le registre d'Eclipse. SimplepdlPackage packageInstance = SimplepdlPackage.eINSTANCE; + PetrinetPackage packageInstance2 = PetrinetPackage.eINSTANCE; - // Enregistrer l'extension ".xmi" comme devant être ouverte à + // Enregistrer l'extension ".xmi" comme devant être ouverte à // l'aide d'un objet "XMIResourceFactoryImpl" Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE; Map m = reg.getExtensionToFactoryMap(); m.put("xmi", new XMIResourceFactoryImpl()); - // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) + // Créer un objet resourceSetImpl qui contiendra une ressource EMF (le modèle) ResourceSet resSet = new ResourceSetImpl(); - // Définir la ressource (le modèle) - URI modelURI = URI.createURI("models/SimplePDLCreator_Created_Process.xmi"); - Resource resource = resSet.createResource(modelURI); + // Charger la ressource (notre modèle) + URI modelURI = URI.createURI("pdl-sujet.xmi"); + Resource resource = resSet.getResource(modelURI, true); + + // Récupérer le premier élément du modèle (élément racine) + Process process = (Process) resource.getContents().get(0); - // La fabrique pour fabriquer les éléments de SimplePDL - SimplepdlFactory myFactory = SimplepdlFactory.eINSTANCE; - - // Créer un élément Process - Process process = myFactory.createProcess(); - process.setName("Mon premier processus"); + // La fabrique pour fabriquer les éléments de PetriNET + PetrinetFactory myFactory = PetrinetFactory.eINSTANCE; + + // Créer un élément Network + Network network = myFactory.createNetwork(); + network.setName(process.getName()); - // Ajouter le Process dans le modèle - resource.getContents().add(process); + // Conversion des WorkDefinition en Node et Transition + for (Object o : process.getProcessElements()) { + if (o instanceof WorkDefinition) { + WorkDefinition wd = (WorkDefinition) o; + String name = wd.getName(); + System.out.println(" - " + name); + + Place idle = myFactory.createPlace(); + idle.setName(name + "_idle"); + idle.setTokens(1); + Place running = myFactory.createPlace(); + running.setName(name + "_running"); + running.setTokens(1); + Place finished = myFactory.createPlace(); + finished.setName(name + "_finished"); + finished.setTokens(1); + + Arc pause2start = myFactory.createArc(); + pause2start.setTarget(idle); + pause2start.setOutgoing(false); + pause2start.setWeight(1); + Arc start2running = myFactory.createArc(); + start2running.setTarget(running); + start2running.setOutgoing(true); + start2running.setWeight(1); + Transition start = myFactory.createTransition(); + start.setName(name + "_start"); + start.getArcs().add(pause2start); + start.getArcs().add(start2running); + + Arc running2finish = myFactory.createArc(); + running2finish.setTarget(running); + running2finish.setOutgoing(false); + running2finish.setWeight(1); + Arc finish2finished = myFactory.createArc(); + finish2finished.setTarget(finished); + finish2finished.setOutgoing(true); + finish2finished.setWeight(1); + Transition finish = myFactory.createTransition(); + finish.setName(name + "_finish"); + finish.getArcs().add(running2finish); + finish.getArcs().add(finish2finished); + + System.out.println(" + " + idle.getName() + " (" + idle.getTokens() + ")"); + + network.getNodes().add(idle); + network.getNodes().add(start); + network.getNodes().add(running); + network.getNodes().add(finish); + network.getNodes().add(finished); + } + } + + // Créer le nouveau xmi (modèle convertit) + URI convURI = URI.createURI("models/test.xmi"); + Resource conv = resSet.createResource(convURI); - // Ajouter deux WorkDefinitions - WorkDefinition wd1 = myFactory.createWorkDefinition(); - wd1.setName("Ma première WorkDefinition, quelle émotion"); - - WorkDefinition wd2 = myFactory.createWorkDefinition(); - wd2.setName("Ma deuxième WorkDefinition, toujours autant d'émotion"); - - process.getProcessElements().add(wd1); - process.getProcessElements().add(wd2); - - // Ajouter une WorkSequence entre les deux WorkDefinitions - WorkSequence seq = myFactory.createWorkSequence(); - seq.setPredecessor(wd1); - seq.setSuccessor(wd2); - seq.setLinkType(WorkSequenceType.FINISH_TO_FINISH); - - process.getProcessElements().add(seq); - - // Ajouter une deuxième WorkSequence entre les deux WorkDefinitions - WorkSequence seq2 = myFactory.createWorkSequence(); - seq2.setPredecessor(wd1); - seq2.setSuccessor(wd2); - seq2.setLinkType(WorkSequenceType.START_TO_START); - - process.getProcessElements().add(seq2); - + // Ajouter le Network dans le nouveau modèle + conv.getContents().add(network); // Sauver la ressource try { - resource.save(Collections.EMPTY_MAP); + conv.save(Collections.EMPTY_MAP); } catch (IOException e) { e.printStackTrace(); }