From 450e7ff198c5cf148642d943d3fc3a614f0b324f Mon Sep 17 00:00:00 2001 From: Laurent Fainsin Date: Sat, 9 Oct 2021 13:56:20 +0200 Subject: [PATCH] =?UTF-8?q?ajout=20des=20derni=C3=A8res=20modif=20du=20TP?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .metadata/.log | 683 ++++++ .../0/808608179c22001c10c68e4a8bb21dd1 | 8 - .../11/e090c9073928001c1310d5f213a964e6 | 85 + .../14/50bca4f43428001c13dca9fa1eba29d5 | 0 .../19/f01f05339822001c17faa9b6b0561c0f | 252 --- .../1a/303cfad39b22001c10fba84a9f2208e9 | 872 -------- .../1e/90ca75d59922001c1dcfb9656cd69315 | 185 -- .../21/40b998f53428001c13dca9fa1eba29d5 | 28 + .../702cabc93c28001c1451a142d5f09209} | 79 +- .../24/f0b1f32a9822001c17faa9b6b0561c0f | 636 ------ .../103a99093428001c13dca9fa1eba29d5} | 2 +- .../29/00dae74f9c22001c10c68e4a8bb21dd1 | 201 -- .../2a/601484d13328001c13dca9fa1eba29d5 | 3 + .../2e/701a2c539a22001c12b4fa86d0abfe24 | 6 - .../2f/90ef1c183528001c13dca9fa1eba29d5 | 28 + .../2f/f00d382b9822001c17faa9b6b0561c0f | 39 - .../34/502708779422001c17faa9b6b0561c0f | 1545 -------------- .../34/c0c8ff329822001c17faa9b6b0561c0f | 61 - .../35/90a8ff5c3128001c1e2bddb0f1b33239 | 50 + .../36/100f13fd9c22001c118def180044d1da | 182 -- .../4/00dda87c3228001c13dca9fa1eba29d5 | 49 + .../44/509e66e8f425001c1bd4a5e084302d35 | 668 ------ .../4c/10500a339822001c17faa9b6b0561c0f | 225 -- .../50/60bc0a2b9822001c17faa9b6b0561c0f | 391 ---- .../53/e02745d49b22001c10fba84a9f2208e9 | 310 --- .../53/e04b0c339822001c17faa9b6b0561c0f | 489 ----- .../5f/f02b75389422001c17faa9b6b0561c0f | 1542 -------------- .../61/90736fb33b28001c1451a142d5f09209 | 9 + .../63/d05388e53428001c13dca9fa1eba29d5 | 48 + .../64/108c00339822001c17faa9b6b0561c0f | 69 - .../66/c03902339822001c17faa9b6b0561c0f | 89 - .../69/50120ed49b22001c10fba84a9f2208e9 | 489 ----- .../7/309232f79922001c1dcfb9656cd69315 | 2 - .../74/f0d15bee3728001c1310d5f213a964e6 | 85 + .../a07a42813828001c1310d5f213a964e6} | 0 .../7c/e039bf7e3228001c13dca9fa1eba29d5 | 49 + .../7f/b069ee4f9c22001c10c68e4a8bb21dd1 | 185 -- .../8/005f34d49b22001c10fba84a9f2208e9 | 89 - .../8/607ceef19622001c17faa9b6b0561c0f | 21 - .../d03cfc073d28001c1804aa3181391e8a} | 78 +- .../86/f0ae02339822001c17faa9b6b0561c0f | 98 - .../89/a09faa009b22001c10fba84a9f2208e9 | 8 - .../8d/30cf1d2b9822001c17faa9b6b0561c0f | 196 -- .../8f/70acb8283228001c1e2bddb0f1b33239 | 319 +++ .../9/60b6a45c9622001c17faa9b6b0561c0f | Bin 222102 -> 0 bytes .../91/505cf8ce9422001c17faa9b6b0561c0f | 49 - .../98/400101339822001c17faa9b6b0561c0f | 68 - .../98/a0eb01339822001c17faa9b6b0561c0f | 872 -------- .../a/200ed0a53b28001c1451a142d5f09209 | 2 + .../a/60defe329822001c17faa9b6b0561c0f | 59 - .../60f1c9fb3b28001c1451a142d5f09209} | 62 +- .../a2/50843b023728001c1310d5f213a964e6 | 28 + .../a5/f09b510c3728001c1310d5f213a964e6 | 27 + .../a8/80fedb419922001c1dcfb9656cd69315 | 180 -- .../a8/b01bd2b89d22001c118def180044d1da | 179 -- .../a8/b0238a5e3228001c13dca9fa1eba29d5 | 49 + .../a8/e05dd4a39822001c17faa9b6b0561c0f | 1545 -------------- .../ae/b05252879a22001c12b4fa86d0abfe24 | 8 - .../ae/e0c2e2bf9a22001c12b4fa86d0abfe24 | 1546 -------------- .../b3/e01600339822001c17faa9b6b0561c0f | 18 - .../b4/00f79b203628001c188ba284775c11f7 | 3 + .../e02c41e13728001c1310d5f213a964e6} | 0 .../b6/001492399c22001c10c68e4a8bb21dd1 | 44 - .../bc/0025112b9822001c17faa9b6b0561c0f | 78 - .../bc/50da3d2b9822001c17faa9b6b0561c0f | 76 - .../bc/a0af0b339822001c17faa9b6b0561c0f | 208 -- .../bc/c034b7df9522001c17faa9b6b0561c0f | 21 - .../be/80a709773228001c13dca9fa1eba29d5 | 48 + .../bf/10df07339822001c17faa9b6b0561c0f | 39 - .../bf/40ef332b9822001c17faa9b6b0561c0f | 18 - .../8037cebd3c28001c1451a142d5f09209} | 74 +- .../c1/10affb743228001c13dca9fa1eba29d5 | 48 + .../c6/a0e45af59c22001c118def180044d1da | 180 -- .../ca/604f01339822001c17faa9b6b0561c0f | 87 - .../cb/30bc05339822001c17faa9b6b0561c0f | 204 -- .../cb/e062c6ecdc25001c15a9d70b555b4809 | 185 -- .../cc/60cec0039d22001c118def180044d1da | 182 -- .../cf/80cbebc49d22001c118def180044d1da | 2 - .../d4/80b20bdc3328001c13dca9fa1eba29d5 | 47 + .../e/809ce3739922001c1dcfb9656cd69315 | 183 -- .../e0/8013482b9822001c17faa9b6b0561c0f | 274 --- .../e7/50976e439722001c17faa9b6b0561c0f | 25 - .../e7/e0d777a59c22001c118def180044d1da | 2 - .../e9/809f10413c28001c1451a142d5f09209 | 9 + .../ea/d0252a7e3228001c13dca9fa1eba29d5 | 48 + .../eb/006a29c43c28001c1451a142d5f09209 | 209 ++ .../eb/c0f4bfde9b22001c10fba84a9f2208e9 | 1541 -------------- .../ec/001e55be9a22001c12b4fa86d0abfe24 | 49 - .../ef/10fe90039822001c17faa9b6b0561c0f | 35 - .../f0/701c10339822001c17faa9b6b0561c0f | 310 --- .../f0/a02b8fdf9b22001c10fba84a9f2208e9 | 2 - .../f4/70fe14339822001c17faa9b6b0561c0f | 246 --- .../f7/f05411339822001c17faa9b6b0561c0f | 366 ---- .../f9/00ed13339822001c17faa9b6b0561c0f | 234 --- .../.indexes/e4/cc/89/27/1d/b9/history.index | Bin 76 -> 0 bytes .../.projects/fr.n7.petriNET.toTINA/.markers | Bin 2753 -> 0 bytes .../acceleo.state.dat | Bin 67 -> 0 bytes .../org.eclipse.jdt.core/state.dat | Bin 60244 -> 0 bytes .../.indexes/e4/47/f/history.index | Bin 0 -> 221 bytes .../.projects/fr.n7.petriNet.edit/.markers | Bin 0 -> 663 bytes .../org.eclipse.jdt.core/state.dat | Bin 0 -> 47152 bytes .../.projects/fr.n7.petriNet.editor/.markers | Bin 0 -> 665 bytes .../org.eclipse.jdt.core/state.dat | Bin 0 -> 109809 bytes .../.indexes/history.index | Bin 0 -> 93 bytes .../.indexes/properties.index | Bin 0 -> 250 bytes .../.projects/fr.n7.petriNet.tests/.markers | Bin 0 -> 664 bytes .../org.eclipse.jdt.core/state.dat | Bin 0 -> 45144 bytes .../fr.n7.petriNet/.indexes/history.index | Bin 241 -> 90 bytes .../.projects/fr.n7.petriNet/.markers | Bin 0 -> 954 bytes .../org.eclipse.jdt.core/state.dat | Bin 0 -> 46680 bytes .../.projects/fr.n7.simplePDF.todot/.markers | Bin 1405 -> 1405 bytes .../acceleo.state.dat | Bin 67 -> 67 bytes .../org.eclipse.jdt.core/state.dat | Bin 60738 -> 60738 bytes .../.projects/fr.n7.simplePDL.design/.markers | Bin 584 -> 584 bytes .../org.eclipse.jdt.core/state.dat | Bin 91518 -> 91518 bytes .../.indexes/e4/fa/f/history.index | Bin 802 -> 311 bytes .../.projects/fr.n7.simplePDL.edit/.markers | Bin 664 -> 664 bytes .../org.eclipse.jdt.core/state.dat | Bin 49425 -> 49425 bytes .../.indexes/e4/fa/1a/history.index | Bin 86 -> 0 bytes .../.projects/fr.n7.simplePDL.editor/.markers | Bin 666 -> 666 bytes .../org.eclipse.jdt.core/state.dat | Bin 109967 -> 109967 bytes .../.indexes/history.index | Bin 214 -> 0 bytes .../.indexes/history.index | Bin 93 -> 69 bytes .../.indexes/history.index | Bin 322 -> 346 bytes .../.projects/fr.n7.simplePDL.tests/.markers | Bin 665 -> 665 bytes .../org.eclipse.jdt.core/state.dat | Bin 46035 -> 46035 bytes .../fr.n7.simplePDL.toHTML.ui/.markers | Bin 1793 -> 1793 bytes .../org.eclipse.jdt.core/state.dat | Bin 108098 -> 108098 bytes .../.projects/fr.n7.simplePDL.toHTML/.markers | Bin 1409 -> 1409 bytes .../acceleo.state.dat | Bin 68 -> 68 bytes .../org.eclipse.jdt.core/state.dat | Bin 60750 -> 60750 bytes .../.indexes/e4/fa/1/history.index | Bin 149 -> 197 bytes .../.indexes/e4/fa/2/history.index | Bin 197 -> 0 bytes .../.indexes/e4/fa/20/history.index | Bin 764 -> 0 bytes .../.indexes/e4/fa/history.index | Bin 747 -> 0 bytes .../fr.n7.simplePDL/.indexes/f9/history.index | Bin 54 -> 0 bytes .../fr.n7.simplePDL/.indexes/history.index | Bin 378 -> 564 bytes .../.projects/fr.n7.simplePDL/.markers | Bin 956 -> 2482 bytes .../org.eclipse.jdt.core/state.dat | Bin 51640 -> 53488 bytes .../.root/.indexes/properties.index | Bin 203 -> 203 bytes .../org.eclipse.core.resources/.root/41.tree | Bin 22297 -> 0 bytes .../org.eclipse.core.resources/.root/48.tree | Bin 0 -> 32315 bytes .../.safetable/org.eclipse.core.resources | Bin 1573 -> 1577 bytes .../.settings/org.eclipse.ui.ide.prefs | 2 +- .../launchConfigurationHistory.xml | 8 +- .../org.eclipse.e4.workbench/workbench.xmi | 62 +- .../org.eclipse.jdt.core/144863826.index | Bin 0 -> 5243 bytes .../org.eclipse.jdt.core/1811219029.index | Bin 4083 -> 4083 bytes .../org.eclipse.jdt.core/2199960114.index | Bin 0 -> 19526 bytes .../org.eclipse.jdt.core/2574233358.index | Bin 0 -> 13069 bytes .../org.eclipse.jdt.core/3311238943.index | Bin 0 -> 31407 bytes .../org.eclipse.jdt.core/3952884170.index | Bin 4123 -> 4123 bytes .../org.eclipse.jdt.core/4138038359.index | Bin 33933 -> 35052 bytes .../org.eclipse.jdt.core/473783695.index | Bin 4122 -> 0 bytes .../org.eclipse.jdt.core/externalFilesCache | Bin 8072 -> 4611 bytes .../externalLibsTimeStamps | Bin 4971 -> 4971 bytes .../org.eclipse.jdt.core/nonChainingJarsCache | Bin 4402 -> 4611 bytes .../org.eclipse.jdt.core/savedIndexNames.txt | 83 +- .../variablesAndContainers.dat | Bin 46724 -> 47289 bytes .../org.eclipse.jdt.launching/.install.xml | 2 +- .../2021/10/40/refactorings.history | 2 +- .../.workspace/2021/10/40/refactorings.index | 2 + .../2021/10/40/refactorings.history | 3 +- .../2021/10/40/refactorings.index | 4 + .../dialog_settings.xml | 3 + .../.cache/clean-cache.properties | 2 +- .../.extensions/.contributions.1 | Bin 23410 -> 23483 bytes .../.extensions/.contributors.1 | Bin 40396 -> 40564 bytes .../.extensions/.extraData.1 | Bin 642182 -> 642369 bytes .../.extensions/.mainData.1 | Bin 2525875 -> 2527554 bytes .../.extensions/.manager/.fileTable.7 | 4 +- .../.extensions/.manager/.fileTable.8 | 4 +- .../.extensions/.namespaces.1 | Bin 35408 -> 35511 bytes .../.extensions/.orphans.1 | Bin 230 -> 230 bytes .../org.eclipse.pde.core/.extensions/.table.1 | Bin 111859 -> 111903 bytes .../.profiles/JavaSE-10.profile | 2 +- .../.profiles/JavaSE-11.profile | 2 +- .../.profiles/JavaSE-12.profile | 2 +- .../.profiles/JavaSE-13.profile | 2 +- .../.profiles/JavaSE-14.profile | 2 +- .../SavedExternalPluginList.txt | 2 +- .../tempp2metadata/artifacts.xml | 42 +- .../tempp2metadata/content.xml | 380 ++-- ...n7.petriNet.feature_1.0.0.202110081538.jar | Bin 0 -> 423 bytes ...7.simplePDL.feature_1.0.0.202110051703.jar | Bin 443 -> 0 bytes ...fr.n7.petriNet.edit_1.0.0.202110081538.jar | Bin 0 -> 18025 bytes ....n7.petriNet.editor_1.0.0.202110081538.jar | Bin 0 -> 61378 bytes ...r.n7.petriNet.tests_1.0.0.202110081538.jar | Bin 0 -> 7972 bytes .../fr.n7.petriNet_1.0.0.202110081538.jar | Bin 0 -> 20985 bytes ...r.n7.simplePDL.edit_1.0.0.202110051703.jar | Bin 24294 -> 0 bytes ...n7.simplePDL.editor_1.0.0.202110051703.jar | Bin 61679 -> 0 bytes ....n7.simplePDL.tests_1.0.0.202110051703.jar | Bin 9693 -> 0 bytes ...simplePDL.toHTML.ui_1.0.0.202110051703.jar | Bin 7853 -> 0 bytes ...n7.simplePDL.toHTML_1.0.0.202110051703.jar | Bin 4862 -> 0 bytes .../fr.n7.simplePDL_1.0.0.202110051703.jar | Bin 30781 -> 0 bytes .../org.eclipse.ui.ide/dialog_settings.xml | 5 +- .../dialog_settings.xml | 4 +- .metadata/version.ini | 2 +- .../fr/n7/petriNET/toTINA/main/ToTINA.java | 421 ---- .../src/fr/n7/petriNET/toTINA/main/toTINA.mtl | 10 - fr.n7.petriNet.edit/.classpath | 7 + fr.n7.petriNet.edit/.project | 28 + fr.n7.petriNet.edit/META-INF/MANIFEST.MF | 16 + fr.n7.petriNet.edit/build.properties | 10 + .../ctool16/CreateReseau_noeuds_Place.gif | Bin 0 -> 223 bytes .../CreateReseau_noeuds_Transition.gif | Bin 0 -> 223 bytes .../ctool16/CreateTransition_arcs_Arc.gif | Bin 0 -> 223 bytes fr.n7.petriNet.edit/icons/full/obj16/Arc.gif | Bin 0 -> 129 bytes .../icons/full/obj16/Place.gif | Bin 0 -> 129 bytes .../icons/full/obj16/Reseau.gif | Bin 0 -> 129 bytes .../icons/full/obj16/Transition.gif | Bin 0 -> 129 bytes fr.n7.petriNet.edit/plugin.properties | 33 + fr.n7.petriNet.edit/plugin.xml | 22 + .../petrinet/provider/ArcItemProvider.java | 78 +- .../petrinet/provider/NoeudItemProvider.java | 72 +- .../petrinet/provider/PetriNetEditPlugin.java | 89 + .../PetrinetItemProviderAdapterFactory.java | 271 +++ .../petrinet/provider/PlaceItemProvider.java | 64 +- .../petrinet/provider/ReseauItemProvider.java | 204 ++ .../provider/TransitionItemProvider.java | 88 +- fr.n7.petriNet.editor/.classpath | 7 + fr.n7.petriNet.editor/.project | 28 + fr.n7.petriNet.editor/META-INF/MANIFEST.MF | 19 + fr.n7.petriNet.editor/build.properties | 10 + .../icons/full/obj16/PetrinetModelFile.gif | Bin 0 -> 346 bytes .../icons/full/wizban/NewPetrinet.gif | Bin 0 -> 2462 bytes fr.n7.petriNet.editor/plugin.properties | 53 + fr.n7.petriNet.editor/plugin.xml | 37 + .../presentation/PetriNetEditorPlugin.java | 91 + .../PetrinetActionBarContributor.java | 424 ++++ .../petrinet/presentation/PetrinetEditor.java | 1823 +++++++++++++++++ .../presentation/PetrinetModelWizard.java | 74 +- fr.n7.petriNet.exemple/.project | 11 + fr.n7.petriNet.exemple/My.petrinet | 9 + fr.n7.petriNet.feature/.project | 17 + fr.n7.petriNet.feature/build.properties | 1 + .../feature.xml | 12 +- fr.n7.petriNet.tests/.classpath | 7 + fr.n7.petriNet.tests/.project | 28 + fr.n7.petriNet.tests/META-INF/MANIFEST.MF | 16 + fr.n7.petriNet.tests/build.properties | 8 + fr.n7.petriNet.tests/plugin.properties | 4 + .../src/petrinet/tests/ArcTest.java | 89 + .../src/petrinet/tests/NoeudTest.java | 55 + .../src/petrinet/tests/PetriNetAllTests.java | 46 + .../src/petrinet/tests/PetrinetExample.java | 121 ++ .../src/petrinet/tests/PetrinetTests.java | 46 + .../src/petrinet/tests/PlaceTest.java | 70 + .../src/petrinet/tests/ReseauTest.java | 89 + .../src/petrinet/tests/TransitionTest.java | 70 + .../.classpath | 0 .../.project | 2 +- .../META-INF/MANIFEST.MF | 8 +- .../build.properties | 0 .../src/fr/n7/petriNet/totina}/Activator.java | 4 +- .../fr/n7/petriNet/totina/main/ToTina.java | 18 +- .../src/fr/n7/petriNet/totina/main/toTina.mtl | 10 + .../tasks/toTina.xml | 26 +- .../tasks/toTinaTarget.xml | 8 +- fr.n7.petriNet/.classpath | 7 + fr.n7.petriNet/.project | 17 + .../META-INF/MANIFEST.MF | 10 +- fr.n7.petriNet/build.properties | 10 + fr.n7.petriNet/petriNet.ecore | 6 +- fr.n7.petriNet/petriNet.genmodel | 28 + fr.n7.petriNet/plugin.properties | 4 + fr.n7.petriNet/plugin.xml | 17 + fr.n7.petriNet/src/petrinet/Arc.java | 92 + fr.n7.petriNet/src/petrinet/Noeud.java | 46 + .../src/petrinet/PetrinetFactory.java | 69 + .../src/petrinet/PetrinetPackage.java | 567 +++++ fr.n7.petriNet/src/petrinet/Place.java | 45 + fr.n7.petriNet/src/petrinet/Reseau.java | 61 + fr.n7.petriNet/src/petrinet/Transition.java | 36 + fr.n7.petriNet/src/petrinet/impl/ArcImpl.java | 279 +++ .../src/petrinet/impl/NoeudImpl.java | 85 +- .../petrinet/impl/PetrinetFactoryImpl.java | 128 ++ .../petrinet/impl/PetrinetPackageImpl.java | 341 +++ .../src/petrinet/impl/PlaceImpl.java | 162 ++ .../src/petrinet/impl/ReseauImpl.java | 101 +- .../src/petrinet/impl/TransitionImpl.java | 150 ++ .../petrinet/util/PetrinetAdapterFactory.java | 74 +- .../src/petrinet/util/PetrinetSwitch.java | 85 +- fr.n7.simplePDL.samples/developpement.xmi | 49 + fr.n7.simplePDL.samples/representations.aird | 1 + .../{process1-ko.xmi => Process-ko.xmi} | 27 +- fr.n7.simplePDL/Process.xmi | 48 + fr.n7.simplePDL/SimplePDL.ocl | 5 +- .../SimplePDLCreator_Created_Process.xmi | 4 +- fr.n7.simplePDL/nouveau.ocl | 4 +- .../src/simplepdl/manip/SimplePDLCreator.java | 85 + .../simplepdl/manip/SimplePDLManipulator.java | 62 + 292 files changed, 8927 insertions(+), 19380 deletions(-) delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/0/808608179c22001c10c68e4a8bb21dd1 create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/11/e090c9073928001c1310d5f213a964e6 create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/14/50bca4f43428001c13dca9fa1eba29d5 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/19/f01f05339822001c17faa9b6b0561c0f delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/1a/303cfad39b22001c10fba84a9f2208e9 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/1e/90ca75d59922001c1dcfb9656cd69315 create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/21/40b998f53428001c13dca9fa1eba29d5 rename .metadata/.plugins/org.eclipse.core.resources/.history/{50/90b6d6ecdc25001c15a9d70b555b4809 => 24/702cabc93c28001c1451a142d5f09209} (64%) delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/24/f0b1f32a9822001c17faa9b6b0561c0f rename .metadata/.plugins/org.eclipse.core.resources/.history/{5f/508f2e94f425001c1bd4a5e084302d35 => 25/103a99093428001c13dca9fa1eba29d5} (97%) delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/29/00dae74f9c22001c10c68e4a8bb21dd1 create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/2a/601484d13328001c13dca9fa1eba29d5 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/2e/701a2c539a22001c12b4fa86d0abfe24 create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/2f/90ef1c183528001c13dca9fa1eba29d5 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/2f/f00d382b9822001c17faa9b6b0561c0f delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/34/502708779422001c17faa9b6b0561c0f delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/34/c0c8ff329822001c17faa9b6b0561c0f create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/35/90a8ff5c3128001c1e2bddb0f1b33239 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/36/100f13fd9c22001c118def180044d1da create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/4/00dda87c3228001c13dca9fa1eba29d5 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/44/509e66e8f425001c1bd4a5e084302d35 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/4c/10500a339822001c17faa9b6b0561c0f delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/50/60bc0a2b9822001c17faa9b6b0561c0f delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/53/e02745d49b22001c10fba84a9f2208e9 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/53/e04b0c339822001c17faa9b6b0561c0f delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/5f/f02b75389422001c17faa9b6b0561c0f create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/61/90736fb33b28001c1451a142d5f09209 create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/63/d05388e53428001c13dca9fa1eba29d5 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/64/108c00339822001c17faa9b6b0561c0f delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/66/c03902339822001c17faa9b6b0561c0f delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/69/50120ed49b22001c10fba84a9f2208e9 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/7/309232f79922001c1dcfb9656cd69315 create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/74/f0d15bee3728001c1310d5f213a964e6 rename .metadata/.plugins/org.eclipse.core.resources/.history/{a5/b02913339822001c17faa9b6b0561c0f => 7a/a07a42813828001c1310d5f213a964e6} (100%) create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/7c/e039bf7e3228001c13dca9fa1eba29d5 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/7f/b069ee4f9c22001c10c68e4a8bb21dd1 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/8/005f34d49b22001c10fba84a9f2208e9 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/8/607ceef19622001c17faa9b6b0561c0f rename .metadata/.plugins/org.eclipse.core.resources/.history/{90/e0e3bbbd9d22001c118def180044d1da => 84/d03cfc073d28001c1804aa3181391e8a} (65%) delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/86/f0ae02339822001c17faa9b6b0561c0f delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/89/a09faa009b22001c10fba84a9f2208e9 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/8d/30cf1d2b9822001c17faa9b6b0561c0f create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/8f/70acb8283228001c1e2bddb0f1b33239 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/9/60b6a45c9622001c17faa9b6b0561c0f delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/91/505cf8ce9422001c17faa9b6b0561c0f delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/98/400101339822001c17faa9b6b0561c0f delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/98/a0eb01339822001c17faa9b6b0561c0f create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/a/200ed0a53b28001c1451a142d5f09209 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/a/60defe329822001c17faa9b6b0561c0f rename .metadata/.plugins/org.eclipse.core.resources/.history/{1b/305fe03c9d22001c118def180044d1da => a0/60f1c9fb3b28001c1451a142d5f09209} (61%) create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/a2/50843b023728001c1310d5f213a964e6 create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/a5/f09b510c3728001c1310d5f213a964e6 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/a8/80fedb419922001c1dcfb9656cd69315 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/a8/b01bd2b89d22001c118def180044d1da create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/a8/b0238a5e3228001c13dca9fa1eba29d5 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/a8/e05dd4a39822001c17faa9b6b0561c0f delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/ae/b05252879a22001c12b4fa86d0abfe24 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/ae/e0c2e2bf9a22001c12b4fa86d0abfe24 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/b3/e01600339822001c17faa9b6b0561c0f create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/b4/00f79b203628001c188ba284775c11f7 rename .metadata/.plugins/org.eclipse.core.resources/.history/{28/401812339822001c17faa9b6b0561c0f => b5/e02c41e13728001c1310d5f213a964e6} (100%) delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/b6/001492399c22001c10c68e4a8bb21dd1 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/bc/0025112b9822001c17faa9b6b0561c0f delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/bc/50da3d2b9822001c17faa9b6b0561c0f delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/bc/a0af0b339822001c17faa9b6b0561c0f delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/bc/c034b7df9522001c17faa9b6b0561c0f create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/be/80a709773228001c13dca9fa1eba29d5 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/bf/10df07339822001c17faa9b6b0561c0f delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/bf/40ef332b9822001c17faa9b6b0561c0f rename .metadata/.plugins/org.eclipse.core.resources/.history/{83/50c14eb59d22001c118def180044d1da => bf/8037cebd3c28001c1451a142d5f09209} (66%) create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/c1/10affb743228001c13dca9fa1eba29d5 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/c6/a0e45af59c22001c118def180044d1da delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/ca/604f01339822001c17faa9b6b0561c0f delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/cb/30bc05339822001c17faa9b6b0561c0f delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/cb/e062c6ecdc25001c15a9d70b555b4809 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/cc/60cec0039d22001c118def180044d1da delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/cf/80cbebc49d22001c118def180044d1da create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/d4/80b20bdc3328001c13dca9fa1eba29d5 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/e/809ce3739922001c1dcfb9656cd69315 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/e0/8013482b9822001c17faa9b6b0561c0f delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/e7/50976e439722001c17faa9b6b0561c0f delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/e7/e0d777a59c22001c118def180044d1da create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/e9/809f10413c28001c1451a142d5f09209 create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/ea/d0252a7e3228001c13dca9fa1eba29d5 create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/eb/006a29c43c28001c1451a142d5f09209 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/eb/c0f4bfde9b22001c10fba84a9f2208e9 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/ec/001e55be9a22001c12b4fa86d0abfe24 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/ef/10fe90039822001c17faa9b6b0561c0f delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/f0/701c10339822001c17faa9b6b0561c0f delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/f0/a02b8fdf9b22001c10fba84a9f2208e9 delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/f4/70fe14339822001c17faa9b6b0561c0f delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/f7/f05411339822001c17faa9b6b0561c0f delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.history/f9/00ed13339822001c17faa9b6b0561c0f delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNET.toTINA/.indexes/e4/cc/89/27/1d/b9/history.index delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNET.toTINA/.markers delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNET.toTINA/org.eclipse.acceleo.common/acceleo.state.dat delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNET.toTINA/org.eclipse.jdt.core/state.dat create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNet.edit/.indexes/e4/47/f/history.index create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNet.edit/.markers create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNet.edit/org.eclipse.jdt.core/state.dat create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNet.editor/.markers create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNet.editor/org.eclipse.jdt.core/state.dat create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNet.exemple/.indexes/history.index create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNet.feature/.indexes/properties.index create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNet.tests/.markers create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNet.tests/org.eclipse.jdt.core/state.dat create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNet/.markers create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNet/org.eclipse.jdt.core/state.dat delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDL.editor/.indexes/e4/fa/1a/history.index delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDL.exemple/.indexes/history.index delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDL/.indexes/e4/fa/2/history.index delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDL/.indexes/e4/fa/20/history.index delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDL/.indexes/e4/fa/history.index delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDL/.indexes/f9/history.index delete mode 100644 .metadata/.plugins/org.eclipse.core.resources/.root/41.tree create mode 100644 .metadata/.plugins/org.eclipse.core.resources/.root/48.tree create mode 100644 .metadata/.plugins/org.eclipse.jdt.core/144863826.index create mode 100644 .metadata/.plugins/org.eclipse.jdt.core/2199960114.index create mode 100644 .metadata/.plugins/org.eclipse.jdt.core/2574233358.index create mode 100644 .metadata/.plugins/org.eclipse.jdt.core/3311238943.index delete mode 100644 .metadata/.plugins/org.eclipse.jdt.core/473783695.index create mode 100644 .metadata/.plugins/org.eclipse.ocl.xtext.essentialocl.ui/dialog_settings.xml create mode 100644 .metadata/.plugins/org.eclipse.pde.core/tempp2metadata/features/fr.n7.petriNet.feature_1.0.0.202110081538.jar delete mode 100644 .metadata/.plugins/org.eclipse.pde.core/tempp2metadata/features/fr.n7.simplePDL.feature_1.0.0.202110051703.jar create mode 100644 .metadata/.plugins/org.eclipse.pde.core/tempp2metadata/plugins/fr.n7.petriNet.edit_1.0.0.202110081538.jar create mode 100644 .metadata/.plugins/org.eclipse.pde.core/tempp2metadata/plugins/fr.n7.petriNet.editor_1.0.0.202110081538.jar create mode 100644 .metadata/.plugins/org.eclipse.pde.core/tempp2metadata/plugins/fr.n7.petriNet.tests_1.0.0.202110081538.jar create mode 100644 .metadata/.plugins/org.eclipse.pde.core/tempp2metadata/plugins/fr.n7.petriNet_1.0.0.202110081538.jar delete mode 100644 .metadata/.plugins/org.eclipse.pde.core/tempp2metadata/plugins/fr.n7.simplePDL.edit_1.0.0.202110051703.jar delete mode 100644 .metadata/.plugins/org.eclipse.pde.core/tempp2metadata/plugins/fr.n7.simplePDL.editor_1.0.0.202110051703.jar delete mode 100644 .metadata/.plugins/org.eclipse.pde.core/tempp2metadata/plugins/fr.n7.simplePDL.tests_1.0.0.202110051703.jar delete mode 100644 .metadata/.plugins/org.eclipse.pde.core/tempp2metadata/plugins/fr.n7.simplePDL.toHTML.ui_1.0.0.202110051703.jar delete mode 100644 .metadata/.plugins/org.eclipse.pde.core/tempp2metadata/plugins/fr.n7.simplePDL.toHTML_1.0.0.202110051703.jar delete mode 100644 .metadata/.plugins/org.eclipse.pde.core/tempp2metadata/plugins/fr.n7.simplePDL_1.0.0.202110051703.jar delete mode 100644 fr.n7.petriNET.toTINA/src/fr/n7/petriNET/toTINA/main/ToTINA.java delete mode 100644 fr.n7.petriNET.toTINA/src/fr/n7/petriNET/toTINA/main/toTINA.mtl create mode 100644 fr.n7.petriNet.edit/.classpath create mode 100644 fr.n7.petriNet.edit/.project create mode 100644 fr.n7.petriNet.edit/META-INF/MANIFEST.MF create mode 100644 fr.n7.petriNet.edit/build.properties create mode 100644 fr.n7.petriNet.edit/icons/full/ctool16/CreateReseau_noeuds_Place.gif create mode 100644 fr.n7.petriNet.edit/icons/full/ctool16/CreateReseau_noeuds_Transition.gif create mode 100644 fr.n7.petriNet.edit/icons/full/ctool16/CreateTransition_arcs_Arc.gif create mode 100644 fr.n7.petriNet.edit/icons/full/obj16/Arc.gif create mode 100644 fr.n7.petriNet.edit/icons/full/obj16/Place.gif create mode 100644 fr.n7.petriNet.edit/icons/full/obj16/Reseau.gif create mode 100644 fr.n7.petriNet.edit/icons/full/obj16/Transition.gif create mode 100644 fr.n7.petriNet.edit/plugin.properties create mode 100644 fr.n7.petriNet.edit/plugin.xml rename .metadata/.plugins/org.eclipse.core.resources/.history/a/d0be6a029e22001c1223fc7c4469a572 => fr.n7.petriNet.edit/src/petrinet/provider/ArcItemProvider.java (65%) rename .metadata/.plugins/org.eclipse.core.resources/.history/f6/a096fc6e9d22001c118def180044d1da => fr.n7.petriNet.edit/src/petrinet/provider/NoeudItemProvider.java (63%) create mode 100644 fr.n7.petriNet.edit/src/petrinet/provider/PetriNetEditPlugin.java create mode 100644 fr.n7.petriNet.edit/src/petrinet/provider/PetrinetItemProviderAdapterFactory.java rename .metadata/.plugins/org.eclipse.core.resources/.history/ec/8071dbecdc25001c15a9d70b555b4809 => fr.n7.petriNet.edit/src/petrinet/provider/PlaceItemProvider.java (60%) create mode 100644 fr.n7.petriNet.edit/src/petrinet/provider/ReseauItemProvider.java rename .metadata/.plugins/org.eclipse.core.resources/.history/b9/b08276449d22001c118def180044d1da => fr.n7.petriNet.edit/src/petrinet/provider/TransitionItemProvider.java (52%) create mode 100644 fr.n7.petriNet.editor/.classpath create mode 100644 fr.n7.petriNet.editor/.project create mode 100644 fr.n7.petriNet.editor/META-INF/MANIFEST.MF create mode 100644 fr.n7.petriNet.editor/build.properties create mode 100644 fr.n7.petriNet.editor/icons/full/obj16/PetrinetModelFile.gif create mode 100644 fr.n7.petriNet.editor/icons/full/wizban/NewPetrinet.gif create mode 100644 fr.n7.petriNet.editor/plugin.properties create mode 100644 fr.n7.petriNet.editor/plugin.xml create mode 100644 fr.n7.petriNet.editor/src/petrinet/presentation/PetriNetEditorPlugin.java create mode 100644 fr.n7.petriNet.editor/src/petrinet/presentation/PetrinetActionBarContributor.java create mode 100644 fr.n7.petriNet.editor/src/petrinet/presentation/PetrinetEditor.java rename .metadata/.plugins/org.eclipse.core.resources/.history/34/4093f2509c22001c10c68e4a8bb21dd1 => fr.n7.petriNet.editor/src/petrinet/presentation/PetrinetModelWizard.java (81%) create mode 100644 fr.n7.petriNet.exemple/.project create mode 100644 fr.n7.petriNet.exemple/My.petrinet create mode 100644 fr.n7.petriNet.feature/.project create mode 100644 fr.n7.petriNet.feature/build.properties rename .metadata/.plugins/org.eclipse.core.resources/.history/36/804ec1bbe125001c17c8b331516ef2b0 => fr.n7.petriNet.feature/feature.xml (81%) create mode 100644 fr.n7.petriNet.tests/.classpath create mode 100644 fr.n7.petriNet.tests/.project create mode 100644 fr.n7.petriNet.tests/META-INF/MANIFEST.MF create mode 100644 fr.n7.petriNet.tests/build.properties create mode 100644 fr.n7.petriNet.tests/plugin.properties create mode 100644 fr.n7.petriNet.tests/src/petrinet/tests/ArcTest.java create mode 100644 fr.n7.petriNet.tests/src/petrinet/tests/NoeudTest.java create mode 100644 fr.n7.petriNet.tests/src/petrinet/tests/PetriNetAllTests.java create mode 100644 fr.n7.petriNet.tests/src/petrinet/tests/PetrinetExample.java create mode 100644 fr.n7.petriNet.tests/src/petrinet/tests/PetrinetTests.java create mode 100644 fr.n7.petriNet.tests/src/petrinet/tests/PlaceTest.java create mode 100644 fr.n7.petriNet.tests/src/petrinet/tests/ReseauTest.java create mode 100644 fr.n7.petriNet.tests/src/petrinet/tests/TransitionTest.java rename {fr.n7.petriNET.toTINA => fr.n7.petriNet.totina}/.classpath (100%) rename {fr.n7.petriNET.toTINA => fr.n7.petriNet.totina}/.project (97%) rename {fr.n7.petriNET.toTINA => fr.n7.petriNet.totina}/META-INF/MANIFEST.MF (76%) rename {fr.n7.petriNET.toTINA => fr.n7.petriNet.totina}/build.properties (100%) rename {fr.n7.petriNET.toTINA/src/fr/n7/petriNET/toTINA => fr.n7.petriNet.totina/src/fr/n7/petriNet/totina}/Activator.java (94%) rename .metadata/.plugins/org.eclipse.core.resources/.history/6f/505d4c3ef525001c1bd4a5e084302d35 => fr.n7.petriNet.totina/src/fr/n7/petriNet/totina/main/ToTina.java (97%) create mode 100644 fr.n7.petriNet.totina/src/fr/n7/petriNet/totina/main/toTina.mtl rename fr.n7.petriNET.toTINA/tasks/toTINA.xml => fr.n7.petriNet.totina/tasks/toTina.xml (82%) rename fr.n7.petriNET.toTINA/tasks/toTINATarget.xml => fr.n7.petriNet.totina/tasks/toTinaTarget.xml (69%) create mode 100644 fr.n7.petriNet/.classpath rename .metadata/.plugins/org.eclipse.core.resources/.history/93/405bf25ac121001c139dafbb58acffc5 => fr.n7.petriNet/META-INF/MANIFEST.MF (69%) create mode 100644 fr.n7.petriNet/build.properties create mode 100644 fr.n7.petriNet/petriNet.genmodel create mode 100644 fr.n7.petriNet/plugin.properties create mode 100644 fr.n7.petriNet/plugin.xml create mode 100644 fr.n7.petriNet/src/petrinet/Arc.java create mode 100644 fr.n7.petriNet/src/petrinet/Noeud.java create mode 100644 fr.n7.petriNet/src/petrinet/PetrinetFactory.java create mode 100644 fr.n7.petriNet/src/petrinet/PetrinetPackage.java create mode 100644 fr.n7.petriNet/src/petrinet/Place.java create mode 100644 fr.n7.petriNet/src/petrinet/Reseau.java create mode 100644 fr.n7.petriNet/src/petrinet/Transition.java create mode 100644 fr.n7.petriNet/src/petrinet/impl/ArcImpl.java rename .metadata/.plugins/org.eclipse.core.resources/.history/3d/60130b339822001c17faa9b6b0561c0f => fr.n7.petriNet/src/petrinet/impl/NoeudImpl.java (55%) create mode 100644 fr.n7.petriNet/src/petrinet/impl/PetrinetFactoryImpl.java create mode 100644 fr.n7.petriNet/src/petrinet/impl/PetrinetPackageImpl.java create mode 100644 fr.n7.petriNet/src/petrinet/impl/PlaceImpl.java rename .metadata/.plugins/org.eclipse.core.resources/.history/6b/405408339822001c17faa9b6b0561c0f => fr.n7.petriNet/src/petrinet/impl/ReseauImpl.java (66%) create mode 100644 fr.n7.petriNet/src/petrinet/impl/TransitionImpl.java rename .metadata/.plugins/org.eclipse.core.resources/.history/ee/30e62e2b9822001c17faa9b6b0561c0f => fr.n7.petriNet/src/petrinet/util/PetrinetAdapterFactory.java (65%) rename .metadata/.plugins/org.eclipse.core.resources/.history/9e/5070252b9822001c17faa9b6b0561c0f => fr.n7.petriNet/src/petrinet/util/PetrinetSwitch.java (71%) create mode 100644 fr.n7.simplePDL.samples/developpement.xmi rename fr.n7.simplePDL/{process1-ko.xmi => Process-ko.xmi} (81%) create mode 100644 fr.n7.simplePDL/Process.xmi create mode 100644 fr.n7.simplePDL/src/simplepdl/manip/SimplePDLCreator.java create mode 100644 fr.n7.simplePDL/src/simplepdl/manip/SimplePDLManipulator.java diff --git a/.metadata/.log b/.metadata/.log index c22b8a3..8d78f21 100644 --- a/.metadata/.log +++ b/.metadata/.log @@ -1577,3 +1577,686 @@ java.lang.InterruptedException 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) +!SESSION 2021-10-08 13:57:43.131 ----------------------------------------------- +eclipse.buildId=4.17.0.I20200902-1800 +java.version=11.0.11 +java.vendor=Ubuntu +BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=fr_FR +Framework arguments: -product org.eclipse.epp.package.modeling.product +Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.modeling.product + +!ENTRY org.eclipse.core.jobs 4 2 2021-10-08 14:17:45.320 +!MESSAGE An internal error occurred during: "Deferred Load OCL Document". +!STACK 0 +java.lang.IllegalStateException + at org.eclipse.ocl.pivot.utilities.ClassUtil.nonNullState(ClassUtil.java:282) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceDescriptor.getPlatformPluginURI(StandaloneProjectMap.java:1629) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceDescriptor.configureResourceSetURIResourceMap(StandaloneProjectMap.java:1597) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceLoadStatus.configureResourceSetURIResourceMap(StandaloneProjectMap.java:845) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$LoadFirstStrategy.useGeneratedResource(StandaloneProjectMap.java:734) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap.useGeneratedResource(StandaloneProjectMap.java:3128) + at org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory.addExternal2AS(AbstractEnvironmentFactory.java:202) + at org.eclipse.ocl.pivot.internal.ecore.es2as.Ecore2AS.(Ecore2AS.java:243) + at org.eclipse.ocl.pivot.internal.ecore.es2as.Ecore2AS.getAdapter(Ecore2AS.java:90) + at org.eclipse.ocl.pivot.internal.ecore.EcoreASResourceFactory.importFromResource(EcoreASResourceFactory.java:90) + at org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory.loadResource(AbstractEnvironmentFactory.java:831) + at org.eclipse.ocl.xtext.completeocl.utilities.CompleteOCLLoader.loadMetamodels(CompleteOCLLoader.java:100) + at org.eclipse.ocl.xtext.completeocl.ui.commands.LoadCompleteOCLResourceHandler$ResourceDialog$DeferredLoadDocumentJob.processResources(LoadCompleteOCLResourceHandler.java:178) + at org.eclipse.ocl.xtext.completeocl.ui.commands.LoadCompleteOCLResourceHandler$ResourceDialog$DeferredLoadDocumentJob.run(LoadCompleteOCLResourceHandler.java:151) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) + +!ENTRY org.eclipse.core.jobs 4 2 2021-10-08 14:18:25.525 +!MESSAGE An internal error occurred during: "Deferred Load OCL Document". +!STACK 0 +java.lang.IllegalStateException + at org.eclipse.ocl.pivot.utilities.ClassUtil.nonNullState(ClassUtil.java:282) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceDescriptor.getPlatformPluginURI(StandaloneProjectMap.java:1629) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceDescriptor.configureResourceSetURIResourceMap(StandaloneProjectMap.java:1597) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceLoadStatus.configureResourceSetURIResourceMap(StandaloneProjectMap.java:845) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$LoadFirstStrategy.useGeneratedResource(StandaloneProjectMap.java:734) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap.useGeneratedResource(StandaloneProjectMap.java:3128) + at org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory.addExternal2AS(AbstractEnvironmentFactory.java:202) + at org.eclipse.ocl.pivot.internal.ecore.es2as.Ecore2AS.(Ecore2AS.java:243) + at org.eclipse.ocl.pivot.internal.ecore.es2as.Ecore2AS.getAdapter(Ecore2AS.java:90) + at org.eclipse.ocl.pivot.internal.ecore.EcoreASResourceFactory.importFromResource(EcoreASResourceFactory.java:90) + at org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory.loadResource(AbstractEnvironmentFactory.java:831) + at org.eclipse.ocl.xtext.completeocl.utilities.CompleteOCLLoader.loadMetamodels(CompleteOCLLoader.java:100) + at org.eclipse.ocl.xtext.completeocl.ui.commands.LoadCompleteOCLResourceHandler$ResourceDialog$DeferredLoadDocumentJob.processResources(LoadCompleteOCLResourceHandler.java:178) + at org.eclipse.ocl.xtext.completeocl.ui.commands.LoadCompleteOCLResourceHandler$ResourceDialog$DeferredLoadDocumentJob.run(LoadCompleteOCLResourceHandler.java:151) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) + +!ENTRY org.eclipse.core.jobs 4 2 2021-10-08 14:18:59.947 +!MESSAGE An internal error occurred during: "Deferred Load OCL Document". +!STACK 0 +java.lang.IllegalStateException + at org.eclipse.ocl.pivot.utilities.ClassUtil.nonNullState(ClassUtil.java:282) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceDescriptor.getPlatformPluginURI(StandaloneProjectMap.java:1629) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceDescriptor.configureResourceSetURIResourceMap(StandaloneProjectMap.java:1597) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceLoadStatus.configureResourceSetURIResourceMap(StandaloneProjectMap.java:845) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$LoadFirstStrategy.useGeneratedResource(StandaloneProjectMap.java:734) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap.useGeneratedResource(StandaloneProjectMap.java:3128) + at org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory.addExternal2AS(AbstractEnvironmentFactory.java:202) + at org.eclipse.ocl.pivot.internal.ecore.es2as.Ecore2AS.(Ecore2AS.java:243) + at org.eclipse.ocl.pivot.internal.ecore.es2as.Ecore2AS.getAdapter(Ecore2AS.java:90) + at org.eclipse.ocl.pivot.internal.ecore.EcoreASResourceFactory.importFromResource(EcoreASResourceFactory.java:90) + at org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory.loadResource(AbstractEnvironmentFactory.java:831) + at org.eclipse.ocl.xtext.completeocl.utilities.CompleteOCLLoader.loadMetamodels(CompleteOCLLoader.java:100) + at org.eclipse.ocl.xtext.completeocl.ui.commands.LoadCompleteOCLResourceHandler$ResourceDialog$DeferredLoadDocumentJob.processResources(LoadCompleteOCLResourceHandler.java:178) + at org.eclipse.ocl.xtext.completeocl.ui.commands.LoadCompleteOCLResourceHandler$ResourceDialog$DeferredLoadDocumentJob.run(LoadCompleteOCLResourceHandler.java:151) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) + +!ENTRY org.eclipse.core.jobs 4 2 2021-10-08 14:21:02.450 +!MESSAGE An internal error occurred during: "Deferred Load OCL Document". +!STACK 0 +java.lang.IllegalStateException + at org.eclipse.ocl.pivot.utilities.ClassUtil.nonNullState(ClassUtil.java:282) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceDescriptor.getPlatformPluginURI(StandaloneProjectMap.java:1629) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceDescriptor.configureResourceSetURIResourceMap(StandaloneProjectMap.java:1597) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceLoadStatus.configureResourceSetURIResourceMap(StandaloneProjectMap.java:845) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$LoadFirstStrategy.useGeneratedResource(StandaloneProjectMap.java:734) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap.useGeneratedResource(StandaloneProjectMap.java:3128) + at org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory.addExternal2AS(AbstractEnvironmentFactory.java:202) + at org.eclipse.ocl.pivot.internal.ecore.es2as.Ecore2AS.(Ecore2AS.java:243) + at org.eclipse.ocl.pivot.internal.ecore.es2as.Ecore2AS.getAdapter(Ecore2AS.java:90) + at org.eclipse.ocl.pivot.internal.ecore.EcoreASResourceFactory.importFromResource(EcoreASResourceFactory.java:90) + at org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory.loadResource(AbstractEnvironmentFactory.java:831) + at org.eclipse.ocl.xtext.completeocl.utilities.CompleteOCLLoader.loadMetamodels(CompleteOCLLoader.java:100) + at org.eclipse.ocl.xtext.completeocl.ui.commands.LoadCompleteOCLResourceHandler$ResourceDialog$DeferredLoadDocumentJob.processResources(LoadCompleteOCLResourceHandler.java:178) + at org.eclipse.ocl.xtext.completeocl.ui.commands.LoadCompleteOCLResourceHandler$ResourceDialog$DeferredLoadDocumentJob.run(LoadCompleteOCLResourceHandler.java:151) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) + +!ENTRY org.eclipse.emf.cdo.explorer 4 0 2021-10-08 14:21:06.114 +!MESSAGE InterruptedException +!STACK 0 +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) +!SESSION 2021-10-08 14:21:08.637 ----------------------------------------------- +eclipse.buildId=4.17.0.I20200902-1800 +java.version=11.0.11 +java.vendor=Ubuntu +BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=fr_FR +Framework arguments: -product org.eclipse.epp.package.modeling.product +Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.modeling.product + +!ENTRY org.eclipse.core.jobs 4 2 2021-10-08 14:21:43.972 +!MESSAGE An internal error occurred during: "Deferred Load OCL Document". +!STACK 0 +java.lang.IllegalStateException + at org.eclipse.ocl.pivot.utilities.ClassUtil.nonNullState(ClassUtil.java:282) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceDescriptor.getPlatformPluginURI(StandaloneProjectMap.java:1629) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceDescriptor.configureResourceSetURIResourceMap(StandaloneProjectMap.java:1597) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceLoadStatus.configureResourceSetURIResourceMap(StandaloneProjectMap.java:845) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$LoadFirstStrategy.useGeneratedResource(StandaloneProjectMap.java:734) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap.useGeneratedResource(StandaloneProjectMap.java:3128) + at org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory.addExternal2AS(AbstractEnvironmentFactory.java:202) + at org.eclipse.ocl.pivot.internal.ecore.es2as.Ecore2AS.(Ecore2AS.java:243) + at org.eclipse.ocl.pivot.internal.ecore.es2as.Ecore2AS.getAdapter(Ecore2AS.java:90) + at org.eclipse.ocl.pivot.internal.ecore.EcoreASResourceFactory.importFromResource(EcoreASResourceFactory.java:90) + at org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory.loadResource(AbstractEnvironmentFactory.java:831) + at org.eclipse.ocl.xtext.completeocl.utilities.CompleteOCLLoader.loadMetamodels(CompleteOCLLoader.java:100) + at org.eclipse.ocl.xtext.completeocl.ui.commands.LoadCompleteOCLResourceHandler$ResourceDialog$DeferredLoadDocumentJob.processResources(LoadCompleteOCLResourceHandler.java:178) + at org.eclipse.ocl.xtext.completeocl.ui.commands.LoadCompleteOCLResourceHandler$ResourceDialog$DeferredLoadDocumentJob.run(LoadCompleteOCLResourceHandler.java:151) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) + +!ENTRY org.eclipse.core.jobs 4 2 2021-10-08 14:36:10.058 +!MESSAGE An internal error occurred during: "Deferred Load OCL Document". +!STACK 0 +java.lang.IllegalStateException + at org.eclipse.ocl.pivot.utilities.ClassUtil.nonNullState(ClassUtil.java:282) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceDescriptor.getPlatformPluginURI(StandaloneProjectMap.java:1629) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceDescriptor.configureResourceSetURIResourceMap(StandaloneProjectMap.java:1597) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceLoadStatus.configureResourceSetURIResourceMap(StandaloneProjectMap.java:845) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$LoadFirstStrategy.useGeneratedResource(StandaloneProjectMap.java:734) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap.useGeneratedResource(StandaloneProjectMap.java:3128) + at org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory.addExternal2AS(AbstractEnvironmentFactory.java:202) + at org.eclipse.ocl.pivot.internal.ecore.es2as.Ecore2AS.(Ecore2AS.java:243) + at org.eclipse.ocl.pivot.internal.ecore.es2as.Ecore2AS.getAdapter(Ecore2AS.java:90) + at org.eclipse.ocl.pivot.internal.ecore.EcoreASResourceFactory.importFromResource(EcoreASResourceFactory.java:90) + at org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory.loadResource(AbstractEnvironmentFactory.java:831) + at org.eclipse.ocl.xtext.completeocl.utilities.CompleteOCLLoader.loadMetamodels(CompleteOCLLoader.java:100) + at org.eclipse.ocl.xtext.completeocl.ui.commands.LoadCompleteOCLResourceHandler$ResourceDialog$DeferredLoadDocumentJob.processResources(LoadCompleteOCLResourceHandler.java:178) + at org.eclipse.ocl.xtext.completeocl.ui.commands.LoadCompleteOCLResourceHandler$ResourceDialog$DeferredLoadDocumentJob.run(LoadCompleteOCLResourceHandler.java:151) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) + +!ENTRY org.eclipse.core.jobs 4 2 2021-10-08 14:37:09.208 +!MESSAGE An internal error occurred during: "Deferred Load OCL Document". +!STACK 0 +java.lang.IllegalStateException + at org.eclipse.ocl.pivot.utilities.ClassUtil.nonNullState(ClassUtil.java:282) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceDescriptor.getPlatformPluginURI(StandaloneProjectMap.java:1629) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceDescriptor.configureResourceSetURIResourceMap(StandaloneProjectMap.java:1597) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceLoadStatus.configureResourceSetURIResourceMap(StandaloneProjectMap.java:845) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$LoadFirstStrategy.useGeneratedResource(StandaloneProjectMap.java:734) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap.useGeneratedResource(StandaloneProjectMap.java:3128) + at org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory.addExternal2AS(AbstractEnvironmentFactory.java:202) + at org.eclipse.ocl.pivot.internal.ecore.es2as.Ecore2AS.(Ecore2AS.java:243) + at org.eclipse.ocl.pivot.internal.ecore.es2as.Ecore2AS.getAdapter(Ecore2AS.java:90) + at org.eclipse.ocl.pivot.internal.ecore.EcoreASResourceFactory.importFromResource(EcoreASResourceFactory.java:90) + at org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory.loadResource(AbstractEnvironmentFactory.java:831) + at org.eclipse.ocl.xtext.completeocl.utilities.CompleteOCLLoader.loadMetamodels(CompleteOCLLoader.java:100) + at org.eclipse.ocl.xtext.completeocl.ui.commands.LoadCompleteOCLResourceHandler$ResourceDialog$DeferredLoadDocumentJob.processResources(LoadCompleteOCLResourceHandler.java:178) + at org.eclipse.ocl.xtext.completeocl.ui.commands.LoadCompleteOCLResourceHandler$ResourceDialog$DeferredLoadDocumentJob.run(LoadCompleteOCLResourceHandler.java:151) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) + +!ENTRY org.eclipse.core.jobs 4 2 2021-10-08 14:39:50.649 +!MESSAGE An internal error occurred during: "Deferred Load OCL Document". +!STACK 0 +java.lang.IllegalStateException + at org.eclipse.ocl.pivot.utilities.ClassUtil.nonNullState(ClassUtil.java:282) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceDescriptor.getPlatformPluginURI(StandaloneProjectMap.java:1629) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceDescriptor.configureResourceSetURIResourceMap(StandaloneProjectMap.java:1597) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceLoadStatus.configureResourceSetURIResourceMap(StandaloneProjectMap.java:845) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$LoadFirstStrategy.useGeneratedResource(StandaloneProjectMap.java:734) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap.useGeneratedResource(StandaloneProjectMap.java:3128) + at org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory.addExternal2AS(AbstractEnvironmentFactory.java:202) + at org.eclipse.ocl.pivot.internal.ecore.es2as.Ecore2AS.(Ecore2AS.java:243) + at org.eclipse.ocl.pivot.internal.ecore.es2as.Ecore2AS.getAdapter(Ecore2AS.java:90) + at org.eclipse.ocl.pivot.internal.ecore.EcoreASResourceFactory.importFromResource(EcoreASResourceFactory.java:90) + at org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory.loadResource(AbstractEnvironmentFactory.java:831) + at org.eclipse.ocl.xtext.completeocl.utilities.CompleteOCLLoader.loadMetamodels(CompleteOCLLoader.java:100) + at org.eclipse.ocl.xtext.completeocl.ui.commands.LoadCompleteOCLResourceHandler$ResourceDialog$DeferredLoadDocumentJob.processResources(LoadCompleteOCLResourceHandler.java:178) + at org.eclipse.ocl.xtext.completeocl.ui.commands.LoadCompleteOCLResourceHandler$ResourceDialog$DeferredLoadDocumentJob.run(LoadCompleteOCLResourceHandler.java:151) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) + +!ENTRY org.eclipse.core.jobs 4 2 2021-10-08 14:41:04.669 +!MESSAGE An internal error occurred during: "Deferred Load OCL Document". +!STACK 0 +java.lang.IllegalStateException + at org.eclipse.ocl.pivot.utilities.ClassUtil.nonNullState(ClassUtil.java:282) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceDescriptor.getPlatformPluginURI(StandaloneProjectMap.java:1629) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceDescriptor.configureResourceSetURIResourceMap(StandaloneProjectMap.java:1597) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceLoadStatus.configureResourceSetURIResourceMap(StandaloneProjectMap.java:845) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$LoadFirstStrategy.useGeneratedResource(StandaloneProjectMap.java:734) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap.useGeneratedResource(StandaloneProjectMap.java:3128) + at org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory.addExternal2AS(AbstractEnvironmentFactory.java:202) + at org.eclipse.ocl.pivot.internal.ecore.es2as.Ecore2AS.(Ecore2AS.java:243) + at org.eclipse.ocl.pivot.internal.ecore.es2as.Ecore2AS.getAdapter(Ecore2AS.java:90) + at org.eclipse.ocl.pivot.internal.ecore.EcoreASResourceFactory.importFromResource(EcoreASResourceFactory.java:90) + at org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory.loadResource(AbstractEnvironmentFactory.java:831) + at org.eclipse.ocl.xtext.completeocl.utilities.CompleteOCLLoader.loadMetamodels(CompleteOCLLoader.java:100) + at org.eclipse.ocl.xtext.completeocl.ui.commands.LoadCompleteOCLResourceHandler$ResourceDialog$DeferredLoadDocumentJob.processResources(LoadCompleteOCLResourceHandler.java:178) + at org.eclipse.ocl.xtext.completeocl.ui.commands.LoadCompleteOCLResourceHandler$ResourceDialog$DeferredLoadDocumentJob.run(LoadCompleteOCLResourceHandler.java:151) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) + +!ENTRY org.eclipse.core.jobs 4 2 2021-10-08 14:41:59.884 +!MESSAGE An internal error occurred during: "Deferred Load OCL Document". +!STACK 0 +java.lang.IllegalStateException + at org.eclipse.ocl.pivot.utilities.ClassUtil.nonNullState(ClassUtil.java:282) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceDescriptor.getPlatformPluginURI(StandaloneProjectMap.java:1629) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceDescriptor.configureResourceSetURIResourceMap(StandaloneProjectMap.java:1597) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceLoadStatus.configureResourceSetURIResourceMap(StandaloneProjectMap.java:845) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$LoadFirstStrategy.useGeneratedResource(StandaloneProjectMap.java:734) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap.useGeneratedResource(StandaloneProjectMap.java:3128) + at org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory.addExternal2AS(AbstractEnvironmentFactory.java:202) + at org.eclipse.ocl.pivot.internal.ecore.es2as.Ecore2AS.(Ecore2AS.java:243) + at org.eclipse.ocl.pivot.internal.ecore.es2as.Ecore2AS.getAdapter(Ecore2AS.java:90) + at org.eclipse.ocl.pivot.internal.ecore.EcoreASResourceFactory.importFromResource(EcoreASResourceFactory.java:90) + at org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory.loadResource(AbstractEnvironmentFactory.java:831) + at org.eclipse.ocl.xtext.completeocl.utilities.CompleteOCLLoader.loadMetamodels(CompleteOCLLoader.java:100) + at org.eclipse.ocl.xtext.completeocl.ui.commands.LoadCompleteOCLResourceHandler$ResourceDialog$DeferredLoadDocumentJob.processResources(LoadCompleteOCLResourceHandler.java:178) + at org.eclipse.ocl.xtext.completeocl.ui.commands.LoadCompleteOCLResourceHandler$ResourceDialog$DeferredLoadDocumentJob.run(LoadCompleteOCLResourceHandler.java:151) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) + +!ENTRY org.eclipse.core.jobs 4 2 2021-10-08 14:43:25.096 +!MESSAGE An internal error occurred during: "Deferred Load OCL Document". +!STACK 0 +java.lang.IllegalStateException + at org.eclipse.ocl.pivot.utilities.ClassUtil.nonNullState(ClassUtil.java:282) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceDescriptor.getPlatformPluginURI(StandaloneProjectMap.java:1629) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceDescriptor.configureResourceSetURIResourceMap(StandaloneProjectMap.java:1597) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceLoadStatus.configureResourceSetURIResourceMap(StandaloneProjectMap.java:845) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$LoadFirstStrategy.useGeneratedResource(StandaloneProjectMap.java:734) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap.useGeneratedResource(StandaloneProjectMap.java:3128) + at org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory.addExternal2AS(AbstractEnvironmentFactory.java:202) + at org.eclipse.ocl.pivot.internal.ecore.es2as.Ecore2AS.(Ecore2AS.java:243) + at org.eclipse.ocl.pivot.internal.ecore.es2as.Ecore2AS.getAdapter(Ecore2AS.java:90) + at org.eclipse.ocl.pivot.internal.ecore.EcoreASResourceFactory.importFromResource(EcoreASResourceFactory.java:90) + at org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory.loadResource(AbstractEnvironmentFactory.java:831) + at org.eclipse.ocl.xtext.completeocl.utilities.CompleteOCLLoader.loadMetamodels(CompleteOCLLoader.java:100) + at org.eclipse.ocl.xtext.completeocl.ui.commands.LoadCompleteOCLResourceHandler$ResourceDialog$DeferredLoadDocumentJob.processResources(LoadCompleteOCLResourceHandler.java:178) + at org.eclipse.ocl.xtext.completeocl.ui.commands.LoadCompleteOCLResourceHandler$ResourceDialog$DeferredLoadDocumentJob.run(LoadCompleteOCLResourceHandler.java:151) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) + +!ENTRY org.eclipse.core.jobs 4 2 2021-10-08 14:43:48.122 +!MESSAGE An internal error occurred during: "Deferred Load OCL Document". +!STACK 0 +java.lang.IllegalStateException + at org.eclipse.ocl.pivot.utilities.ClassUtil.nonNullState(ClassUtil.java:282) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceDescriptor.getPlatformPluginURI(StandaloneProjectMap.java:1629) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceDescriptor.configureResourceSetURIResourceMap(StandaloneProjectMap.java:1597) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceLoadStatus.configureResourceSetURIResourceMap(StandaloneProjectMap.java:845) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$LoadFirstStrategy.useGeneratedResource(StandaloneProjectMap.java:734) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap.useGeneratedResource(StandaloneProjectMap.java:3128) + at org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory.addExternal2AS(AbstractEnvironmentFactory.java:202) + at org.eclipse.ocl.pivot.internal.ecore.es2as.Ecore2AS.(Ecore2AS.java:243) + at org.eclipse.ocl.pivot.internal.ecore.es2as.Ecore2AS.getAdapter(Ecore2AS.java:90) + at org.eclipse.ocl.pivot.internal.ecore.EcoreASResourceFactory.importFromResource(EcoreASResourceFactory.java:90) + at org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory.loadResource(AbstractEnvironmentFactory.java:831) + at org.eclipse.ocl.xtext.completeocl.utilities.CompleteOCLLoader.loadMetamodels(CompleteOCLLoader.java:100) + at org.eclipse.ocl.xtext.completeocl.ui.commands.LoadCompleteOCLResourceHandler$ResourceDialog$DeferredLoadDocumentJob.processResources(LoadCompleteOCLResourceHandler.java:178) + at org.eclipse.ocl.xtext.completeocl.ui.commands.LoadCompleteOCLResourceHandler$ResourceDialog$DeferredLoadDocumentJob.run(LoadCompleteOCLResourceHandler.java:151) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) + +!ENTRY org.eclipse.core.jobs 4 2 2021-10-08 14:45:07.339 +!MESSAGE An internal error occurred during: "Deferred Load OCL Document". +!STACK 0 +java.lang.IllegalStateException + at org.eclipse.ocl.pivot.utilities.ClassUtil.nonNullState(ClassUtil.java:282) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceDescriptor.getPlatformPluginURI(StandaloneProjectMap.java:1629) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceDescriptor.configureResourceSetURIResourceMap(StandaloneProjectMap.java:1597) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceLoadStatus.configureResourceSetURIResourceMap(StandaloneProjectMap.java:845) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$LoadFirstStrategy.useGeneratedResource(StandaloneProjectMap.java:734) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap.useGeneratedResource(StandaloneProjectMap.java:3128) + at org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory.addExternal2AS(AbstractEnvironmentFactory.java:202) + at org.eclipse.ocl.pivot.internal.ecore.es2as.Ecore2AS.(Ecore2AS.java:243) + at org.eclipse.ocl.pivot.internal.ecore.es2as.Ecore2AS.getAdapter(Ecore2AS.java:90) + at org.eclipse.ocl.pivot.internal.ecore.EcoreASResourceFactory.importFromResource(EcoreASResourceFactory.java:90) + at org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory.loadResource(AbstractEnvironmentFactory.java:831) + at org.eclipse.ocl.xtext.completeocl.utilities.CompleteOCLLoader.loadMetamodels(CompleteOCLLoader.java:100) + at org.eclipse.ocl.xtext.completeocl.ui.commands.LoadCompleteOCLResourceHandler$ResourceDialog$DeferredLoadDocumentJob.processResources(LoadCompleteOCLResourceHandler.java:178) + at org.eclipse.ocl.xtext.completeocl.ui.commands.LoadCompleteOCLResourceHandler$ResourceDialog$DeferredLoadDocumentJob.run(LoadCompleteOCLResourceHandler.java:151) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) + +!ENTRY org.eclipse.core.jobs 4 2 2021-10-08 14:46:01.803 +!MESSAGE An internal error occurred during: "Deferred Load OCL Document". +!STACK 0 +java.lang.IllegalStateException + at org.eclipse.ocl.pivot.utilities.ClassUtil.nonNullState(ClassUtil.java:282) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceDescriptor.getPlatformPluginURI(StandaloneProjectMap.java:1629) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceDescriptor.configureResourceSetURIResourceMap(StandaloneProjectMap.java:1597) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceLoadStatus.configureResourceSetURIResourceMap(StandaloneProjectMap.java:845) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$LoadFirstStrategy.useGeneratedResource(StandaloneProjectMap.java:734) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap.useGeneratedResource(StandaloneProjectMap.java:3128) + at org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory.addExternal2AS(AbstractEnvironmentFactory.java:202) + at org.eclipse.ocl.pivot.internal.ecore.es2as.Ecore2AS.(Ecore2AS.java:243) + at org.eclipse.ocl.pivot.internal.ecore.es2as.Ecore2AS.getAdapter(Ecore2AS.java:90) + at org.eclipse.ocl.pivot.internal.ecore.EcoreASResourceFactory.importFromResource(EcoreASResourceFactory.java:90) + at org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory.loadResource(AbstractEnvironmentFactory.java:831) + at org.eclipse.ocl.xtext.completeocl.utilities.CompleteOCLLoader.loadMetamodels(CompleteOCLLoader.java:100) + at org.eclipse.ocl.xtext.completeocl.ui.commands.LoadCompleteOCLResourceHandler$ResourceDialog$DeferredLoadDocumentJob.processResources(LoadCompleteOCLResourceHandler.java:178) + at org.eclipse.ocl.xtext.completeocl.ui.commands.LoadCompleteOCLResourceHandler$ResourceDialog$DeferredLoadDocumentJob.run(LoadCompleteOCLResourceHandler.java:151) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) + +!ENTRY org.eclipse.emf.cdo.explorer 4 0 2021-10-08 14:46:19.808 +!MESSAGE InterruptedException +!STACK 0 +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) +!SESSION 2021-10-08 14:46:25.149 ----------------------------------------------- +eclipse.buildId=4.17.0.I20200902-1800 +java.version=11.0.11 +java.vendor=Ubuntu +BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=fr_FR +Framework arguments: -product org.eclipse.epp.package.modeling.product --clean +Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.modeling.product --clean + +!ENTRY org.eclipse.core.jobs 4 2 2021-10-08 14:46:52.625 +!MESSAGE An internal error occurred during: "Deferred Load OCL Document". +!STACK 0 +java.lang.IllegalStateException + at org.eclipse.ocl.pivot.utilities.ClassUtil.nonNullState(ClassUtil.java:282) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceDescriptor.getPlatformPluginURI(StandaloneProjectMap.java:1629) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceDescriptor.configureResourceSetURIResourceMap(StandaloneProjectMap.java:1597) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceLoadStatus.configureResourceSetURIResourceMap(StandaloneProjectMap.java:845) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$LoadFirstStrategy.useGeneratedResource(StandaloneProjectMap.java:734) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap.useGeneratedResource(StandaloneProjectMap.java:3128) + at org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory.addExternal2AS(AbstractEnvironmentFactory.java:202) + at org.eclipse.ocl.pivot.internal.ecore.es2as.Ecore2AS.(Ecore2AS.java:243) + at org.eclipse.ocl.pivot.internal.ecore.es2as.Ecore2AS.getAdapter(Ecore2AS.java:90) + at org.eclipse.ocl.pivot.internal.ecore.EcoreASResourceFactory.importFromResource(EcoreASResourceFactory.java:90) + at org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory.loadResource(AbstractEnvironmentFactory.java:831) + at org.eclipse.ocl.xtext.completeocl.utilities.CompleteOCLLoader.loadMetamodels(CompleteOCLLoader.java:100) + at org.eclipse.ocl.xtext.completeocl.ui.commands.LoadCompleteOCLResourceHandler$ResourceDialog$DeferredLoadDocumentJob.processResources(LoadCompleteOCLResourceHandler.java:178) + at org.eclipse.ocl.xtext.completeocl.ui.commands.LoadCompleteOCLResourceHandler$ResourceDialog$DeferredLoadDocumentJob.run(LoadCompleteOCLResourceHandler.java:151) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) + +!ENTRY org.eclipse.core.jobs 4 2 2021-10-08 14:50:09.004 +!MESSAGE An internal error occurred during: "Deferred Load OCL Document". +!STACK 0 +java.lang.IllegalStateException + at org.eclipse.ocl.pivot.utilities.ClassUtil.nonNullState(ClassUtil.java:282) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceDescriptor.getPlatformPluginURI(StandaloneProjectMap.java:1629) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceDescriptor.configureResourceSetURIResourceMap(StandaloneProjectMap.java:1597) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceLoadStatus.configureResourceSetURIResourceMap(StandaloneProjectMap.java:845) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$LoadFirstStrategy.useGeneratedResource(StandaloneProjectMap.java:734) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap.useGeneratedResource(StandaloneProjectMap.java:3128) + at org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory.addExternal2AS(AbstractEnvironmentFactory.java:202) + at org.eclipse.ocl.pivot.internal.ecore.es2as.Ecore2AS.(Ecore2AS.java:243) + at org.eclipse.ocl.pivot.internal.ecore.es2as.Ecore2AS.getAdapter(Ecore2AS.java:90) + at org.eclipse.ocl.pivot.internal.ecore.EcoreASResourceFactory.importFromResource(EcoreASResourceFactory.java:90) + at org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory.loadResource(AbstractEnvironmentFactory.java:831) + at org.eclipse.ocl.xtext.completeocl.utilities.CompleteOCLLoader.loadMetamodels(CompleteOCLLoader.java:100) + at org.eclipse.ocl.xtext.completeocl.ui.commands.LoadCompleteOCLResourceHandler$ResourceDialog$DeferredLoadDocumentJob.processResources(LoadCompleteOCLResourceHandler.java:178) + at org.eclipse.ocl.xtext.completeocl.ui.commands.LoadCompleteOCLResourceHandler$ResourceDialog$DeferredLoadDocumentJob.run(LoadCompleteOCLResourceHandler.java:151) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) + +!ENTRY org.eclipse.core.jobs 4 2 2021-10-08 14:52:56.839 +!MESSAGE An internal error occurred during: "Deferred Load OCL Document". +!STACK 0 +java.lang.IllegalStateException + at org.eclipse.ocl.pivot.utilities.ClassUtil.nonNullState(ClassUtil.java:282) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceDescriptor.getPlatformPluginURI(StandaloneProjectMap.java:1629) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceDescriptor.configureResourceSetURIResourceMap(StandaloneProjectMap.java:1597) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceLoadStatus.configureResourceSetURIResourceMap(StandaloneProjectMap.java:845) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$LoadFirstStrategy.useGeneratedResource(StandaloneProjectMap.java:734) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap.useGeneratedResource(StandaloneProjectMap.java:3128) + at org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory.addExternal2AS(AbstractEnvironmentFactory.java:202) + at org.eclipse.ocl.pivot.internal.ecore.es2as.Ecore2AS.(Ecore2AS.java:243) + at org.eclipse.ocl.pivot.internal.ecore.es2as.Ecore2AS.getAdapter(Ecore2AS.java:90) + at org.eclipse.ocl.pivot.internal.ecore.EcoreASResourceFactory.importFromResource(EcoreASResourceFactory.java:90) + at org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory.loadResource(AbstractEnvironmentFactory.java:831) + at org.eclipse.ocl.xtext.completeocl.utilities.CompleteOCLLoader.loadMetamodels(CompleteOCLLoader.java:100) + at org.eclipse.ocl.xtext.completeocl.ui.commands.LoadCompleteOCLResourceHandler$ResourceDialog$DeferredLoadDocumentJob.processResources(LoadCompleteOCLResourceHandler.java:178) + at org.eclipse.ocl.xtext.completeocl.ui.commands.LoadCompleteOCLResourceHandler$ResourceDialog$DeferredLoadDocumentJob.run(LoadCompleteOCLResourceHandler.java:151) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) + +!ENTRY org.eclipse.emf.cdo.explorer 4 0 2021-10-08 14:53:20.011 +!MESSAGE InterruptedException +!STACK 0 +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) +!SESSION 2021-10-08 14:53:30.253 ----------------------------------------------- +eclipse.buildId=4.17.0.I20200902-1800 +java.version=11.0.11 +java.vendor=Ubuntu +BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=fr_FR +Framework arguments: -product org.eclipse.epp.package.modeling.product +Command-line arguments: -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.modeling.product -clean + +!ENTRY org.eclipse.core.jobs 4 2 2021-10-08 14:54:16.388 +!MESSAGE An internal error occurred during: "Deferred Load OCL Document". +!STACK 0 +java.lang.IllegalStateException + at org.eclipse.ocl.pivot.utilities.ClassUtil.nonNullState(ClassUtil.java:282) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceDescriptor.getPlatformPluginURI(StandaloneProjectMap.java:1629) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceDescriptor.configureResourceSetURIResourceMap(StandaloneProjectMap.java:1597) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceLoadStatus.configureResourceSetURIResourceMap(StandaloneProjectMap.java:845) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$LoadFirstStrategy.useGeneratedResource(StandaloneProjectMap.java:734) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap.useGeneratedResource(StandaloneProjectMap.java:3128) + at org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory.addExternal2AS(AbstractEnvironmentFactory.java:202) + at org.eclipse.ocl.pivot.internal.ecore.es2as.Ecore2AS.(Ecore2AS.java:243) + at org.eclipse.ocl.pivot.internal.ecore.es2as.Ecore2AS.getAdapter(Ecore2AS.java:90) + at org.eclipse.ocl.pivot.internal.ecore.EcoreASResourceFactory.importFromResource(EcoreASResourceFactory.java:90) + at org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory.loadResource(AbstractEnvironmentFactory.java:831) + at org.eclipse.ocl.xtext.completeocl.utilities.CompleteOCLLoader.loadMetamodels(CompleteOCLLoader.java:100) + at org.eclipse.ocl.xtext.completeocl.ui.commands.LoadCompleteOCLResourceHandler$ResourceDialog$DeferredLoadDocumentJob.processResources(LoadCompleteOCLResourceHandler.java:178) + at org.eclipse.ocl.xtext.completeocl.ui.commands.LoadCompleteOCLResourceHandler$ResourceDialog$DeferredLoadDocumentJob.run(LoadCompleteOCLResourceHandler.java:151) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) + +!ENTRY org.eclipse.core.jobs 4 2 2021-10-08 14:56:03.107 +!MESSAGE An internal error occurred during: "Deferred Load OCL Document". +!STACK 0 +java.lang.IllegalStateException + at org.eclipse.ocl.pivot.utilities.ClassUtil.nonNullState(ClassUtil.java:282) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceDescriptor.getPlatformPluginURI(StandaloneProjectMap.java:1629) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceDescriptor.configureResourceSetURIResourceMap(StandaloneProjectMap.java:1597) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceLoadStatus.configureResourceSetURIResourceMap(StandaloneProjectMap.java:845) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$LoadFirstStrategy.useGeneratedResource(StandaloneProjectMap.java:734) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap.useGeneratedResource(StandaloneProjectMap.java:3128) + at org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory.addExternal2AS(AbstractEnvironmentFactory.java:202) + at org.eclipse.ocl.pivot.internal.ecore.es2as.Ecore2AS.(Ecore2AS.java:243) + at org.eclipse.ocl.pivot.internal.ecore.es2as.Ecore2AS.getAdapter(Ecore2AS.java:90) + at org.eclipse.ocl.pivot.internal.ecore.EcoreASResourceFactory.importFromResource(EcoreASResourceFactory.java:90) + at org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory.loadResource(AbstractEnvironmentFactory.java:831) + at org.eclipse.ocl.xtext.completeocl.utilities.CompleteOCLLoader.loadMetamodels(CompleteOCLLoader.java:100) + at org.eclipse.ocl.xtext.completeocl.ui.commands.LoadCompleteOCLResourceHandler$ResourceDialog$DeferredLoadDocumentJob.processResources(LoadCompleteOCLResourceHandler.java:178) + at org.eclipse.ocl.xtext.completeocl.ui.commands.LoadCompleteOCLResourceHandler$ResourceDialog$DeferredLoadDocumentJob.run(LoadCompleteOCLResourceHandler.java:151) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) + +!ENTRY org.eclipse.core.jobs 4 2 2021-10-08 15:03:25.408 +!MESSAGE An internal error occurred during: "Deferred Load OCL Document". +!STACK 0 +java.lang.IllegalStateException + at org.eclipse.ocl.pivot.utilities.ClassUtil.nonNullState(ClassUtil.java:282) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceDescriptor.getPlatformPluginURI(StandaloneProjectMap.java:1629) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceDescriptor.configureResourceSetURIResourceMap(StandaloneProjectMap.java:1597) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$AbstractResourceLoadStatus.configureResourceSetURIResourceMap(StandaloneProjectMap.java:845) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap$LoadFirstStrategy.useGeneratedResource(StandaloneProjectMap.java:734) + at org.eclipse.ocl.pivot.internal.resource.StandaloneProjectMap.useGeneratedResource(StandaloneProjectMap.java:3128) + at org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory.addExternal2AS(AbstractEnvironmentFactory.java:202) + at org.eclipse.ocl.pivot.internal.ecore.es2as.Ecore2AS.(Ecore2AS.java:243) + at org.eclipse.ocl.pivot.internal.ecore.es2as.Ecore2AS.getAdapter(Ecore2AS.java:90) + at org.eclipse.ocl.pivot.internal.ecore.EcoreASResourceFactory.importFromResource(EcoreASResourceFactory.java:90) + at org.eclipse.ocl.pivot.utilities.AbstractEnvironmentFactory.loadResource(AbstractEnvironmentFactory.java:831) + at org.eclipse.ocl.xtext.completeocl.utilities.CompleteOCLLoader.loadMetamodels(CompleteOCLLoader.java:100) + at org.eclipse.ocl.xtext.completeocl.ui.commands.LoadCompleteOCLResourceHandler$ResourceDialog$DeferredLoadDocumentJob.processResources(LoadCompleteOCLResourceHandler.java:178) + at org.eclipse.ocl.xtext.completeocl.ui.commands.LoadCompleteOCLResourceHandler$ResourceDialog$DeferredLoadDocumentJob.run(LoadCompleteOCLResourceHandler.java:151) + at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) + +!ENTRY org.eclipse.emf.cdo.explorer 4 0 2021-10-08 15:20:12.607 +!MESSAGE InterruptedException +!STACK 0 +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) +!SESSION 2021-10-08 15:20:14.552 ----------------------------------------------- +eclipse.buildId=4.17.0.I20200902-1800 +java.version=11.0.11 +java.vendor=Ubuntu +BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=fr_FR +Framework arguments: -product org.eclipse.epp.package.modeling.product +Command-line arguments: -data file:/home/lfainsin/miniproj_idm/ -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.modeling.product -clean + +!ENTRY org.eclipse.ui.navigator 4 0 2021-10-08 15:26:02.671 +!MESSAGE Cannot find navigator content extension (using triggerPoints) for object "" parent path: "P/fr.n7.petriNet.exemple". Check that you have an expression for this object in a navigatorContent triggerPoints or enablement. + +!ENTRY org.eclipse.emf.cdo.explorer 4 0 2021-10-08 15:37:39.853 +!MESSAGE InterruptedException +!STACK 0 +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) +!SESSION 2021-10-08 15:37:41.710 ----------------------------------------------- +eclipse.buildId=4.17.0.I20200902-1800 +java.version=11.0.11 +java.vendor=Ubuntu +BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=fr_FR +Framework arguments: -product org.eclipse.epp.package.modeling.product +Command-line arguments: -data file:/home/lfainsin/miniproj_idm/ -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.modeling.product -clean + +!ENTRY org.eclipse.emf.cdo.explorer 4 0 2021-10-08 15:39:37.481 +!MESSAGE InterruptedException +!STACK 0 +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) +!SESSION 2021-10-08 15:39:38.875 ----------------------------------------------- +eclipse.buildId=4.17.0.I20200902-1800 +java.version=11.0.11 +java.vendor=Ubuntu +BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=fr_FR +Framework arguments: -product org.eclipse.epp.package.modeling.product +Command-line arguments: -data file:/home/lfainsin/miniproj_idm/ -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.modeling.product -clean + +!ENTRY org.eclipse.emf.cdo.explorer 4 0 2021-10-08 15:46:29.199 +!MESSAGE InterruptedException +!STACK 0 +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/.metadata/.plugins/org.eclipse.core.resources/.history/0/808608179c22001c10c68e4a8bb21dd1 b/.metadata/.plugins/org.eclipse.core.resources/.history/0/808608179c22001c10c68e4a8bb21dd1 deleted file mode 100644 index 8586d94..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/0/808608179c22001c10c68e4a8bb21dd1 +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/11/e090c9073928001c1310d5f213a964e6 b/.metadata/.plugins/org.eclipse.core.resources/.history/11/e090c9073928001c1310d5f213a964e6 new file mode 100644 index 0000000..6b570f8 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/11/e090c9073928001c1310d5f213a964e6 @@ -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 SimplePDLCreator { + + 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/.metadata/.plugins/org.eclipse.core.resources/.history/14/50bca4f43428001c13dca9fa1eba29d5 b/.metadata/.plugins/org.eclipse.core.resources/.history/14/50bca4f43428001c13dca9fa1eba29d5 new file mode 100644 index 0000000..e69de29 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/19/f01f05339822001c17faa9b6b0561c0f b/.metadata/.plugins/org.eclipse.core.resources/.history/19/f01f05339822001c17faa9b6b0561c0f deleted file mode 100644 index a43c5a3..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/19/f01f05339822001c17faa9b6b0561c0f +++ /dev/null @@ -1,252 +0,0 @@ -/** - */ -package simplepdl; - -import java.util.Arrays; -import java.util.Collections; -import java.util.List; - -import org.eclipse.emf.common.util.Enumerator; - -/** - * - * A representation of the literals of the enumeration 'Work Sequence Type', - * and utility methods for working with them. - * - * @see simplepdl.SimplepdlPackage#getWorkSequenceType() - * @model - * @generated - */ -public enum WorkSequenceType implements Enumerator { - /** - * The 'Start To Start' literal object. - * - * - * @see #START_TO_START_VALUE - * @generated - * @ordered - */ - START_TO_START(0, "startToStart", "startToStart"), - - /** - * The 'Finish To Start' literal object. - * - * - * @see #FINISH_TO_START_VALUE - * @generated - * @ordered - */ - FINISH_TO_START(1, "finishToStart", "finishToStart"), - - /** - * The 'Start To Finish' literal object. - * - * - * @see #START_TO_FINISH_VALUE - * @generated - * @ordered - */ - START_TO_FINISH(2, "startToFinish", "startToFinish"), - - /** - * The 'Finish To Finish' literal object. - * - * - * @see #FINISH_TO_FINISH_VALUE - * @generated - * @ordered - */ - FINISH_TO_FINISH(3, "finishToFinish", "finishToFinish"); - - /** - * The 'Start To Start' literal value. - * - * - * @see #START_TO_START - * @model name="startToStart" - * @generated - * @ordered - */ - public static final int START_TO_START_VALUE = 0; - - /** - * The 'Finish To Start' literal value. - * - * - * @see #FINISH_TO_START - * @model name="finishToStart" - * @generated - * @ordered - */ - public static final int FINISH_TO_START_VALUE = 1; - - /** - * The 'Start To Finish' literal value. - * - * - * @see #START_TO_FINISH - * @model name="startToFinish" - * @generated - * @ordered - */ - public static final int START_TO_FINISH_VALUE = 2; - - /** - * The 'Finish To Finish' literal value. - * - * - * @see #FINISH_TO_FINISH - * @model name="finishToFinish" - * @generated - * @ordered - */ - public static final int FINISH_TO_FINISH_VALUE = 3; - - /** - * An array of all the 'Work Sequence Type' enumerators. - * - * - * @generated - */ - private static final WorkSequenceType[] VALUES_ARRAY = - new WorkSequenceType[] { - START_TO_START, - FINISH_TO_START, - START_TO_FINISH, - FINISH_TO_FINISH, - }; - - /** - * A public read-only list of all the 'Work Sequence Type' enumerators. - * - * - * @generated - */ - public static final List VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY)); - - /** - * Returns the 'Work Sequence Type' literal with the specified literal value. - * - * - * @param literal the literal. - * @return the matching enumerator or null. - * @generated - */ - public static WorkSequenceType get(String literal) { - for (int i = 0; i < VALUES_ARRAY.length; ++i) { - WorkSequenceType result = VALUES_ARRAY[i]; - if (result.toString().equals(literal)) { - return result; - } - } - return null; - } - - /** - * Returns the 'Work Sequence Type' literal with the specified name. - * - * - * @param name the name. - * @return the matching enumerator or null. - * @generated - */ - public static WorkSequenceType getByName(String name) { - for (int i = 0; i < VALUES_ARRAY.length; ++i) { - WorkSequenceType result = VALUES_ARRAY[i]; - if (result.getName().equals(name)) { - return result; - } - } - return null; - } - - /** - * Returns the 'Work Sequence Type' literal with the specified integer value. - * - * - * @param value the integer value. - * @return the matching enumerator or null. - * @generated - */ - public static WorkSequenceType get(int value) { - switch (value) { - case START_TO_START_VALUE: return START_TO_START; - case FINISH_TO_START_VALUE: return FINISH_TO_START; - case START_TO_FINISH_VALUE: return START_TO_FINISH; - case FINISH_TO_FINISH_VALUE: return FINISH_TO_FINISH; - } - return null; - } - - /** - * - * - * @generated - */ - private final int value; - - /** - * - * - * @generated - */ - private final String name; - - /** - * - * - * @generated - */ - private final String literal; - - /** - * Only this class can construct instances. - * - * - * @generated - */ - private WorkSequenceType(int value, String name, String literal) { - this.value = value; - this.name = name; - this.literal = literal; - } - - /** - * - * - * @generated - */ - public int getValue() { - return value; - } - - /** - * - * - * @generated - */ - public String getName() { - return name; - } - - /** - * - * - * @generated - */ - public String getLiteral() { - return literal; - } - - /** - * Returns the literal value of the enumerator, which is its string representation. - * - * - * @generated - */ - @Override - public String toString() { - return literal; - } - -} //WorkSequenceType diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/1a/303cfad39b22001c10fba84a9f2208e9 b/.metadata/.plugins/org.eclipse.core.resources/.history/1a/303cfad39b22001c10fba84a9f2208e9 deleted file mode 100644 index 3ad0196..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/1a/303cfad39b22001c10fba84a9f2208e9 +++ /dev/null @@ -1,872 +0,0 @@ -/** - */ -package simplepdl; - -import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EEnum; -import org.eclipse.emf.ecore.EPackage; -import org.eclipse.emf.ecore.EReference; - -/** - * - * The Package for the model. - * It contains accessors for the meta objects to represent - *
    - *
  • each class,
  • - *
  • each feature of each class,
  • - *
  • each operation of each class,
  • - *
  • each enum,
  • - *
  • and each data type
  • - *
- * - * @see simplepdl.SimplepdlFactory - * @model kind="package" - * @generated - */ -public interface SimplepdlPackage extends EPackage { - /** - * The package name. - * - * - * @generated - */ - String eNAME = "simplepdl"; - - /** - * The package namespace URI. - * - * - * @generated - */ - String eNS_URI = "http://simplepdl"; - - /** - * The package namespace name. - * - * - * @generated - */ - String eNS_PREFIX = "simplepdl"; - - /** - * The singleton instance of the package. - * - * - * @generated - */ - SimplepdlPackage eINSTANCE = simplepdl.impl.SimplepdlPackageImpl.init(); - - /** - * The meta object id for the '{@link simplepdl.impl.ProcessElementImpl Process Element}' class. - * - * - * @see simplepdl.impl.ProcessElementImpl - * @see simplepdl.impl.SimplepdlPackageImpl#getProcessElement() - * @generated - */ - int PROCESS_ELEMENT = 0; - - /** - * The number of structural features of the 'Process Element' class. - * - * - * @generated - * @ordered - */ - int PROCESS_ELEMENT_FEATURE_COUNT = 0; - - /** - * The number of operations of the 'Process Element' class. - * - * - * @generated - * @ordered - */ - int PROCESS_ELEMENT_OPERATION_COUNT = 0; - - /** - * The meta object id for the '{@link simplepdl.impl.WorkDefinitionImpl Work Definition}' class. - * - * - * @see simplepdl.impl.WorkDefinitionImpl - * @see simplepdl.impl.SimplepdlPackageImpl#getWorkDefinition() - * @generated - */ - int WORK_DEFINITION = 1; - - /** - * The feature id for the 'Links To Predecessors' reference list. - * - * - * @generated - * @ordered - */ - int WORK_DEFINITION__LINKS_TO_PREDECESSORS = PROCESS_ELEMENT_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Links To Successors' reference list. - * - * - * @generated - * @ordered - */ - int WORK_DEFINITION__LINKS_TO_SUCCESSORS = PROCESS_ELEMENT_FEATURE_COUNT + 1; - - /** - * The feature id for the 'Name' attribute. - * - * - * @generated - * @ordered - */ - int WORK_DEFINITION__NAME = PROCESS_ELEMENT_FEATURE_COUNT + 2; - - /** - * The feature id for the 'Requests' reference list. - * - * - * @generated - * @ordered - */ - int WORK_DEFINITION__REQUESTS = PROCESS_ELEMENT_FEATURE_COUNT + 3; - - /** - * The number of structural features of the 'Work Definition' class. - * - * - * @generated - * @ordered - */ - int WORK_DEFINITION_FEATURE_COUNT = PROCESS_ELEMENT_FEATURE_COUNT + 4; - - /** - * The number of operations of the 'Work Definition' class. - * - * - * @generated - * @ordered - */ - int WORK_DEFINITION_OPERATION_COUNT = PROCESS_ELEMENT_OPERATION_COUNT + 0; - - /** - * The meta object id for the '{@link simplepdl.impl.WorkSequenceImpl Work Sequence}' class. - * - * - * @see simplepdl.impl.WorkSequenceImpl - * @see simplepdl.impl.SimplepdlPackageImpl#getWorkSequence() - * @generated - */ - int WORK_SEQUENCE = 2; - - /** - * The feature id for the 'Link Type' attribute. - * - * - * @generated - * @ordered - */ - int WORK_SEQUENCE__LINK_TYPE = PROCESS_ELEMENT_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Predecessor' reference. - * - * - * @generated - * @ordered - */ - int WORK_SEQUENCE__PREDECESSOR = PROCESS_ELEMENT_FEATURE_COUNT + 1; - - /** - * The feature id for the 'Successor' reference. - * - * - * @generated - * @ordered - */ - int WORK_SEQUENCE__SUCCESSOR = PROCESS_ELEMENT_FEATURE_COUNT + 2; - - /** - * The number of structural features of the 'Work Sequence' class. - * - * - * @generated - * @ordered - */ - int WORK_SEQUENCE_FEATURE_COUNT = PROCESS_ELEMENT_FEATURE_COUNT + 3; - - /** - * The number of operations of the 'Work Sequence' class. - * - * - * @generated - * @ordered - */ - int WORK_SEQUENCE_OPERATION_COUNT = PROCESS_ELEMENT_OPERATION_COUNT + 0; - - /** - * The meta object id for the '{@link simplepdl.impl.GuidanceImpl Guidance}' class. - * - * - * @see simplepdl.impl.GuidanceImpl - * @see simplepdl.impl.SimplepdlPackageImpl#getGuidance() - * @generated - */ - int GUIDANCE = 3; - - /** - * The feature id for the 'Text' attribute. - * - * - * @generated - * @ordered - */ - int GUIDANCE__TEXT = PROCESS_ELEMENT_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Elements' reference list. - * - * - * @generated - * @ordered - */ - int GUIDANCE__ELEMENTS = PROCESS_ELEMENT_FEATURE_COUNT + 1; - - /** - * The number of structural features of the 'Guidance' class. - * - * - * @generated - * @ordered - */ - int GUIDANCE_FEATURE_COUNT = PROCESS_ELEMENT_FEATURE_COUNT + 2; - - /** - * The number of operations of the 'Guidance' class. - * - * - * @generated - * @ordered - */ - int GUIDANCE_OPERATION_COUNT = PROCESS_ELEMENT_OPERATION_COUNT + 0; - - /** - * The meta object id for the '{@link simplepdl.impl.ProcessImpl Process}' class. - * - * - * @see simplepdl.impl.ProcessImpl - * @see simplepdl.impl.SimplepdlPackageImpl#getProcess() - * @generated - */ - int PROCESS = 4; - - /** - * The feature id for the 'Name' attribute. - * - * - * @generated - * @ordered - */ - int PROCESS__NAME = 0; - - /** - * The feature id for the 'Process Elements' containment reference list. - * - * - * @generated - * @ordered - */ - int PROCESS__PROCESS_ELEMENTS = 1; - - /** - * The number of structural features of the 'Process' class. - * - * - * @generated - * @ordered - */ - int PROCESS_FEATURE_COUNT = 2; - - /** - * The number of operations of the 'Process' class. - * - * - * @generated - * @ordered - */ - int PROCESS_OPERATION_COUNT = 0; - - /** - * The meta object id for the '{@link simplepdl.impl.RequestImpl Request}' class. - * - * - * @see simplepdl.impl.RequestImpl - * @see simplepdl.impl.SimplepdlPackageImpl#getRequest() - * @generated - */ - int REQUEST = 5; - - /** - * The feature id for the 'Quantity' attribute. - * - * - * @generated - * @ordered - */ - int REQUEST__QUANTITY = 0; - - /** - * The feature id for the 'Target' reference. - * - * - * @generated - * @ordered - */ - int REQUEST__TARGET = 1; - - /** - * The number of structural features of the 'Request' class. - * - * - * @generated - * @ordered - */ - int REQUEST_FEATURE_COUNT = 2; - - /** - * The number of operations of the 'Request' class. - * - * - * @generated - * @ordered - */ - int REQUEST_OPERATION_COUNT = 0; - - /** - * The meta object id for the '{@link simplepdl.impl.ResourceImpl Resource}' class. - * - * - * @see simplepdl.impl.ResourceImpl - * @see simplepdl.impl.SimplepdlPackageImpl#getResource() - * @generated - */ - int RESOURCE = 6; - - /** - * The feature id for the 'Quantity' attribute. - * - * - * @generated - * @ordered - */ - int RESOURCE__QUANTITY = PROCESS_ELEMENT_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Name' attribute. - * - * - * @generated - * @ordered - */ - int RESOURCE__NAME = PROCESS_ELEMENT_FEATURE_COUNT + 1; - - /** - * The number of structural features of the 'Resource' class. - * - * - * @generated - * @ordered - */ - int RESOURCE_FEATURE_COUNT = PROCESS_ELEMENT_FEATURE_COUNT + 2; - - /** - * The number of operations of the 'Resource' class. - * - * - * @generated - * @ordered - */ - int RESOURCE_OPERATION_COUNT = PROCESS_ELEMENT_OPERATION_COUNT + 0; - - /** - * The meta object id for the '{@link simplepdl.WorkSequenceType Work Sequence Type}' enum. - * - * - * @see simplepdl.WorkSequenceType - * @see simplepdl.impl.SimplepdlPackageImpl#getWorkSequenceType() - * @generated - */ - int WORK_SEQUENCE_TYPE = 7; - - - /** - * Returns the meta object for class '{@link simplepdl.ProcessElement Process Element}'. - * - * - * @return the meta object for class 'Process Element'. - * @see simplepdl.ProcessElement - * @generated - */ - EClass getProcessElement(); - - /** - * Returns the meta object for class '{@link simplepdl.WorkDefinition Work Definition}'. - * - * - * @return the meta object for class 'Work Definition'. - * @see simplepdl.WorkDefinition - * @generated - */ - EClass getWorkDefinition(); - - /** - * Returns the meta object for the reference list '{@link simplepdl.WorkDefinition#getLinksToPredecessors Links To Predecessors}'. - * - * - * @return the meta object for the reference list 'Links To Predecessors'. - * @see simplepdl.WorkDefinition#getLinksToPredecessors() - * @see #getWorkDefinition() - * @generated - */ - EReference getWorkDefinition_LinksToPredecessors(); - - /** - * Returns the meta object for the reference list '{@link simplepdl.WorkDefinition#getLinksToSuccessors Links To Successors}'. - * - * - * @return the meta object for the reference list 'Links To Successors'. - * @see simplepdl.WorkDefinition#getLinksToSuccessors() - * @see #getWorkDefinition() - * @generated - */ - EReference getWorkDefinition_LinksToSuccessors(); - - /** - * Returns the meta object for the attribute '{@link simplepdl.WorkDefinition#getName Name}'. - * - * - * @return the meta object for the attribute 'Name'. - * @see simplepdl.WorkDefinition#getName() - * @see #getWorkDefinition() - * @generated - */ - EAttribute getWorkDefinition_Name(); - - /** - * Returns the meta object for the reference list '{@link simplepdl.WorkDefinition#getRequests Requests}'. - * - * - * @return the meta object for the reference list 'Requests'. - * @see simplepdl.WorkDefinition#getRequests() - * @see #getWorkDefinition() - * @generated - */ - EReference getWorkDefinition_Requests(); - - /** - * Returns the meta object for class '{@link simplepdl.WorkSequence Work Sequence}'. - * - * - * @return the meta object for class 'Work Sequence'. - * @see simplepdl.WorkSequence - * @generated - */ - EClass getWorkSequence(); - - /** - * Returns the meta object for the attribute '{@link simplepdl.WorkSequence#getLinkType Link Type}'. - * - * - * @return the meta object for the attribute 'Link Type'. - * @see simplepdl.WorkSequence#getLinkType() - * @see #getWorkSequence() - * @generated - */ - EAttribute getWorkSequence_LinkType(); - - /** - * Returns the meta object for the reference '{@link simplepdl.WorkSequence#getPredecessor Predecessor}'. - * - * - * @return the meta object for the reference 'Predecessor'. - * @see simplepdl.WorkSequence#getPredecessor() - * @see #getWorkSequence() - * @generated - */ - EReference getWorkSequence_Predecessor(); - - /** - * Returns the meta object for the reference '{@link simplepdl.WorkSequence#getSuccessor Successor}'. - * - * - * @return the meta object for the reference 'Successor'. - * @see simplepdl.WorkSequence#getSuccessor() - * @see #getWorkSequence() - * @generated - */ - EReference getWorkSequence_Successor(); - - /** - * Returns the meta object for class '{@link simplepdl.Guidance Guidance}'. - * - * - * @return the meta object for class 'Guidance'. - * @see simplepdl.Guidance - * @generated - */ - EClass getGuidance(); - - /** - * Returns the meta object for the attribute '{@link simplepdl.Guidance#getText Text}'. - * - * - * @return the meta object for the attribute 'Text'. - * @see simplepdl.Guidance#getText() - * @see #getGuidance() - * @generated - */ - EAttribute getGuidance_Text(); - - /** - * Returns the meta object for the reference list '{@link simplepdl.Guidance#getElements Elements}'. - * - * - * @return the meta object for the reference list 'Elements'. - * @see simplepdl.Guidance#getElements() - * @see #getGuidance() - * @generated - */ - EReference getGuidance_Elements(); - - /** - * Returns the meta object for class '{@link simplepdl.Process Process}'. - * - * - * @return the meta object for class 'Process'. - * @see simplepdl.Process - * @generated - */ - EClass getProcess(); - - /** - * Returns the meta object for the attribute '{@link simplepdl.Process#getName Name}'. - * - * - * @return the meta object for the attribute 'Name'. - * @see simplepdl.Process#getName() - * @see #getProcess() - * @generated - */ - EAttribute getProcess_Name(); - - /** - * Returns the meta object for the containment reference list '{@link simplepdl.Process#getProcessElements Process Elements}'. - * - * - * @return the meta object for the containment reference list 'Process Elements'. - * @see simplepdl.Process#getProcessElements() - * @see #getProcess() - * @generated - */ - EReference getProcess_ProcessElements(); - - /** - * Returns the meta object for class '{@link simplepdl.Request Request}'. - * - * - * @return the meta object for class 'Request'. - * @see simplepdl.Request - * @generated - */ - EClass getRequest(); - - /** - * Returns the meta object for the attribute '{@link simplepdl.Request#getQuantity Quantity}'. - * - * - * @return the meta object for the attribute 'Quantity'. - * @see simplepdl.Request#getQuantity() - * @see #getRequest() - * @generated - */ - EAttribute getRequest_Quantity(); - - /** - * Returns the meta object for the reference '{@link simplepdl.Request#getTarget Target}'. - * - * - * @return the meta object for the reference 'Target'. - * @see simplepdl.Request#getTarget() - * @see #getRequest() - * @generated - */ - EReference getRequest_Target(); - - /** - * Returns the meta object for class '{@link simplepdl.Resource Resource}'. - * - * - * @return the meta object for class 'Resource'. - * @see simplepdl.Resource - * @generated - */ - EClass getResource(); - - /** - * Returns the meta object for the attribute '{@link simplepdl.Resource#getQuantity Quantity}'. - * - * - * @return the meta object for the attribute 'Quantity'. - * @see simplepdl.Resource#getQuantity() - * @see #getResource() - * @generated - */ - EAttribute getResource_Quantity(); - - /** - * Returns the meta object for the attribute '{@link simplepdl.Resource#getName Name}'. - * - * - * @return the meta object for the attribute 'Name'. - * @see simplepdl.Resource#getName() - * @see #getResource() - * @generated - */ - EAttribute getResource_Name(); - - /** - * Returns the meta object for enum '{@link simplepdl.WorkSequenceType Work Sequence Type}'. - * - * - * @return the meta object for enum 'Work Sequence Type'. - * @see simplepdl.WorkSequenceType - * @generated - */ - EEnum getWorkSequenceType(); - - /** - * Returns the factory that creates the instances of the model. - * - * - * @return the factory that creates the instances of the model. - * @generated - */ - SimplepdlFactory getSimplepdlFactory(); - - /** - * - * Defines literals for the meta objects that represent - *
    - *
  • each class,
  • - *
  • each feature of each class,
  • - *
  • each operation of each class,
  • - *
  • each enum,
  • - *
  • and each data type
  • - *
- * - * @generated - */ - interface Literals { - /** - * The meta object literal for the '{@link simplepdl.impl.ProcessElementImpl Process Element}' class. - * - * - * @see simplepdl.impl.ProcessElementImpl - * @see simplepdl.impl.SimplepdlPackageImpl#getProcessElement() - * @generated - */ - EClass PROCESS_ELEMENT = eINSTANCE.getProcessElement(); - - /** - * The meta object literal for the '{@link simplepdl.impl.WorkDefinitionImpl Work Definition}' class. - * - * - * @see simplepdl.impl.WorkDefinitionImpl - * @see simplepdl.impl.SimplepdlPackageImpl#getWorkDefinition() - * @generated - */ - EClass WORK_DEFINITION = eINSTANCE.getWorkDefinition(); - - /** - * The meta object literal for the 'Links To Predecessors' reference list feature. - * - * - * @generated - */ - EReference WORK_DEFINITION__LINKS_TO_PREDECESSORS = eINSTANCE.getWorkDefinition_LinksToPredecessors(); - - /** - * The meta object literal for the 'Links To Successors' reference list feature. - * - * - * @generated - */ - EReference WORK_DEFINITION__LINKS_TO_SUCCESSORS = eINSTANCE.getWorkDefinition_LinksToSuccessors(); - - /** - * The meta object literal for the 'Name' attribute feature. - * - * - * @generated - */ - EAttribute WORK_DEFINITION__NAME = eINSTANCE.getWorkDefinition_Name(); - - /** - * The meta object literal for the 'Requests' reference list feature. - * - * - * @generated - */ - EReference WORK_DEFINITION__REQUESTS = eINSTANCE.getWorkDefinition_Requests(); - - /** - * The meta object literal for the '{@link simplepdl.impl.WorkSequenceImpl Work Sequence}' class. - * - * - * @see simplepdl.impl.WorkSequenceImpl - * @see simplepdl.impl.SimplepdlPackageImpl#getWorkSequence() - * @generated - */ - EClass WORK_SEQUENCE = eINSTANCE.getWorkSequence(); - - /** - * The meta object literal for the 'Link Type' attribute feature. - * - * - * @generated - */ - EAttribute WORK_SEQUENCE__LINK_TYPE = eINSTANCE.getWorkSequence_LinkType(); - - /** - * The meta object literal for the 'Predecessor' reference feature. - * - * - * @generated - */ - EReference WORK_SEQUENCE__PREDECESSOR = eINSTANCE.getWorkSequence_Predecessor(); - - /** - * The meta object literal for the 'Successor' reference feature. - * - * - * @generated - */ - EReference WORK_SEQUENCE__SUCCESSOR = eINSTANCE.getWorkSequence_Successor(); - - /** - * The meta object literal for the '{@link simplepdl.impl.GuidanceImpl Guidance}' class. - * - * - * @see simplepdl.impl.GuidanceImpl - * @see simplepdl.impl.SimplepdlPackageImpl#getGuidance() - * @generated - */ - EClass GUIDANCE = eINSTANCE.getGuidance(); - - /** - * The meta object literal for the 'Text' attribute feature. - * - * - * @generated - */ - EAttribute GUIDANCE__TEXT = eINSTANCE.getGuidance_Text(); - - /** - * The meta object literal for the 'Elements' reference list feature. - * - * - * @generated - */ - EReference GUIDANCE__ELEMENTS = eINSTANCE.getGuidance_Elements(); - - /** - * The meta object literal for the '{@link simplepdl.impl.ProcessImpl Process}' class. - * - * - * @see simplepdl.impl.ProcessImpl - * @see simplepdl.impl.SimplepdlPackageImpl#getProcess() - * @generated - */ - EClass PROCESS = eINSTANCE.getProcess(); - - /** - * The meta object literal for the 'Name' attribute feature. - * - * - * @generated - */ - EAttribute PROCESS__NAME = eINSTANCE.getProcess_Name(); - - /** - * The meta object literal for the 'Process Elements' containment reference list feature. - * - * - * @generated - */ - EReference PROCESS__PROCESS_ELEMENTS = eINSTANCE.getProcess_ProcessElements(); - - /** - * The meta object literal for the '{@link simplepdl.impl.RequestImpl Request}' class. - * - * - * @see simplepdl.impl.RequestImpl - * @see simplepdl.impl.SimplepdlPackageImpl#getRequest() - * @generated - */ - EClass REQUEST = eINSTANCE.getRequest(); - - /** - * The meta object literal for the 'Quantity' attribute feature. - * - * - * @generated - */ - EAttribute REQUEST__QUANTITY = eINSTANCE.getRequest_Quantity(); - - /** - * The meta object literal for the 'Target' reference feature. - * - * - * @generated - */ - EReference REQUEST__TARGET = eINSTANCE.getRequest_Target(); - - /** - * The meta object literal for the '{@link simplepdl.impl.ResourceImpl Resource}' class. - * - * - * @see simplepdl.impl.ResourceImpl - * @see simplepdl.impl.SimplepdlPackageImpl#getResource() - * @generated - */ - EClass RESOURCE = eINSTANCE.getResource(); - - /** - * The meta object literal for the 'Quantity' attribute feature. - * - * - * @generated - */ - EAttribute RESOURCE__QUANTITY = eINSTANCE.getResource_Quantity(); - - /** - * The meta object literal for the 'Name' attribute feature. - * - * - * @generated - */ - EAttribute RESOURCE__NAME = eINSTANCE.getResource_Name(); - - /** - * The meta object literal for the '{@link simplepdl.WorkSequenceType Work Sequence Type}' enum. - * - * - * @see simplepdl.WorkSequenceType - * @see simplepdl.impl.SimplepdlPackageImpl#getWorkSequenceType() - * @generated - */ - EEnum WORK_SEQUENCE_TYPE = eINSTANCE.getWorkSequenceType(); - - } - -} //SimplepdlPackage diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/1e/90ca75d59922001c1dcfb9656cd69315 b/.metadata/.plugins/org.eclipse.core.resources/.history/1e/90ca75d59922001c1dcfb9656cd69315 deleted file mode 100644 index 234554c..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/1e/90ca75d59922001c1dcfb9656cd69315 +++ /dev/null @@ -1,185 +0,0 @@ -/** - */ -package simplepdl.provider; - - -import java.util.Collection; -import java.util.List; - -import org.eclipse.emf.common.notify.AdapterFactory; -import org.eclipse.emf.common.notify.Notification; - -import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; -import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; -import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; -import org.eclipse.emf.edit.provider.ViewerNotification; - -import simplepdl.SimplepdlPackage; -import simplepdl.WorkSequence; -import simplepdl.WorkSequenceType; - -/** - * This is the item provider adapter for a {@link simplepdl.WorkSequence} object. - * - * - * @generated - */ -public class WorkSequenceItemProvider extends ProcessElementItemProvider { - /** - * This constructs an instance from a factory and a notifier. - * - * - * @generated - */ - public WorkSequenceItemProvider(AdapterFactory adapterFactory) { - super(adapterFactory); - } - - /** - * This returns the property descriptors for the adapted class. - * - * - * @generated - */ - @Override - public List getPropertyDescriptors(Object object) { - if (itemPropertyDescriptors == null) { - super.getPropertyDescriptors(object); - - addLinkTypePropertyDescriptor(object); - addPredecessorPropertyDescriptor(object); - addSuccessorPropertyDescriptor(object); - } - return itemPropertyDescriptors; - } - - /** - * This adds a property descriptor for the Link Type feature. - * - * - * @generated - */ - protected void addLinkTypePropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_WorkSequence_linkType_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_WorkSequence_linkType_feature", "_UI_WorkSequence_type"), - SimplepdlPackage.Literals.WORK_SEQUENCE__LINK_TYPE, - true, - false, - false, - ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, - null, - null)); - } - - /** - * This adds a property descriptor for the Predecessor feature. - * - * - * @generated - */ - protected void addPredecessorPropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_WorkSequence_predecessor_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_WorkSequence_predecessor_feature", "_UI_WorkSequence_type"), - SimplepdlPackage.Literals.WORK_SEQUENCE__PREDECESSOR, - true, - false, - true, - null, - null, - null)); - } - - /** - * This adds a property descriptor for the Successor feature. - * - * - * @generated - */ - protected void addSuccessorPropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_WorkSequence_successor_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_WorkSequence_successor_feature", "_UI_WorkSequence_type"), - SimplepdlPackage.Literals.WORK_SEQUENCE__SUCCESSOR, - true, - false, - true, - null, - null, - null)); - } - - /** - * This returns WorkSequence.gif. - * - * - * @generated - */ - @Override - public Object getImage(Object object) { - return overlayImage(object, getResourceLocator().getImage("full/obj16/WorkSequence")); - } - - /** - * This returns the label text for the adapted class. - * - * - * @generated - */ - @Override - public String getText(Object object) { - WorkSequence ws = (WorkSequence) object; - WorkSequenceType labelValue = ws.getLinkType(); - String label = "--" + (labelValue == null ? "?" : labelValue.toString()) + "-->"; - String previous = ws.getPredecessor() == null ? "?" : ws.getPredecessor().getName(); - String next = ws.getSuccessor() == null ? "?" : ws.getSuccessor().getName(); - return label == null || label.length() == 0 ? - getString("_UI_WorkSequence_type") : - getString("_UI_WorkSequence_type") + " " + previous + " " + label + " " + next; - } - - - /** - * This handles model notifications by calling {@link #updateChildren} to update any cached - * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. - * - * - * @generated - */ - @Override - public void notifyChanged(Notification notification) { - updateChildren(notification); - - switch (notification.getFeatureID(WorkSequence.class)) { - case SimplepdlPackage.WORK_SEQUENCE__LINK_TYPE: - fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); - return; - case SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR: - case SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR: - } - super.notifyChanged(notification); - } - - /** - * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children - * that can be created under this object. - * - * - * @generated - */ - @Override - protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { - super.collectNewChildDescriptors(newChildDescriptors, object); - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/21/40b998f53428001c13dca9fa1eba29d5 b/.metadata/.plugins/org.eclipse.core.resources/.history/21/40b998f53428001c13dca9fa1eba29d5 new file mode 100644 index 0000000..2b9489f --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/21/40b998f53428001c13dca9fa1eba29d5 @@ -0,0 +1,28 @@ +import 'SimplePDL.ecore' + +package simplepdl + +context Process +inv warningSeverity: false +inv withMessage('Explicit message in process ' + self.name + ' (withMessage)'): false + +context Process +inv validName('Invalid name: ' + self.name): + self.name.matches('[A-Za-z_][A-Za-z0-9_]*') + +context ProcessElement +def: process(): Process = + Process.allInstances() + ->select(p | p.processElements->includes(self)) + ->asSequence()->first() + +context WorkSequence +inv successorAndPredecessorInSameProcess('Activities not in the same process : ' + + self.predecessor.name + ' in ' + self.predecessor.process().name+ ' and ' + + self.successor.name + ' in ' + self.successor.process().name + ): + self.process() = self.successor.process() + and self.process() = self.predecessor.process() + + +endpackage \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/50/90b6d6ecdc25001c15a9d70b555b4809 b/.metadata/.plugins/org.eclipse.core.resources/.history/24/702cabc93c28001c1451a142d5f09209 similarity index 64% rename from .metadata/.plugins/org.eclipse.core.resources/.history/50/90b6d6ecdc25001c15a9d70b555b4809 rename to .metadata/.plugins/org.eclipse.core.resources/.history/24/702cabc93c28001c1451a142d5f09209 index d884e02..b172813 100644 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/50/90b6d6ecdc25001c15a9d70b555b4809 +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/24/702cabc93c28001c1451a142d5f09209 @@ -1,6 +1,6 @@ /** */ -package simplepdl.provider; +package petrinet.provider; import java.util.Collection; @@ -22,16 +22,17 @@ import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; import org.eclipse.emf.edit.provider.ItemProviderAdapter; import org.eclipse.emf.edit.provider.ViewerNotification; -import simplepdl.Request; -import simplepdl.SimplepdlPackage; +import petrinet.Arc; +import petrinet.PetrinetPackage; +import petrinet.Place; /** - * This is the item provider adapter for a {@link simplepdl.Request} object. + * This is the item provider adapter for a {@link petrinet.Arc} object. * * * @generated */ -public class RequestItemProvider +public class ArcItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider, @@ -45,7 +46,7 @@ public class RequestItemProvider * * @generated */ - public RequestItemProvider(AdapterFactory adapterFactory) { + public ArcItemProvider(AdapterFactory adapterFactory) { super(adapterFactory); } @@ -60,26 +61,27 @@ public class RequestItemProvider if (itemPropertyDescriptors == null) { super.getPropertyDescriptors(object); - addQuantityPropertyDescriptor(object); - addTargetPropertyDescriptor(object); + addPoidsPropertyDescriptor(object); + addSortantPropertyDescriptor(object); + addCiblePropertyDescriptor(object); } return itemPropertyDescriptors; } /** - * This adds a property descriptor for the Quantity feature. + * This adds a property descriptor for the Poids feature. * * * @generated */ - protected void addQuantityPropertyDescriptor(Object object) { + protected void addPoidsPropertyDescriptor(Object object) { itemPropertyDescriptors.add (createItemPropertyDescriptor (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(), - getString("_UI_Request_quantity_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_Request_quantity_feature", "_UI_Request_type"), - SimplepdlPackage.Literals.REQUEST__QUANTITY, + getString("_UI_Arc_poids_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_Arc_poids_feature", "_UI_Arc_type"), + PetrinetPackage.Literals.ARC__POIDS, true, false, false, @@ -89,19 +91,41 @@ public class RequestItemProvider } /** - * This adds a property descriptor for the Target feature. + * This adds a property descriptor for the Sortant feature. * * * @generated */ - protected void addTargetPropertyDescriptor(Object object) { + protected void addSortantPropertyDescriptor(Object object) { itemPropertyDescriptors.add (createItemPropertyDescriptor (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(), - getString("_UI_Request_target_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_Request_target_feature", "_UI_Request_type"), - SimplepdlPackage.Literals.REQUEST__TARGET, + getString("_UI_Arc_sortant_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_Arc_sortant_feature", "_UI_Arc_type"), + PetrinetPackage.Literals.ARC__SORTANT, + true, + false, + false, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, + null, + null)); + } + + /** + * This adds a property descriptor for the Cible feature. + * + * + * @generated + */ + protected void addCiblePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Arc_cible_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_Arc_cible_feature", "_UI_Arc_type"), + PetrinetPackage.Literals.ARC__CIBLE, true, false, true, @@ -111,14 +135,14 @@ public class RequestItemProvider } /** - * This returns Request.gif. + * This returns Arc.gif. * * * @generated */ @Override public Object getImage(Object object) { - return overlayImage(object, getResourceLocator().getImage("full/obj16/Request")); + return overlayImage(object, getResourceLocator().getImage("full/obj16/Arc")); } /** @@ -129,8 +153,12 @@ public class RequestItemProvider */ @Override public String getText(Object object) { - Request request = (Request)object; - return getString("_UI_Request_type") + " --" + request.getQuantity() + "--> " + request.getTarget().getName(); + boolean sortant = ((Arc)object).isSortant(); + int poids = ((Arc)object).getPoids(); + String cible = ((Arc)object).getCible().getName(); + return sortant ? + "--" + poids + "-->" + cible : + "<--" + poids + "--" + cible; } @@ -145,8 +173,9 @@ public class RequestItemProvider public void notifyChanged(Notification notification) { updateChildren(notification); - switch (notification.getFeatureID(Request.class)) { - case SimplepdlPackage.REQUEST__QUANTITY: + switch (notification.getFeatureID(Arc.class)) { + case PetrinetPackage.ARC__POIDS: + case PetrinetPackage.ARC__SORTANT: fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); return; } @@ -173,7 +202,7 @@ public class RequestItemProvider */ @Override public ResourceLocator getResourceLocator() { - return SimplePDLEditPlugin.INSTANCE; + return PetriNetEditPlugin.INSTANCE; } } diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/24/f0b1f32a9822001c17faa9b6b0561c0f b/.metadata/.plugins/org.eclipse.core.resources/.history/24/f0b1f32a9822001c17faa9b6b0561c0f deleted file mode 100644 index c9270e2..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/24/f0b1f32a9822001c17faa9b6b0561c0f +++ /dev/null @@ -1,636 +0,0 @@ -/** - */ -package simplepdl; - -import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EEnum; -import org.eclipse.emf.ecore.EPackage; -import org.eclipse.emf.ecore.EReference; - -/** - * - * The Package for the model. - * It contains accessors for the meta objects to represent - *
    - *
  • each class,
  • - *
  • each feature of each class,
  • - *
  • each operation of each class,
  • - *
  • each enum,
  • - *
  • and each data type
  • - *
- * - * @see simplepdl.SimplepdlFactory - * @model kind="package" - * @generated - */ -public interface SimplepdlPackage extends EPackage { - /** - * The package name. - * - * - * @generated - */ - String eNAME = "simplepdl"; - - /** - * The package namespace URI. - * - * - * @generated - */ - String eNS_URI = "http://simplepdl"; - - /** - * The package namespace name. - * - * - * @generated - */ - String eNS_PREFIX = "simplepdl"; - - /** - * The singleton instance of the package. - * - * - * @generated - */ - SimplepdlPackage eINSTANCE = simplepdl.impl.SimplepdlPackageImpl.init(); - - /** - * The meta object id for the '{@link simplepdl.impl.ProcessElementImpl Process Element}' class. - * - * - * @see simplepdl.impl.ProcessElementImpl - * @see simplepdl.impl.SimplepdlPackageImpl#getProcessElement() - * @generated - */ - int PROCESS_ELEMENT = 0; - - /** - * The number of structural features of the 'Process Element' class. - * - * - * @generated - * @ordered - */ - int PROCESS_ELEMENT_FEATURE_COUNT = 0; - - /** - * The number of operations of the 'Process Element' class. - * - * - * @generated - * @ordered - */ - int PROCESS_ELEMENT_OPERATION_COUNT = 0; - - /** - * The meta object id for the '{@link simplepdl.impl.WorkDefinitionImpl Work Definition}' class. - * - * - * @see simplepdl.impl.WorkDefinitionImpl - * @see simplepdl.impl.SimplepdlPackageImpl#getWorkDefinition() - * @generated - */ - int WORK_DEFINITION = 1; - - /** - * The feature id for the 'Links To Predecessors' reference list. - * - * - * @generated - * @ordered - */ - int WORK_DEFINITION__LINKS_TO_PREDECESSORS = PROCESS_ELEMENT_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Links To Successors' reference list. - * - * - * @generated - * @ordered - */ - int WORK_DEFINITION__LINKS_TO_SUCCESSORS = PROCESS_ELEMENT_FEATURE_COUNT + 1; - - /** - * The feature id for the 'Name' attribute. - * - * - * @generated - * @ordered - */ - int WORK_DEFINITION__NAME = PROCESS_ELEMENT_FEATURE_COUNT + 2; - - /** - * The number of structural features of the 'Work Definition' class. - * - * - * @generated - * @ordered - */ - int WORK_DEFINITION_FEATURE_COUNT = PROCESS_ELEMENT_FEATURE_COUNT + 3; - - /** - * The number of operations of the 'Work Definition' class. - * - * - * @generated - * @ordered - */ - int WORK_DEFINITION_OPERATION_COUNT = PROCESS_ELEMENT_OPERATION_COUNT + 0; - - /** - * The meta object id for the '{@link simplepdl.impl.WorkSequenceImpl Work Sequence}' class. - * - * - * @see simplepdl.impl.WorkSequenceImpl - * @see simplepdl.impl.SimplepdlPackageImpl#getWorkSequence() - * @generated - */ - int WORK_SEQUENCE = 2; - - /** - * The feature id for the 'Link Type' attribute. - * - * - * @generated - * @ordered - */ - int WORK_SEQUENCE__LINK_TYPE = PROCESS_ELEMENT_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Predecessor' reference. - * - * - * @generated - * @ordered - */ - int WORK_SEQUENCE__PREDECESSOR = PROCESS_ELEMENT_FEATURE_COUNT + 1; - - /** - * The feature id for the 'Successor' reference. - * - * - * @generated - * @ordered - */ - int WORK_SEQUENCE__SUCCESSOR = PROCESS_ELEMENT_FEATURE_COUNT + 2; - - /** - * The number of structural features of the 'Work Sequence' class. - * - * - * @generated - * @ordered - */ - int WORK_SEQUENCE_FEATURE_COUNT = PROCESS_ELEMENT_FEATURE_COUNT + 3; - - /** - * The number of operations of the 'Work Sequence' class. - * - * - * @generated - * @ordered - */ - int WORK_SEQUENCE_OPERATION_COUNT = PROCESS_ELEMENT_OPERATION_COUNT + 0; - - /** - * The meta object id for the '{@link simplepdl.impl.GuidanceImpl Guidance}' class. - * - * - * @see simplepdl.impl.GuidanceImpl - * @see simplepdl.impl.SimplepdlPackageImpl#getGuidance() - * @generated - */ - int GUIDANCE = 3; - - /** - * The feature id for the 'Text' attribute. - * - * - * @generated - * @ordered - */ - int GUIDANCE__TEXT = PROCESS_ELEMENT_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Elements' reference list. - * - * - * @generated - * @ordered - */ - int GUIDANCE__ELEMENTS = PROCESS_ELEMENT_FEATURE_COUNT + 1; - - /** - * The number of structural features of the 'Guidance' class. - * - * - * @generated - * @ordered - */ - int GUIDANCE_FEATURE_COUNT = PROCESS_ELEMENT_FEATURE_COUNT + 2; - - /** - * The number of operations of the 'Guidance' class. - * - * - * @generated - * @ordered - */ - int GUIDANCE_OPERATION_COUNT = PROCESS_ELEMENT_OPERATION_COUNT + 0; - - /** - * The meta object id for the '{@link simplepdl.impl.ProcessImpl Process}' class. - * - * - * @see simplepdl.impl.ProcessImpl - * @see simplepdl.impl.SimplepdlPackageImpl#getProcess() - * @generated - */ - int PROCESS = 4; - - /** - * The feature id for the 'Name' attribute. - * - * - * @generated - * @ordered - */ - int PROCESS__NAME = 0; - - /** - * The feature id for the 'Process Elements' containment reference list. - * - * - * @generated - * @ordered - */ - int PROCESS__PROCESS_ELEMENTS = 1; - - /** - * The number of structural features of the 'Process' class. - * - * - * @generated - * @ordered - */ - int PROCESS_FEATURE_COUNT = 2; - - /** - * The number of operations of the 'Process' class. - * - * - * @generated - * @ordered - */ - int PROCESS_OPERATION_COUNT = 0; - - /** - * The meta object id for the '{@link simplepdl.WorkSequenceType Work Sequence Type}' enum. - * - * - * @see simplepdl.WorkSequenceType - * @see simplepdl.impl.SimplepdlPackageImpl#getWorkSequenceType() - * @generated - */ - int WORK_SEQUENCE_TYPE = 5; - - - /** - * Returns the meta object for class '{@link simplepdl.ProcessElement Process Element}'. - * - * - * @return the meta object for class 'Process Element'. - * @see simplepdl.ProcessElement - * @generated - */ - EClass getProcessElement(); - - /** - * Returns the meta object for class '{@link simplepdl.WorkDefinition Work Definition}'. - * - * - * @return the meta object for class 'Work Definition'. - * @see simplepdl.WorkDefinition - * @generated - */ - EClass getWorkDefinition(); - - /** - * Returns the meta object for the reference list '{@link simplepdl.WorkDefinition#getLinksToPredecessors Links To Predecessors}'. - * - * - * @return the meta object for the reference list 'Links To Predecessors'. - * @see simplepdl.WorkDefinition#getLinksToPredecessors() - * @see #getWorkDefinition() - * @generated - */ - EReference getWorkDefinition_LinksToPredecessors(); - - /** - * Returns the meta object for the reference list '{@link simplepdl.WorkDefinition#getLinksToSuccessors Links To Successors}'. - * - * - * @return the meta object for the reference list 'Links To Successors'. - * @see simplepdl.WorkDefinition#getLinksToSuccessors() - * @see #getWorkDefinition() - * @generated - */ - EReference getWorkDefinition_LinksToSuccessors(); - - /** - * Returns the meta object for the attribute '{@link simplepdl.WorkDefinition#getName Name}'. - * - * - * @return the meta object for the attribute 'Name'. - * @see simplepdl.WorkDefinition#getName() - * @see #getWorkDefinition() - * @generated - */ - EAttribute getWorkDefinition_Name(); - - /** - * Returns the meta object for class '{@link simplepdl.WorkSequence Work Sequence}'. - * - * - * @return the meta object for class 'Work Sequence'. - * @see simplepdl.WorkSequence - * @generated - */ - EClass getWorkSequence(); - - /** - * Returns the meta object for the attribute '{@link simplepdl.WorkSequence#getLinkType Link Type}'. - * - * - * @return the meta object for the attribute 'Link Type'. - * @see simplepdl.WorkSequence#getLinkType() - * @see #getWorkSequence() - * @generated - */ - EAttribute getWorkSequence_LinkType(); - - /** - * Returns the meta object for the reference '{@link simplepdl.WorkSequence#getPredecessor Predecessor}'. - * - * - * @return the meta object for the reference 'Predecessor'. - * @see simplepdl.WorkSequence#getPredecessor() - * @see #getWorkSequence() - * @generated - */ - EReference getWorkSequence_Predecessor(); - - /** - * Returns the meta object for the reference '{@link simplepdl.WorkSequence#getSuccessor Successor}'. - * - * - * @return the meta object for the reference 'Successor'. - * @see simplepdl.WorkSequence#getSuccessor() - * @see #getWorkSequence() - * @generated - */ - EReference getWorkSequence_Successor(); - - /** - * Returns the meta object for class '{@link simplepdl.Guidance Guidance}'. - * - * - * @return the meta object for class 'Guidance'. - * @see simplepdl.Guidance - * @generated - */ - EClass getGuidance(); - - /** - * Returns the meta object for the attribute '{@link simplepdl.Guidance#getText Text}'. - * - * - * @return the meta object for the attribute 'Text'. - * @see simplepdl.Guidance#getText() - * @see #getGuidance() - * @generated - */ - EAttribute getGuidance_Text(); - - /** - * Returns the meta object for the reference list '{@link simplepdl.Guidance#getElements Elements}'. - * - * - * @return the meta object for the reference list 'Elements'. - * @see simplepdl.Guidance#getElements() - * @see #getGuidance() - * @generated - */ - EReference getGuidance_Elements(); - - /** - * Returns the meta object for class '{@link simplepdl.Process Process}'. - * - * - * @return the meta object for class 'Process'. - * @see simplepdl.Process - * @generated - */ - EClass getProcess(); - - /** - * Returns the meta object for the attribute '{@link simplepdl.Process#getName Name}'. - * - * - * @return the meta object for the attribute 'Name'. - * @see simplepdl.Process#getName() - * @see #getProcess() - * @generated - */ - EAttribute getProcess_Name(); - - /** - * Returns the meta object for the containment reference list '{@link simplepdl.Process#getProcessElements Process Elements}'. - * - * - * @return the meta object for the containment reference list 'Process Elements'. - * @see simplepdl.Process#getProcessElements() - * @see #getProcess() - * @generated - */ - EReference getProcess_ProcessElements(); - - /** - * Returns the meta object for enum '{@link simplepdl.WorkSequenceType Work Sequence Type}'. - * - * - * @return the meta object for enum 'Work Sequence Type'. - * @see simplepdl.WorkSequenceType - * @generated - */ - EEnum getWorkSequenceType(); - - /** - * Returns the factory that creates the instances of the model. - * - * - * @return the factory that creates the instances of the model. - * @generated - */ - SimplepdlFactory getSimplepdlFactory(); - - /** - * - * Defines literals for the meta objects that represent - *
    - *
  • each class,
  • - *
  • each feature of each class,
  • - *
  • each operation of each class,
  • - *
  • each enum,
  • - *
  • and each data type
  • - *
- * - * @generated - */ - interface Literals { - /** - * The meta object literal for the '{@link simplepdl.impl.ProcessElementImpl Process Element}' class. - * - * - * @see simplepdl.impl.ProcessElementImpl - * @see simplepdl.impl.SimplepdlPackageImpl#getProcessElement() - * @generated - */ - EClass PROCESS_ELEMENT = eINSTANCE.getProcessElement(); - - /** - * The meta object literal for the '{@link simplepdl.impl.WorkDefinitionImpl Work Definition}' class. - * - * - * @see simplepdl.impl.WorkDefinitionImpl - * @see simplepdl.impl.SimplepdlPackageImpl#getWorkDefinition() - * @generated - */ - EClass WORK_DEFINITION = eINSTANCE.getWorkDefinition(); - - /** - * The meta object literal for the 'Links To Predecessors' reference list feature. - * - * - * @generated - */ - EReference WORK_DEFINITION__LINKS_TO_PREDECESSORS = eINSTANCE.getWorkDefinition_LinksToPredecessors(); - - /** - * The meta object literal for the 'Links To Successors' reference list feature. - * - * - * @generated - */ - EReference WORK_DEFINITION__LINKS_TO_SUCCESSORS = eINSTANCE.getWorkDefinition_LinksToSuccessors(); - - /** - * The meta object literal for the 'Name' attribute feature. - * - * - * @generated - */ - EAttribute WORK_DEFINITION__NAME = eINSTANCE.getWorkDefinition_Name(); - - /** - * The meta object literal for the '{@link simplepdl.impl.WorkSequenceImpl Work Sequence}' class. - * - * - * @see simplepdl.impl.WorkSequenceImpl - * @see simplepdl.impl.SimplepdlPackageImpl#getWorkSequence() - * @generated - */ - EClass WORK_SEQUENCE = eINSTANCE.getWorkSequence(); - - /** - * The meta object literal for the 'Link Type' attribute feature. - * - * - * @generated - */ - EAttribute WORK_SEQUENCE__LINK_TYPE = eINSTANCE.getWorkSequence_LinkType(); - - /** - * The meta object literal for the 'Predecessor' reference feature. - * - * - * @generated - */ - EReference WORK_SEQUENCE__PREDECESSOR = eINSTANCE.getWorkSequence_Predecessor(); - - /** - * The meta object literal for the 'Successor' reference feature. - * - * - * @generated - */ - EReference WORK_SEQUENCE__SUCCESSOR = eINSTANCE.getWorkSequence_Successor(); - - /** - * The meta object literal for the '{@link simplepdl.impl.GuidanceImpl Guidance}' class. - * - * - * @see simplepdl.impl.GuidanceImpl - * @see simplepdl.impl.SimplepdlPackageImpl#getGuidance() - * @generated - */ - EClass GUIDANCE = eINSTANCE.getGuidance(); - - /** - * The meta object literal for the 'Text' attribute feature. - * - * - * @generated - */ - EAttribute GUIDANCE__TEXT = eINSTANCE.getGuidance_Text(); - - /** - * The meta object literal for the 'Elements' reference list feature. - * - * - * @generated - */ - EReference GUIDANCE__ELEMENTS = eINSTANCE.getGuidance_Elements(); - - /** - * The meta object literal for the '{@link simplepdl.impl.ProcessImpl Process}' class. - * - * - * @see simplepdl.impl.ProcessImpl - * @see simplepdl.impl.SimplepdlPackageImpl#getProcess() - * @generated - */ - EClass PROCESS = eINSTANCE.getProcess(); - - /** - * The meta object literal for the 'Name' attribute feature. - * - * - * @generated - */ - EAttribute PROCESS__NAME = eINSTANCE.getProcess_Name(); - - /** - * The meta object literal for the 'Process Elements' containment reference list feature. - * - * - * @generated - */ - EReference PROCESS__PROCESS_ELEMENTS = eINSTANCE.getProcess_ProcessElements(); - - /** - * The meta object literal for the '{@link simplepdl.WorkSequenceType Work Sequence Type}' enum. - * - * - * @see simplepdl.WorkSequenceType - * @see simplepdl.impl.SimplepdlPackageImpl#getWorkSequenceType() - * @generated - */ - EEnum WORK_SEQUENCE_TYPE = eINSTANCE.getWorkSequenceType(); - - } - -} //SimplepdlPackage diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/5f/508f2e94f425001c1bd4a5e084302d35 b/.metadata/.plugins/org.eclipse.core.resources/.history/25/103a99093428001c13dca9fa1eba29d5 similarity index 97% rename from .metadata/.plugins/org.eclipse.core.resources/.history/5f/508f2e94f425001c1bd4a5e084302d35 rename to .metadata/.plugins/org.eclipse.core.resources/.history/25/103a99093428001c13dca9fa1eba29d5 index 3deab2f..b78d233 100644 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/5f/508f2e94f425001c1bd4a5e084302d35 +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/25/103a99093428001c13dca9fa1eba29d5 @@ -7,7 +7,7 @@ + eType="#//Flèche" containment="true"/> diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/29/00dae74f9c22001c10c68e4a8bb21dd1 b/.metadata/.plugins/org.eclipse.core.resources/.history/29/00dae74f9c22001c10c68e4a8bb21dd1 deleted file mode 100644 index 401dc9e..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/29/00dae74f9c22001c10c68e4a8bb21dd1 +++ /dev/null @@ -1,201 +0,0 @@ -/** - */ -package simplepdl.provider; - - -import java.util.Collection; -import java.util.List; - -import org.eclipse.emf.common.notify.AdapterFactory; -import org.eclipse.emf.common.notify.Notification; - -import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; -import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; -import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; -import org.eclipse.emf.edit.provider.ViewerNotification; - -import simplepdl.SimplepdlPackage; -import simplepdl.WorkDefinition; - -/** - * This is the item provider adapter for a {@link simplepdl.WorkDefinition} object. - * - * - * @generated - */ -public class WorkDefinitionItemProvider extends ProcessElementItemProvider { - /** - * This constructs an instance from a factory and a notifier. - * - * - * @generated - */ - public WorkDefinitionItemProvider(AdapterFactory adapterFactory) { - super(adapterFactory); - } - - /** - * This returns the property descriptors for the adapted class. - * - * - * @generated - */ - @Override - public List getPropertyDescriptors(Object object) { - if (itemPropertyDescriptors == null) { - super.getPropertyDescriptors(object); - - addLinksToPredecessorsPropertyDescriptor(object); - addLinksToSuccessorsPropertyDescriptor(object); - addNamePropertyDescriptor(object); - addRequestsPropertyDescriptor(object); - } - return itemPropertyDescriptors; - } - - /** - * This adds a property descriptor for the Links To Predecessors feature. - * - * - * @generated - */ - protected void addLinksToPredecessorsPropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_WorkDefinition_linksToPredecessors_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_WorkDefinition_linksToPredecessors_feature", "_UI_WorkDefinition_type"), - SimplepdlPackage.Literals.WORK_DEFINITION__LINKS_TO_PREDECESSORS, - true, - false, - true, - null, - null, - null)); - } - - /** - * This adds a property descriptor for the Links To Successors feature. - * - * - * @generated - */ - protected void addLinksToSuccessorsPropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_WorkDefinition_linksToSuccessors_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_WorkDefinition_linksToSuccessors_feature", "_UI_WorkDefinition_type"), - SimplepdlPackage.Literals.WORK_DEFINITION__LINKS_TO_SUCCESSORS, - true, - false, - true, - null, - null, - null)); - } - - /** - * This adds a property descriptor for the Name feature. - * - * - * @generated - */ - protected void addNamePropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_WorkDefinition_name_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_WorkDefinition_name_feature", "_UI_WorkDefinition_type"), - SimplepdlPackage.Literals.WORK_DEFINITION__NAME, - true, - false, - false, - ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, - null, - null)); - } - - /** - * This adds a property descriptor for the Requests feature. - * - * - * @generated - */ - protected void addRequestsPropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_WorkDefinition_requests_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_WorkDefinition_requests_feature", "_UI_WorkDefinition_type"), - SimplepdlPackage.Literals.WORK_DEFINITION__REQUESTS, - true, - false, - true, - null, - null, - null)); - } - - /** - * This returns WorkDefinition.gif. - * - * - * @generated - */ - @Override - public Object getImage(Object object) { - return overlayImage(object, getResourceLocator().getImage("full/obj16/WorkDefinition")); - } - - /** - * This returns the label text for the adapted class. - * - * - * @generated - */ - @Override - public String getText(Object object) { - String label = ((WorkDefinition)object).getName(); - return label == null || label.length() == 0 ? - getString("_UI_WorkDefinition_type") : - getString("_UI_WorkDefinition_type") + " " + label; - } - - - /** - * This handles model notifications by calling {@link #updateChildren} to update any cached - * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. - * - * - * @generated - */ - @Override - public void notifyChanged(Notification notification) { - updateChildren(notification); - - switch (notification.getFeatureID(WorkDefinition.class)) { - case SimplepdlPackage.WORK_DEFINITION__NAME: - fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); - return; - } - super.notifyChanged(notification); - } - - /** - * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children - * that can be created under this object. - * - * - * @generated - */ - @Override - protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { - super.collectNewChildDescriptors(newChildDescriptors, object); - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/2a/601484d13328001c13dca9fa1eba29d5 b/.metadata/.plugins/org.eclipse.core.resources/.history/2a/601484d13328001c13dca9fa1eba29d5 new file mode 100644 index 0000000..b93b232 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/2a/601484d13328001c13dca9fa1eba29d5 @@ -0,0 +1,3 @@ + + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/2e/701a2c539a22001c12b4fa86d0abfe24 b/.metadata/.plugins/org.eclipse.core.resources/.history/2e/701a2c539a22001c12b4fa86d0abfe24 deleted file mode 100644 index 990b3e2..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/2e/701a2c539a22001c12b4fa86d0abfe24 +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/2f/90ef1c183528001c13dca9fa1eba29d5 b/.metadata/.plugins/org.eclipse.core.resources/.history/2f/90ef1c183528001c13dca9fa1eba29d5 new file mode 100644 index 0000000..2b9489f --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/2f/90ef1c183528001c13dca9fa1eba29d5 @@ -0,0 +1,28 @@ +import 'SimplePDL.ecore' + +package simplepdl + +context Process +inv warningSeverity: false +inv withMessage('Explicit message in process ' + self.name + ' (withMessage)'): false + +context Process +inv validName('Invalid name: ' + self.name): + self.name.matches('[A-Za-z_][A-Za-z0-9_]*') + +context ProcessElement +def: process(): Process = + Process.allInstances() + ->select(p | p.processElements->includes(self)) + ->asSequence()->first() + +context WorkSequence +inv successorAndPredecessorInSameProcess('Activities not in the same process : ' + + self.predecessor.name + ' in ' + self.predecessor.process().name+ ' and ' + + self.successor.name + ' in ' + self.successor.process().name + ): + self.process() = self.successor.process() + and self.process() = self.predecessor.process() + + +endpackage \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/2f/f00d382b9822001c17faa9b6b0561c0f b/.metadata/.plugins/org.eclipse.core.resources/.history/2f/f00d382b9822001c17faa9b6b0561c0f deleted file mode 100644 index b291620..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/2f/f00d382b9822001c17faa9b6b0561c0f +++ /dev/null @@ -1,39 +0,0 @@ -/** - */ -package simplepdl.impl; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; - -import simplepdl.ProcessElement; -import simplepdl.SimplepdlPackage; - -/** - * - * An implementation of the model object 'Process Element'. - * - * - * @generated - */ -public class ProcessElementImpl extends MinimalEObjectImpl.Container implements ProcessElement { - /** - * - * - * @generated - */ - protected ProcessElementImpl() { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() { - return SimplepdlPackage.Literals.PROCESS_ELEMENT; - } - -} //ProcessElementImpl diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/34/502708779422001c17faa9b6b0561c0f b/.metadata/.plugins/org.eclipse.core.resources/.history/34/502708779422001c17faa9b6b0561c0f deleted file mode 100644 index 484b8fa..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/34/502708779422001c17faa9b6b0561c0f +++ /dev/null @@ -1,1545 +0,0 @@ - - - - SimplePDL.ecore - SimplePDL.genmodel - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bold - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bold - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bold - - - - - - - - - - - - - - - - bold - - - - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - bold - - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/34/c0c8ff329822001c17faa9b6b0561c0f b/.metadata/.plugins/org.eclipse.core.resources/.history/34/c0c8ff329822001c17faa9b6b0561c0f deleted file mode 100644 index 7457b4c..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/34/c0c8ff329822001c17faa9b6b0561c0f +++ /dev/null @@ -1,61 +0,0 @@ -/** - */ -package simplepdl; - -import org.eclipse.emf.common.util.EList; - -import org.eclipse.emf.ecore.EObject; - -/** - * - * A representation of the model object 'Process'. - * - * - *

- * The following features are supported: - *

- *
    - *
  • {@link simplepdl.Process#getName Name}
  • - *
  • {@link simplepdl.Process#getProcessElements Process Elements}
  • - *
- * - * @see simplepdl.SimplepdlPackage#getProcess() - * @model - * @generated - */ -public interface Process extends EObject { - /** - * Returns the value of the 'Name' attribute. - * - * - * @return the value of the 'Name' attribute. - * @see #setName(String) - * @see simplepdl.SimplepdlPackage#getProcess_Name() - * @model required="true" - * @generated - */ - String getName(); - - /** - * Sets the value of the '{@link simplepdl.Process#getName Name}' attribute. - * - * - * @param value the new value of the 'Name' attribute. - * @see #getName() - * @generated - */ - void setName(String value); - - /** - * Returns the value of the 'Process Elements' containment reference list. - * The list contents are of type {@link simplepdl.ProcessElement}. - * - * - * @return the value of the 'Process Elements' containment reference list. - * @see simplepdl.SimplepdlPackage#getProcess_ProcessElements() - * @model containment="true" - * @generated - */ - EList getProcessElements(); - -} // Process diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/35/90a8ff5c3128001c1e2bddb0f1b33239 b/.metadata/.plugins/org.eclipse.core.resources/.history/35/90a8ff5c3128001c1e2bddb0f1b33239 new file mode 100644 index 0000000..52d193d --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/35/90a8ff5c3128001c1e2bddb0f1b33239 @@ -0,0 +1,50 @@ +import 'SimplePDL.ecore' + +package simplepdl + +context Process +inv warningSeverity: false +inv withMessage('Explicit message in process ' + self.name + ' (withMessage)'): false +--inv errorSeverity: null + +context Process +inv validName('Invalid name: ' + self.name): + self.name.matches('[A-Za-z_][A-Za-z0-9_]*') + +context ProcessElement +def: process(): Process = + Process.allInstances() + ->select(p | p.processElements->includes(self)) + ->asSequence()->first() + +context WorkSequence +inv successorAndPredecessorInSameProcess('Activities not in the same process : ' + + self.predecessor.name + ' in ' + self.predecessor.process().name+ ' and ' + + self.successor.name + ' in ' + self.successor.process().name + ): + self.process() = self.successor.process() + and self.process() = self.predecessor.process() + +context Process +inv uniqNames: self.processElements + ->select(pe | pe.oclIsKindOf(WorkDefinition)) + ->collect(pe | pe.oclAsType(WorkDefinition)) + ->forAll(w1, w2 | w1 = w2 or w1.name <> w2.name) + +context WorkSequence +inv notReflexive: self.predecessor <> self.successor + +context Process +inv nameMin2Char: self.processElements + ->select(pe | pe.oclIsKindOf(WorkDefinition)) + ->collect(pe | pe.oclAsType(WorkDefinition)) + ->forAll(w | w.name.matches('..+')) + +context Process +inv weirdName: self.processElements + ->select(pe | pe.oclIsKindOf(WorkDefinition)) + ->collect(pe | pe.oclAsType(WorkDefinition)) + ->forAll(w | not w.name.matches('([0-9]*|[a-zA-Z]*|_*)')) + + +endpackage \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/36/100f13fd9c22001c118def180044d1da b/.metadata/.plugins/org.eclipse.core.resources/.history/36/100f13fd9c22001c118def180044d1da deleted file mode 100644 index 2f81f37..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/36/100f13fd9c22001c118def180044d1da +++ /dev/null @@ -1,182 +0,0 @@ -/** - */ -package simplepdl.provider; - - -import java.util.Collection; -import java.util.List; - -import org.eclipse.emf.common.notify.AdapterFactory; -import org.eclipse.emf.common.notify.Notification; - -import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; -import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; -import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; -import org.eclipse.emf.edit.provider.ViewerNotification; - -import simplepdl.SimplepdlPackage; -import simplepdl.WorkSequence; -import simplepdl.WorkSequenceType; - -/** - * This is the item provider adapter for a {@link simplepdl.WorkSequence} object. - * - * - * @generated - */ -public class WorkSequenceItemProvider extends ProcessElementItemProvider { - /** - * This constructs an instance from a factory and a notifier. - * - * - * @generated - */ - public WorkSequenceItemProvider(AdapterFactory adapterFactory) { - super(adapterFactory); - } - - /** - * This returns the property descriptors for the adapted class. - * - * - * @generated - */ - @Override - public List getPropertyDescriptors(Object object) { - if (itemPropertyDescriptors == null) { - super.getPropertyDescriptors(object); - - addLinkTypePropertyDescriptor(object); - addPredecessorPropertyDescriptor(object); - addSuccessorPropertyDescriptor(object); - } - return itemPropertyDescriptors; - } - - /** - * This adds a property descriptor for the Link Type feature. - * - * - * @generated - */ - protected void addLinkTypePropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_WorkSequence_linkType_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_WorkSequence_linkType_feature", "_UI_WorkSequence_type"), - SimplepdlPackage.Literals.WORK_SEQUENCE__LINK_TYPE, - true, - false, - false, - ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, - null, - null)); - } - - /** - * This adds a property descriptor for the Predecessor feature. - * - * - * @generated - */ - protected void addPredecessorPropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_WorkSequence_predecessor_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_WorkSequence_predecessor_feature", "_UI_WorkSequence_type"), - SimplepdlPackage.Literals.WORK_SEQUENCE__PREDECESSOR, - true, - false, - true, - null, - null, - null)); - } - - /** - * This adds a property descriptor for the Successor feature. - * - * - * @generated - */ - protected void addSuccessorPropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_WorkSequence_successor_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_WorkSequence_successor_feature", "_UI_WorkSequence_type"), - SimplepdlPackage.Literals.WORK_SEQUENCE__SUCCESSOR, - true, - false, - true, - null, - null, - null)); - } - - /** - * This returns WorkSequence.gif. - * - * - * @generated - */ - @Override - public Object getImage(Object object) { - return overlayImage(object, getResourceLocator().getImage("full/obj16/WorkSequence")); - } - - /** - * This returns the label text for the adapted class. - * - * - * @generated - */ - @Override - public String getText(Object object) { - WorkSequenceType labelValue = ((WorkSequence)object).getLinkType(); - String label = labelValue == null ? null : labelValue.toString(); - return label == null || label.length() == 0 ? - getString("_UI_WorkSequence_type") : - getString("_UI_WorkSequence_type") + " " + label; - } - - - /** - * This handles model notifications by calling {@link #updateChildren} to update any cached - * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. - * - * - * @generated - */ - @Override - public void notifyChanged(Notification notification) { - updateChildren(notification); - - switch (notification.getFeatureID(WorkSequence.class)) { - case SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR: - case SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR: - case SimplepdlPackage.WORK_SEQUENCE__LINK_TYPE: - fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); - return; - } - super.notifyChanged(notification); - } - - /** - * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children - * that can be created under this object. - * - * - * @generated - */ - @Override - protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { - super.collectNewChildDescriptors(newChildDescriptors, object); - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/4/00dda87c3228001c13dca9fa1eba29d5 b/.metadata/.plugins/org.eclipse.core.resources/.history/4/00dda87c3228001c13dca9fa1eba29d5 new file mode 100644 index 0000000..381a3d8 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/4/00dda87c3228001c13dca9fa1eba29d5 @@ -0,0 +1,49 @@ +import 'SimplePDL.ecore' + +package simplepdl + +context Process +inv warningSeverity: false +inv withMessage('Explicit message in process ' + self.name + ' (withMessage)'): false +--inv errorSeverity: null + +context Process +inv validName('Invalid name: ' + self.name): + self.name.matches('[A-Za-z_][A-Za-z0-9_]*') + +context ProcessElement +def: process(): Process = + Process.allInstances() + ->select(p | p.processElements->includes(self)) + ->asSequence()->first() + +context WorkSequence +inv successorAndPredecessorInSameProcess('Activities not in the same process : ' + + self.predecessor.name + ' in ' + self.predecessor.process().name+ ' and ' + + self.successor.name + ' in ' + self.successor.process().name + ): + self.process() = self.successor.process() + and self.process() = self.predecessor.process() + +context Process +inv uniqNames: self.processElements + ->select(pe | pe.oclIsKindOf(WorkDefinition)) + ->collect(pe | pe.oclAsType(WorkDefinition)) + ->forAll(w1, w2 | w1 = w2 or w1.name <> w2.name) + +context WorkSequence +inv notReflexive: self.predecessor <> self.successor + +context Process +inv nameMin2Char: self.processElements + ->select(pe | pe.oclIsKindOf(WorkDefinition)) + ->collect(pe | pe.oclAsType(WorkDefinition)) + ->forAll(w | w.name.matches('..+')) + +context Process +inv weirdName: self.processElements + ->select(pe | pe.oclIsKindOf(WorkDefinition)) + ->collect(pe | pe.oclAsType(WorkDefinition)) + ->forAll(w | not w.name.matches('([0-9]*|[a-zA-Z]*|_*)')) + +endpackage \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/44/509e66e8f425001c1bd4a5e084302d35 b/.metadata/.plugins/org.eclipse.core.resources/.history/44/509e66e8f425001c1bd4a5e084302d35 deleted file mode 100644 index 309d716..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/44/509e66e8f425001c1bd4a5e084302d35 +++ /dev/null @@ -1,668 +0,0 @@ - - - - petriNet.ecore - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bold - - - - - - - bold - - - - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bold - - - - - - - bold - - - - - - - - - - - - - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - italic - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - - - diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/4c/10500a339822001c17faa9b6b0561c0f b/.metadata/.plugins/org.eclipse.core.resources/.history/4c/10500a339822001c17faa9b6b0561c0f deleted file mode 100644 index 4489022..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/4c/10500a339822001c17faa9b6b0561c0f +++ /dev/null @@ -1,225 +0,0 @@ -/** - */ -package simplepdl.impl; - -import org.eclipse.emf.common.notify.Notification; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.InternalEObject; - -import org.eclipse.emf.ecore.impl.ENotificationImpl; -import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; - -import simplepdl.Request; -import simplepdl.Resource; -import simplepdl.SimplepdlPackage; - -/** - * - * An implementation of the model object 'Request'. - * - *

- * The following features are implemented: - *

- *
    - *
  • {@link simplepdl.impl.RequestImpl#getQuantity Quantity}
  • - *
  • {@link simplepdl.impl.RequestImpl#getTarget Target}
  • - *
- * - * @generated - */ -public class RequestImpl extends MinimalEObjectImpl.Container implements Request { - /** - * The default value of the '{@link #getQuantity() Quantity}' attribute. - * - * - * @see #getQuantity() - * @generated - * @ordered - */ - protected static final int QUANTITY_EDEFAULT = 0; - - /** - * The cached value of the '{@link #getQuantity() Quantity}' attribute. - * - * - * @see #getQuantity() - * @generated - * @ordered - */ - protected int quantity = QUANTITY_EDEFAULT; - - /** - * The cached value of the '{@link #getTarget() Target}' reference. - * - * - * @see #getTarget() - * @generated - * @ordered - */ - protected Resource target; - - /** - * - * - * @generated - */ - protected RequestImpl() { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() { - return SimplepdlPackage.Literals.REQUEST; - } - - /** - * - * - * @generated - */ - public int getQuantity() { - return quantity; - } - - /** - * - * - * @generated - */ - public void setQuantity(int newQuantity) { - int oldQuantity = quantity; - quantity = newQuantity; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SimplepdlPackage.REQUEST__QUANTITY, oldQuantity, quantity)); - } - - /** - * - * - * @generated - */ - public Resource getTarget() { - if (target != null && target.eIsProxy()) { - InternalEObject oldTarget = (InternalEObject)target; - target = (Resource)eResolveProxy(oldTarget); - if (target != oldTarget) { - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.RESOLVE, SimplepdlPackage.REQUEST__TARGET, oldTarget, target)); - } - } - return target; - } - - /** - * - * - * @generated - */ - public Resource basicGetTarget() { - return target; - } - - /** - * - * - * @generated - */ - public void setTarget(Resource newTarget) { - Resource oldTarget = target; - target = newTarget; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SimplepdlPackage.REQUEST__TARGET, oldTarget, target)); - } - - /** - * - * - * @generated - */ - @Override - public Object eGet(int featureID, boolean resolve, boolean coreType) { - switch (featureID) { - case SimplepdlPackage.REQUEST__QUANTITY: - return getQuantity(); - case SimplepdlPackage.REQUEST__TARGET: - if (resolve) return getTarget(); - return basicGetTarget(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - @Override - public void eSet(int featureID, Object newValue) { - switch (featureID) { - case SimplepdlPackage.REQUEST__QUANTITY: - setQuantity((Integer)newValue); - return; - case SimplepdlPackage.REQUEST__TARGET: - setTarget((Resource)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - @Override - public void eUnset(int featureID) { - switch (featureID) { - case SimplepdlPackage.REQUEST__QUANTITY: - setQuantity(QUANTITY_EDEFAULT); - return; - case SimplepdlPackage.REQUEST__TARGET: - setTarget((Resource)null); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - @Override - public boolean eIsSet(int featureID) { - switch (featureID) { - case SimplepdlPackage.REQUEST__QUANTITY: - return quantity != QUANTITY_EDEFAULT; - case SimplepdlPackage.REQUEST__TARGET: - return target != null; - } - return super.eIsSet(featureID); - } - - /** - * - * - * @generated - */ - @Override - public String toString() { - if (eIsProxy()) return super.toString(); - - StringBuilder result = new StringBuilder(super.toString()); - result.append(" (quantity: "); - result.append(quantity); - result.append(')'); - return result.toString(); - } - -} //RequestImpl diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/50/60bc0a2b9822001c17faa9b6b0561c0f b/.metadata/.plugins/org.eclipse.core.resources/.history/50/60bc0a2b9822001c17faa9b6b0561c0f deleted file mode 100644 index 515c360..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/50/60bc0a2b9822001c17faa9b6b0561c0f +++ /dev/null @@ -1,391 +0,0 @@ -/** - */ -package simplepdl.impl; - -import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EEnum; -import org.eclipse.emf.ecore.EPackage; -import org.eclipse.emf.ecore.EReference; - -import org.eclipse.emf.ecore.impl.EPackageImpl; - -import simplepdl.Guidance; -import simplepdl.ProcessElement; -import simplepdl.SimplepdlFactory; -import simplepdl.SimplepdlPackage; -import simplepdl.WorkDefinition; -import simplepdl.WorkSequence; -import simplepdl.WorkSequenceType; - -/** - * - * An implementation of the model Package. - * - * @generated - */ -public class SimplepdlPackageImpl extends EPackageImpl implements SimplepdlPackage { - /** - * - * - * @generated - */ - private EClass processElementEClass = null; - - /** - * - * - * @generated - */ - private EClass workDefinitionEClass = null; - - /** - * - * - * @generated - */ - private EClass workSequenceEClass = null; - - /** - * - * - * @generated - */ - private EClass guidanceEClass = null; - - /** - * - * - * @generated - */ - private EClass processEClass = null; - - /** - * - * - * @generated - */ - private EEnum workSequenceTypeEEnum = null; - - /** - * Creates an instance of the model Package, registered with - * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package - * package URI value. - *

Note: the correct way to create the package is via the static - * factory method {@link #init init()}, which also performs - * initialization of the package, or returns the registered package, - * if one already exists. - * - * - * @see org.eclipse.emf.ecore.EPackage.Registry - * @see simplepdl.SimplepdlPackage#eNS_URI - * @see #init() - * @generated - */ - private SimplepdlPackageImpl() { - super(eNS_URI, SimplepdlFactory.eINSTANCE); - } - - /** - * - * - * @generated - */ - private static boolean isInited = false; - - /** - * Creates, registers, and initializes the Package for this model, and for any others upon which it depends. - * - *

This method is used to initialize {@link SimplepdlPackage#eINSTANCE} when that field is accessed. - * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. - * - * - * @see #eNS_URI - * @see #createPackageContents() - * @see #initializePackageContents() - * @generated - */ - public static SimplepdlPackage init() { - if (isInited) return (SimplepdlPackage)EPackage.Registry.INSTANCE.getEPackage(SimplepdlPackage.eNS_URI); - - // Obtain or create and register package - Object registeredSimplepdlPackage = EPackage.Registry.INSTANCE.get(eNS_URI); - SimplepdlPackageImpl theSimplepdlPackage = registeredSimplepdlPackage instanceof SimplepdlPackageImpl ? (SimplepdlPackageImpl)registeredSimplepdlPackage : new SimplepdlPackageImpl(); - - isInited = true; - - // Create package meta-data objects - theSimplepdlPackage.createPackageContents(); - - // Initialize created meta-data - theSimplepdlPackage.initializePackageContents(); - - // Mark meta-data to indicate it can't be changed - theSimplepdlPackage.freeze(); - - // Update the registry and return the package - EPackage.Registry.INSTANCE.put(SimplepdlPackage.eNS_URI, theSimplepdlPackage); - return theSimplepdlPackage; - } - - /** - * - * - * @generated - */ - public EClass getProcessElement() { - return processElementEClass; - } - - /** - * - * - * @generated - */ - public EClass getWorkDefinition() { - return workDefinitionEClass; - } - - /** - * - * - * @generated - */ - public EReference getWorkDefinition_LinksToPredecessors() { - return (EReference)workDefinitionEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - public EReference getWorkDefinition_LinksToSuccessors() { - return (EReference)workDefinitionEClass.getEStructuralFeatures().get(1); - } - - /** - * - * - * @generated - */ - public EAttribute getWorkDefinition_Name() { - return (EAttribute)workDefinitionEClass.getEStructuralFeatures().get(2); - } - - /** - * - * - * @generated - */ - public EClass getWorkSequence() { - return workSequenceEClass; - } - - /** - * - * - * @generated - */ - public EAttribute getWorkSequence_LinkType() { - return (EAttribute)workSequenceEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - public EReference getWorkSequence_Predecessor() { - return (EReference)workSequenceEClass.getEStructuralFeatures().get(1); - } - - /** - * - * - * @generated - */ - public EReference getWorkSequence_Successor() { - return (EReference)workSequenceEClass.getEStructuralFeatures().get(2); - } - - /** - * - * - * @generated - */ - public EClass getGuidance() { - return guidanceEClass; - } - - /** - * - * - * @generated - */ - public EAttribute getGuidance_Text() { - return (EAttribute)guidanceEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - public EReference getGuidance_Elements() { - return (EReference)guidanceEClass.getEStructuralFeatures().get(1); - } - - /** - * - * - * @generated - */ - public EClass getProcess() { - return processEClass; - } - - /** - * - * - * @generated - */ - public EAttribute getProcess_Name() { - return (EAttribute)processEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - public EReference getProcess_ProcessElements() { - return (EReference)processEClass.getEStructuralFeatures().get(1); - } - - /** - * - * - * @generated - */ - public EEnum getWorkSequenceType() { - return workSequenceTypeEEnum; - } - - /** - * - * - * @generated - */ - public SimplepdlFactory getSimplepdlFactory() { - return (SimplepdlFactory)getEFactoryInstance(); - } - - /** - * - * - * @generated - */ - private boolean isCreated = false; - - /** - * Creates the meta-model objects for the package. This method is - * guarded to have no affect on any invocation but its first. - * - * - * @generated - */ - public void createPackageContents() { - if (isCreated) return; - isCreated = true; - - // Create classes and their features - processElementEClass = createEClass(PROCESS_ELEMENT); - - workDefinitionEClass = createEClass(WORK_DEFINITION); - createEReference(workDefinitionEClass, WORK_DEFINITION__LINKS_TO_PREDECESSORS); - createEReference(workDefinitionEClass, WORK_DEFINITION__LINKS_TO_SUCCESSORS); - createEAttribute(workDefinitionEClass, WORK_DEFINITION__NAME); - - workSequenceEClass = createEClass(WORK_SEQUENCE); - createEAttribute(workSequenceEClass, WORK_SEQUENCE__LINK_TYPE); - createEReference(workSequenceEClass, WORK_SEQUENCE__PREDECESSOR); - createEReference(workSequenceEClass, WORK_SEQUENCE__SUCCESSOR); - - guidanceEClass = createEClass(GUIDANCE); - createEAttribute(guidanceEClass, GUIDANCE__TEXT); - createEReference(guidanceEClass, GUIDANCE__ELEMENTS); - - processEClass = createEClass(PROCESS); - createEAttribute(processEClass, PROCESS__NAME); - createEReference(processEClass, PROCESS__PROCESS_ELEMENTS); - - // Create enums - workSequenceTypeEEnum = createEEnum(WORK_SEQUENCE_TYPE); - } - - /** - * - * - * @generated - */ - private boolean isInitialized = false; - - /** - * Complete the initialization of the package and its meta-model. This - * method is guarded to have no affect on any invocation but its first. - * - * - * @generated - */ - public void initializePackageContents() { - if (isInitialized) return; - isInitialized = true; - - // Initialize package - setName(eNAME); - setNsPrefix(eNS_PREFIX); - setNsURI(eNS_URI); - - // Create type parameters - - // Set bounds for type parameters - - // Add supertypes to classes - workDefinitionEClass.getESuperTypes().add(this.getProcessElement()); - workSequenceEClass.getESuperTypes().add(this.getProcessElement()); - guidanceEClass.getESuperTypes().add(this.getProcessElement()); - - // Initialize classes, features, and operations; add parameters - initEClass(processElementEClass, ProcessElement.class, "ProcessElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - - initEClass(workDefinitionEClass, WorkDefinition.class, "WorkDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEReference(getWorkDefinition_LinksToPredecessors(), this.getWorkSequence(), this.getWorkSequence_Successor(), "linksToPredecessors", null, 0, -1, WorkDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getWorkDefinition_LinksToSuccessors(), this.getWorkSequence(), this.getWorkSequence_Predecessor(), "linksToSuccessors", null, 0, -1, WorkDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getWorkDefinition_Name(), ecorePackage.getEString(), "name", null, 1, 1, WorkDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - initEClass(workSequenceEClass, WorkSequence.class, "WorkSequence", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEAttribute(getWorkSequence_LinkType(), this.getWorkSequenceType(), "linkType", null, 1, 1, WorkSequence.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getWorkSequence_Predecessor(), this.getWorkDefinition(), this.getWorkDefinition_LinksToSuccessors(), "predecessor", null, 1, 1, WorkSequence.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getWorkSequence_Successor(), this.getWorkDefinition(), this.getWorkDefinition_LinksToPredecessors(), "successor", null, 1, 1, WorkSequence.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - initEClass(guidanceEClass, Guidance.class, "Guidance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEAttribute(getGuidance_Text(), ecorePackage.getEString(), "text", null, 1, 1, Guidance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getGuidance_Elements(), this.getProcessElement(), null, "elements", null, 0, -1, Guidance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - initEClass(processEClass, simplepdl.Process.class, "Process", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEAttribute(getProcess_Name(), ecorePackage.getEString(), "name", null, 1, 1, simplepdl.Process.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getProcess_ProcessElements(), this.getProcessElement(), null, "processElements", null, 0, -1, simplepdl.Process.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - // Initialize enums and add enum literals - initEEnum(workSequenceTypeEEnum, WorkSequenceType.class, "WorkSequenceType"); - addEEnumLiteral(workSequenceTypeEEnum, WorkSequenceType.START_TO_START); - addEEnumLiteral(workSequenceTypeEEnum, WorkSequenceType.FINISH_TO_START); - addEEnumLiteral(workSequenceTypeEEnum, WorkSequenceType.START_TO_FINISH); - addEEnumLiteral(workSequenceTypeEEnum, WorkSequenceType.FINISH_TO_FINISH); - - // Create resource - createResource(eNS_URI); - } - -} //SimplepdlPackageImpl diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/53/e02745d49b22001c10fba84a9f2208e9 b/.metadata/.plugins/org.eclipse.core.resources/.history/53/e02745d49b22001c10fba84a9f2208e9 deleted file mode 100644 index 97521a3..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/53/e02745d49b22001c10fba84a9f2208e9 +++ /dev/null @@ -1,310 +0,0 @@ -/** - */ -package simplepdl.impl; - -import java.util.Collection; - -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.common.notify.NotificationChain; - -import org.eclipse.emf.common.util.EList; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.InternalEObject; - -import org.eclipse.emf.ecore.impl.ENotificationImpl; - -import org.eclipse.emf.ecore.util.EObjectResolvingEList; -import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList; -import org.eclipse.emf.ecore.util.InternalEList; - -import simplepdl.Request; -import simplepdl.SimplepdlPackage; -import simplepdl.WorkDefinition; -import simplepdl.WorkSequence; - -/** - * - * An implementation of the model object 'Work Definition'. - * - *

- * The following features are implemented: - *

- *
    - *
  • {@link simplepdl.impl.WorkDefinitionImpl#getLinksToPredecessors Links To Predecessors}
  • - *
  • {@link simplepdl.impl.WorkDefinitionImpl#getLinksToSuccessors Links To Successors}
  • - *
  • {@link simplepdl.impl.WorkDefinitionImpl#getName Name}
  • - *
  • {@link simplepdl.impl.WorkDefinitionImpl#getRequests Requests}
  • - *
- * - * @generated - */ -public class WorkDefinitionImpl extends ProcessElementImpl implements WorkDefinition { - /** - * The cached value of the '{@link #getLinksToPredecessors() Links To Predecessors}' reference list. - * - * - * @see #getLinksToPredecessors() - * @generated - * @ordered - */ - protected EList linksToPredecessors; - - /** - * The cached value of the '{@link #getLinksToSuccessors() Links To Successors}' reference list. - * - * - * @see #getLinksToSuccessors() - * @generated - * @ordered - */ - protected EList linksToSuccessors; - - /** - * The default value of the '{@link #getName() Name}' attribute. - * - * - * @see #getName() - * @generated - * @ordered - */ - protected static final String NAME_EDEFAULT = null; - - /** - * The cached value of the '{@link #getName() Name}' attribute. - * - * - * @see #getName() - * @generated - * @ordered - */ - protected String name = NAME_EDEFAULT; - - /** - * The cached value of the '{@link #getRequests() Requests}' reference list. - * - * - * @see #getRequests() - * @generated - * @ordered - */ - protected EList requests; - - /** - * - * - * @generated - */ - protected WorkDefinitionImpl() { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() { - return SimplepdlPackage.Literals.WORK_DEFINITION; - } - - /** - * - * - * @generated - */ - public EList getLinksToPredecessors() { - if (linksToPredecessors == null) { - linksToPredecessors = new EObjectWithInverseResolvingEList(WorkSequence.class, this, SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS, SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR); - } - return linksToPredecessors; - } - - /** - * - * - * @generated - */ - public EList getLinksToSuccessors() { - if (linksToSuccessors == null) { - linksToSuccessors = new EObjectWithInverseResolvingEList(WorkSequence.class, this, SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS, SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR); - } - return linksToSuccessors; - } - - /** - * - * - * @generated - */ - public String getName() { - return name; - } - - /** - * - * - * @generated - */ - public void setName(String newName) { - String oldName = name; - name = newName; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SimplepdlPackage.WORK_DEFINITION__NAME, oldName, name)); - } - - /** - * - * - * @generated - */ - public EList getRequests() { - if (requests == null) { - requests = new EObjectResolvingEList(Request.class, this, SimplepdlPackage.WORK_DEFINITION__REQUESTS); - } - return requests; - } - - /** - * - * - * @generated - */ - @SuppressWarnings("unchecked") - @Override - public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { - switch (featureID) { - case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS: - return ((InternalEList)(InternalEList)getLinksToPredecessors()).basicAdd(otherEnd, msgs); - case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS: - return ((InternalEList)(InternalEList)getLinksToSuccessors()).basicAdd(otherEnd, msgs); - } - return super.eInverseAdd(otherEnd, featureID, msgs); - } - - /** - * - * - * @generated - */ - @Override - public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { - switch (featureID) { - case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS: - return ((InternalEList)getLinksToPredecessors()).basicRemove(otherEnd, msgs); - case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS: - return ((InternalEList)getLinksToSuccessors()).basicRemove(otherEnd, msgs); - } - return super.eInverseRemove(otherEnd, featureID, msgs); - } - - /** - * - * - * @generated - */ - @Override - public Object eGet(int featureID, boolean resolve, boolean coreType) { - switch (featureID) { - case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS: - return getLinksToPredecessors(); - case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS: - return getLinksToSuccessors(); - case SimplepdlPackage.WORK_DEFINITION__NAME: - return getName(); - case SimplepdlPackage.WORK_DEFINITION__REQUESTS: - return getRequests(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - @SuppressWarnings("unchecked") - @Override - public void eSet(int featureID, Object newValue) { - switch (featureID) { - case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS: - getLinksToPredecessors().clear(); - getLinksToPredecessors().addAll((Collection)newValue); - return; - case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS: - getLinksToSuccessors().clear(); - getLinksToSuccessors().addAll((Collection)newValue); - return; - case SimplepdlPackage.WORK_DEFINITION__NAME: - setName((String)newValue); - return; - case SimplepdlPackage.WORK_DEFINITION__REQUESTS: - getRequests().clear(); - getRequests().addAll((Collection)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - @Override - public void eUnset(int featureID) { - switch (featureID) { - case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS: - getLinksToPredecessors().clear(); - return; - case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS: - getLinksToSuccessors().clear(); - return; - case SimplepdlPackage.WORK_DEFINITION__NAME: - setName(NAME_EDEFAULT); - return; - case SimplepdlPackage.WORK_DEFINITION__REQUESTS: - getRequests().clear(); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - @Override - public boolean eIsSet(int featureID) { - switch (featureID) { - case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS: - return linksToPredecessors != null && !linksToPredecessors.isEmpty(); - case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS: - return linksToSuccessors != null && !linksToSuccessors.isEmpty(); - case SimplepdlPackage.WORK_DEFINITION__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); - case SimplepdlPackage.WORK_DEFINITION__REQUESTS: - return requests != null && !requests.isEmpty(); - } - return super.eIsSet(featureID); - } - - /** - * - * - * @generated - */ - @Override - public String toString() { - if (eIsProxy()) return super.toString(); - - StringBuilder result = new StringBuilder(super.toString()); - result.append(" (name: "); - result.append(name); - result.append(')'); - return result.toString(); - } - -} //WorkDefinitionImpl diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/53/e04b0c339822001c17faa9b6b0561c0f b/.metadata/.plugins/org.eclipse.core.resources/.history/53/e04b0c339822001c17faa9b6b0561c0f deleted file mode 100644 index e434be3..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/53/e04b0c339822001c17faa9b6b0561c0f +++ /dev/null @@ -1,489 +0,0 @@ -/** - */ -package simplepdl.impl; - -import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EEnum; -import org.eclipse.emf.ecore.EPackage; -import org.eclipse.emf.ecore.EReference; - -import org.eclipse.emf.ecore.impl.EPackageImpl; - -import simplepdl.Guidance; -import simplepdl.ProcessElement; -import simplepdl.Request; -import simplepdl.Resource; -import simplepdl.SimplepdlFactory; -import simplepdl.SimplepdlPackage; -import simplepdl.WorkDefinition; -import simplepdl.WorkSequence; -import simplepdl.WorkSequenceType; - -/** - * - * An implementation of the model Package. - * - * @generated - */ -public class SimplepdlPackageImpl extends EPackageImpl implements SimplepdlPackage { - /** - * - * - * @generated - */ - private EClass processElementEClass = null; - - /** - * - * - * @generated - */ - private EClass workDefinitionEClass = null; - - /** - * - * - * @generated - */ - private EClass workSequenceEClass = null; - - /** - * - * - * @generated - */ - private EClass guidanceEClass = null; - - /** - * - * - * @generated - */ - private EClass processEClass = null; - - /** - * - * - * @generated - */ - private EClass requestEClass = null; - - /** - * - * - * @generated - */ - private EClass resourceEClass = null; - - /** - * - * - * @generated - */ - private EEnum workSequenceTypeEEnum = null; - - /** - * Creates an instance of the model Package, registered with - * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package - * package URI value. - *

Note: the correct way to create the package is via the static - * factory method {@link #init init()}, which also performs - * initialization of the package, or returns the registered package, - * if one already exists. - * - * - * @see org.eclipse.emf.ecore.EPackage.Registry - * @see simplepdl.SimplepdlPackage#eNS_URI - * @see #init() - * @generated - */ - private SimplepdlPackageImpl() { - super(eNS_URI, SimplepdlFactory.eINSTANCE); - } - - /** - * - * - * @generated - */ - private static boolean isInited = false; - - /** - * Creates, registers, and initializes the Package for this model, and for any others upon which it depends. - * - *

This method is used to initialize {@link SimplepdlPackage#eINSTANCE} when that field is accessed. - * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. - * - * - * @see #eNS_URI - * @see #createPackageContents() - * @see #initializePackageContents() - * @generated - */ - public static SimplepdlPackage init() { - if (isInited) return (SimplepdlPackage)EPackage.Registry.INSTANCE.getEPackage(SimplepdlPackage.eNS_URI); - - // Obtain or create and register package - Object registeredSimplepdlPackage = EPackage.Registry.INSTANCE.get(eNS_URI); - SimplepdlPackageImpl theSimplepdlPackage = registeredSimplepdlPackage instanceof SimplepdlPackageImpl ? (SimplepdlPackageImpl)registeredSimplepdlPackage : new SimplepdlPackageImpl(); - - isInited = true; - - // Create package meta-data objects - theSimplepdlPackage.createPackageContents(); - - // Initialize created meta-data - theSimplepdlPackage.initializePackageContents(); - - // Mark meta-data to indicate it can't be changed - theSimplepdlPackage.freeze(); - - // Update the registry and return the package - EPackage.Registry.INSTANCE.put(SimplepdlPackage.eNS_URI, theSimplepdlPackage); - return theSimplepdlPackage; - } - - /** - * - * - * @generated - */ - public EClass getProcessElement() { - return processElementEClass; - } - - /** - * - * - * @generated - */ - public EClass getWorkDefinition() { - return workDefinitionEClass; - } - - /** - * - * - * @generated - */ - public EReference getWorkDefinition_LinksToPredecessors() { - return (EReference)workDefinitionEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - public EReference getWorkDefinition_LinksToSuccessors() { - return (EReference)workDefinitionEClass.getEStructuralFeatures().get(1); - } - - /** - * - * - * @generated - */ - public EAttribute getWorkDefinition_Name() { - return (EAttribute)workDefinitionEClass.getEStructuralFeatures().get(2); - } - - /** - * - * - * @generated - */ - public EReference getWorkDefinition_Requests() { - return (EReference)workDefinitionEClass.getEStructuralFeatures().get(3); - } - - /** - * - * - * @generated - */ - public EClass getWorkSequence() { - return workSequenceEClass; - } - - /** - * - * - * @generated - */ - public EAttribute getWorkSequence_LinkType() { - return (EAttribute)workSequenceEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - public EReference getWorkSequence_Predecessor() { - return (EReference)workSequenceEClass.getEStructuralFeatures().get(1); - } - - /** - * - * - * @generated - */ - public EReference getWorkSequence_Successor() { - return (EReference)workSequenceEClass.getEStructuralFeatures().get(2); - } - - /** - * - * - * @generated - */ - public EClass getGuidance() { - return guidanceEClass; - } - - /** - * - * - * @generated - */ - public EAttribute getGuidance_Text() { - return (EAttribute)guidanceEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - public EReference getGuidance_Elements() { - return (EReference)guidanceEClass.getEStructuralFeatures().get(1); - } - - /** - * - * - * @generated - */ - public EClass getProcess() { - return processEClass; - } - - /** - * - * - * @generated - */ - public EAttribute getProcess_Name() { - return (EAttribute)processEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - public EReference getProcess_ProcessElements() { - return (EReference)processEClass.getEStructuralFeatures().get(1); - } - - /** - * - * - * @generated - */ - public EClass getRequest() { - return requestEClass; - } - - /** - * - * - * @generated - */ - public EAttribute getRequest_Quantity() { - return (EAttribute)requestEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - public EReference getRequest_Target() { - return (EReference)requestEClass.getEStructuralFeatures().get(1); - } - - /** - * - * - * @generated - */ - public EClass getResource() { - return resourceEClass; - } - - /** - * - * - * @generated - */ - public EAttribute getResource_Quantity() { - return (EAttribute)resourceEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - public EAttribute getResource_Name() { - return (EAttribute)resourceEClass.getEStructuralFeatures().get(1); - } - - /** - * - * - * @generated - */ - public EEnum getWorkSequenceType() { - return workSequenceTypeEEnum; - } - - /** - * - * - * @generated - */ - public SimplepdlFactory getSimplepdlFactory() { - return (SimplepdlFactory)getEFactoryInstance(); - } - - /** - * - * - * @generated - */ - private boolean isCreated = false; - - /** - * Creates the meta-model objects for the package. This method is - * guarded to have no affect on any invocation but its first. - * - * - * @generated - */ - public void createPackageContents() { - if (isCreated) return; - isCreated = true; - - // Create classes and their features - processElementEClass = createEClass(PROCESS_ELEMENT); - - workDefinitionEClass = createEClass(WORK_DEFINITION); - createEReference(workDefinitionEClass, WORK_DEFINITION__LINKS_TO_PREDECESSORS); - createEReference(workDefinitionEClass, WORK_DEFINITION__LINKS_TO_SUCCESSORS); - createEAttribute(workDefinitionEClass, WORK_DEFINITION__NAME); - createEReference(workDefinitionEClass, WORK_DEFINITION__REQUESTS); - - workSequenceEClass = createEClass(WORK_SEQUENCE); - createEAttribute(workSequenceEClass, WORK_SEQUENCE__LINK_TYPE); - createEReference(workSequenceEClass, WORK_SEQUENCE__PREDECESSOR); - createEReference(workSequenceEClass, WORK_SEQUENCE__SUCCESSOR); - - guidanceEClass = createEClass(GUIDANCE); - createEAttribute(guidanceEClass, GUIDANCE__TEXT); - createEReference(guidanceEClass, GUIDANCE__ELEMENTS); - - processEClass = createEClass(PROCESS); - createEAttribute(processEClass, PROCESS__NAME); - createEReference(processEClass, PROCESS__PROCESS_ELEMENTS); - - requestEClass = createEClass(REQUEST); - createEAttribute(requestEClass, REQUEST__QUANTITY); - createEReference(requestEClass, REQUEST__TARGET); - - resourceEClass = createEClass(RESOURCE); - createEAttribute(resourceEClass, RESOURCE__QUANTITY); - createEAttribute(resourceEClass, RESOURCE__NAME); - - // Create enums - workSequenceTypeEEnum = createEEnum(WORK_SEQUENCE_TYPE); - } - - /** - * - * - * @generated - */ - private boolean isInitialized = false; - - /** - * Complete the initialization of the package and its meta-model. This - * method is guarded to have no affect on any invocation but its first. - * - * - * @generated - */ - public void initializePackageContents() { - if (isInitialized) return; - isInitialized = true; - - // Initialize package - setName(eNAME); - setNsPrefix(eNS_PREFIX); - setNsURI(eNS_URI); - - // Create type parameters - - // Set bounds for type parameters - - // Add supertypes to classes - workDefinitionEClass.getESuperTypes().add(this.getProcessElement()); - workSequenceEClass.getESuperTypes().add(this.getProcessElement()); - guidanceEClass.getESuperTypes().add(this.getProcessElement()); - resourceEClass.getESuperTypes().add(this.getProcessElement()); - - // Initialize classes, features, and operations; add parameters - initEClass(processElementEClass, ProcessElement.class, "ProcessElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - - initEClass(workDefinitionEClass, WorkDefinition.class, "WorkDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEReference(getWorkDefinition_LinksToPredecessors(), this.getWorkSequence(), this.getWorkSequence_Successor(), "linksToPredecessors", null, 0, -1, WorkDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getWorkDefinition_LinksToSuccessors(), this.getWorkSequence(), this.getWorkSequence_Predecessor(), "linksToSuccessors", null, 0, -1, WorkDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getWorkDefinition_Name(), ecorePackage.getEString(), "name", null, 1, 1, WorkDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getWorkDefinition_Requests(), this.getRequest(), null, "requests", null, 0, -1, WorkDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - initEClass(workSequenceEClass, WorkSequence.class, "WorkSequence", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEAttribute(getWorkSequence_LinkType(), this.getWorkSequenceType(), "linkType", null, 1, 1, WorkSequence.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getWorkSequence_Predecessor(), this.getWorkDefinition(), this.getWorkDefinition_LinksToSuccessors(), "predecessor", null, 1, 1, WorkSequence.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getWorkSequence_Successor(), this.getWorkDefinition(), this.getWorkDefinition_LinksToPredecessors(), "successor", null, 1, 1, WorkSequence.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - initEClass(guidanceEClass, Guidance.class, "Guidance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEAttribute(getGuidance_Text(), ecorePackage.getEString(), "text", null, 1, 1, Guidance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getGuidance_Elements(), this.getProcessElement(), null, "elements", null, 0, -1, Guidance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - initEClass(processEClass, simplepdl.Process.class, "Process", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEAttribute(getProcess_Name(), ecorePackage.getEString(), "name", null, 1, 1, simplepdl.Process.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getProcess_ProcessElements(), this.getProcessElement(), null, "processElements", null, 0, -1, simplepdl.Process.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - initEClass(requestEClass, Request.class, "Request", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEAttribute(getRequest_Quantity(), ecorePackage.getEInt(), "quantity", null, 1, 1, Request.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getRequest_Target(), this.getResource(), null, "target", null, 1, 1, Request.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - initEClass(resourceEClass, Resource.class, "Resource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEAttribute(getResource_Quantity(), ecorePackage.getEInt(), "quantity", null, 1, 1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getResource_Name(), ecorePackage.getEString(), "name", null, 1, 1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - // Initialize enums and add enum literals - initEEnum(workSequenceTypeEEnum, WorkSequenceType.class, "WorkSequenceType"); - addEEnumLiteral(workSequenceTypeEEnum, WorkSequenceType.START_TO_START); - addEEnumLiteral(workSequenceTypeEEnum, WorkSequenceType.FINISH_TO_START); - addEEnumLiteral(workSequenceTypeEEnum, WorkSequenceType.START_TO_FINISH); - addEEnumLiteral(workSequenceTypeEEnum, WorkSequenceType.FINISH_TO_FINISH); - - // Create resource - createResource(eNS_URI); - } - -} //SimplepdlPackageImpl diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/5f/f02b75389422001c17faa9b6b0561c0f b/.metadata/.plugins/org.eclipse.core.resources/.history/5f/f02b75389422001c17faa9b6b0561c0f deleted file mode 100644 index aaee8c6..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/5f/f02b75389422001c17faa9b6b0561c0f +++ /dev/null @@ -1,1542 +0,0 @@ - - - - SimplePDL.ecore - SimplePDL.genmodel - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bold - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bold - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bold - - - - - - - - - - - - - - - - bold - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - bold - - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/61/90736fb33b28001c1451a142d5f09209 b/.metadata/.plugins/org.eclipse.core.resources/.history/61/90736fb33b28001c1451a142d5f09209 new file mode 100644 index 0000000..c5fad44 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/61/90736fb33b28001c1451a142d5f09209 @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/63/d05388e53428001c13dca9fa1eba29d5 b/.metadata/.plugins/org.eclipse.core.resources/.history/63/d05388e53428001c13dca9fa1eba29d5 new file mode 100644 index 0000000..87a9243 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/63/d05388e53428001c13dca9fa1eba29d5 @@ -0,0 +1,48 @@ +import 'SimplePDL.ecore' + +package simplepdl + +context Process +inv warningSeverity: false +inv withMessage('Explicit message in process ' + self.name + ' (withMessage)'): false + +context Process +inv validName('Invalid name: ' + self.name): + self.name.matches('[A-Za-z_][A-Za-z0-9_]*') + +context ProcessElement +def: process(): Process = + Process.allInstances() + ->select(p | p.processElements->includes(self)) + ->asSequence()->first() + +context WorkSequence +inv successorAndPredecessorInSameProcess('Activities not in the same process : ' + + self.predecessor.name + ' in ' + self.predecessor.process().name+ ' and ' + + self.successor.name + ' in ' + self.successor.process().name + ): + self.process() = self.successor.process() + and self.process() = self.predecessor.process() + +context Process +inv uniqNames: self.processElements + ->select(pe | pe.oclIsKindOf(WorkDefinition)) + ->collect(pe | pe.oclAsType(WorkDefinition)) + ->forAll(w1, w2 | w1 = w2 or w1.name <> w2.name) + +context WorkSequence +inv notReflexive: self.predecessor <> self.successor + +context Process +inv nameMin2Char: self.processElements + ->select(pe | pe.oclIsKindOf(WorkDefinition)) + ->collect(pe | pe.oclAsType(WorkDefinition)) + ->forAll(w | w.name.matches('..+')) + +context Process +inv weirdName: self.processElements + ->select(pe | pe.oclIsKindOf(WorkDefinition)) + ->collect(pe | pe.oclAsType(WorkDefinition)) + ->forAll(w | not w.name.matches('([0-9]*|[a-zA-Z]*|_*)')) + +endpackage \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/64/108c00339822001c17faa9b6b0561c0f b/.metadata/.plugins/org.eclipse.core.resources/.history/64/108c00339822001c17faa9b6b0561c0f deleted file mode 100644 index f7efba5..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/64/108c00339822001c17faa9b6b0561c0f +++ /dev/null @@ -1,69 +0,0 @@ -/** - */ -package simplepdl; - -import org.eclipse.emf.ecore.EObject; - -/** - * - * A representation of the model object 'Request'. - * - * - *

- * The following features are supported: - *

- *
    - *
  • {@link simplepdl.Request#getQuantity Quantity}
  • - *
  • {@link simplepdl.Request#getTarget Target}
  • - *
- * - * @see simplepdl.SimplepdlPackage#getRequest() - * @model - * @generated - */ -public interface Request extends EObject { - /** - * Returns the value of the 'Quantity' attribute. - * - * - * @return the value of the 'Quantity' attribute. - * @see #setQuantity(int) - * @see simplepdl.SimplepdlPackage#getRequest_Quantity() - * @model required="true" - * @generated - */ - int getQuantity(); - - /** - * Sets the value of the '{@link simplepdl.Request#getQuantity Quantity}' attribute. - * - * - * @param value the new value of the 'Quantity' attribute. - * @see #getQuantity() - * @generated - */ - void setQuantity(int value); - - /** - * Returns the value of the 'Target' reference. - * - * - * @return the value of the 'Target' reference. - * @see #setTarget(Resource) - * @see simplepdl.SimplepdlPackage#getRequest_Target() - * @model required="true" - * @generated - */ - Resource getTarget(); - - /** - * Sets the value of the '{@link simplepdl.Request#getTarget Target}' reference. - * - * - * @param value the new value of the 'Target' reference. - * @see #getTarget() - * @generated - */ - void setTarget(Resource value); - -} // Request diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/66/c03902339822001c17faa9b6b0561c0f b/.metadata/.plugins/org.eclipse.core.resources/.history/66/c03902339822001c17faa9b6b0561c0f deleted file mode 100644 index e53df0d..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/66/c03902339822001c17faa9b6b0561c0f +++ /dev/null @@ -1,89 +0,0 @@ -/** - */ -package simplepdl; - -import org.eclipse.emf.common.util.EList; - -/** - * - * A representation of the model object 'Work Definition'. - * - * - *

- * The following features are supported: - *

- *
    - *
  • {@link simplepdl.WorkDefinition#getLinksToPredecessors Links To Predecessors}
  • - *
  • {@link simplepdl.WorkDefinition#getLinksToSuccessors Links To Successors}
  • - *
  • {@link simplepdl.WorkDefinition#getName Name}
  • - *
  • {@link simplepdl.WorkDefinition#getRequests Requests}
  • - *
- * - * @see simplepdl.SimplepdlPackage#getWorkDefinition() - * @model - * @generated - */ -public interface WorkDefinition extends ProcessElement { - /** - * Returns the value of the 'Links To Predecessors' reference list. - * The list contents are of type {@link simplepdl.WorkSequence}. - * It is bidirectional and its opposite is '{@link simplepdl.WorkSequence#getSuccessor Successor}'. - * - * - * @return the value of the 'Links To Predecessors' reference list. - * @see simplepdl.SimplepdlPackage#getWorkDefinition_LinksToPredecessors() - * @see simplepdl.WorkSequence#getSuccessor - * @model opposite="successor" - * @generated - */ - EList getLinksToPredecessors(); - - /** - * Returns the value of the 'Links To Successors' reference list. - * The list contents are of type {@link simplepdl.WorkSequence}. - * It is bidirectional and its opposite is '{@link simplepdl.WorkSequence#getPredecessor Predecessor}'. - * - * - * @return the value of the 'Links To Successors' reference list. - * @see simplepdl.SimplepdlPackage#getWorkDefinition_LinksToSuccessors() - * @see simplepdl.WorkSequence#getPredecessor - * @model opposite="predecessor" - * @generated - */ - EList getLinksToSuccessors(); - - /** - * Returns the value of the 'Name' attribute. - * - * - * @return the value of the 'Name' attribute. - * @see #setName(String) - * @see simplepdl.SimplepdlPackage#getWorkDefinition_Name() - * @model required="true" - * @generated - */ - String getName(); - - /** - * Sets the value of the '{@link simplepdl.WorkDefinition#getName Name}' attribute. - * - * - * @param value the new value of the 'Name' attribute. - * @see #getName() - * @generated - */ - void setName(String value); - - /** - * Returns the value of the 'Requests' reference list. - * The list contents are of type {@link simplepdl.Request}. - * - * - * @return the value of the 'Requests' reference list. - * @see simplepdl.SimplepdlPackage#getWorkDefinition_Requests() - * @model - * @generated - */ - EList getRequests(); - -} // WorkDefinition diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/69/50120ed49b22001c10fba84a9f2208e9 b/.metadata/.plugins/org.eclipse.core.resources/.history/69/50120ed49b22001c10fba84a9f2208e9 deleted file mode 100644 index e434be3..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/69/50120ed49b22001c10fba84a9f2208e9 +++ /dev/null @@ -1,489 +0,0 @@ -/** - */ -package simplepdl.impl; - -import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EEnum; -import org.eclipse.emf.ecore.EPackage; -import org.eclipse.emf.ecore.EReference; - -import org.eclipse.emf.ecore.impl.EPackageImpl; - -import simplepdl.Guidance; -import simplepdl.ProcessElement; -import simplepdl.Request; -import simplepdl.Resource; -import simplepdl.SimplepdlFactory; -import simplepdl.SimplepdlPackage; -import simplepdl.WorkDefinition; -import simplepdl.WorkSequence; -import simplepdl.WorkSequenceType; - -/** - * - * An implementation of the model Package. - * - * @generated - */ -public class SimplepdlPackageImpl extends EPackageImpl implements SimplepdlPackage { - /** - * - * - * @generated - */ - private EClass processElementEClass = null; - - /** - * - * - * @generated - */ - private EClass workDefinitionEClass = null; - - /** - * - * - * @generated - */ - private EClass workSequenceEClass = null; - - /** - * - * - * @generated - */ - private EClass guidanceEClass = null; - - /** - * - * - * @generated - */ - private EClass processEClass = null; - - /** - * - * - * @generated - */ - private EClass requestEClass = null; - - /** - * - * - * @generated - */ - private EClass resourceEClass = null; - - /** - * - * - * @generated - */ - private EEnum workSequenceTypeEEnum = null; - - /** - * Creates an instance of the model Package, registered with - * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package - * package URI value. - *

Note: the correct way to create the package is via the static - * factory method {@link #init init()}, which also performs - * initialization of the package, or returns the registered package, - * if one already exists. - * - * - * @see org.eclipse.emf.ecore.EPackage.Registry - * @see simplepdl.SimplepdlPackage#eNS_URI - * @see #init() - * @generated - */ - private SimplepdlPackageImpl() { - super(eNS_URI, SimplepdlFactory.eINSTANCE); - } - - /** - * - * - * @generated - */ - private static boolean isInited = false; - - /** - * Creates, registers, and initializes the Package for this model, and for any others upon which it depends. - * - *

This method is used to initialize {@link SimplepdlPackage#eINSTANCE} when that field is accessed. - * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. - * - * - * @see #eNS_URI - * @see #createPackageContents() - * @see #initializePackageContents() - * @generated - */ - public static SimplepdlPackage init() { - if (isInited) return (SimplepdlPackage)EPackage.Registry.INSTANCE.getEPackage(SimplepdlPackage.eNS_URI); - - // Obtain or create and register package - Object registeredSimplepdlPackage = EPackage.Registry.INSTANCE.get(eNS_URI); - SimplepdlPackageImpl theSimplepdlPackage = registeredSimplepdlPackage instanceof SimplepdlPackageImpl ? (SimplepdlPackageImpl)registeredSimplepdlPackage : new SimplepdlPackageImpl(); - - isInited = true; - - // Create package meta-data objects - theSimplepdlPackage.createPackageContents(); - - // Initialize created meta-data - theSimplepdlPackage.initializePackageContents(); - - // Mark meta-data to indicate it can't be changed - theSimplepdlPackage.freeze(); - - // Update the registry and return the package - EPackage.Registry.INSTANCE.put(SimplepdlPackage.eNS_URI, theSimplepdlPackage); - return theSimplepdlPackage; - } - - /** - * - * - * @generated - */ - public EClass getProcessElement() { - return processElementEClass; - } - - /** - * - * - * @generated - */ - public EClass getWorkDefinition() { - return workDefinitionEClass; - } - - /** - * - * - * @generated - */ - public EReference getWorkDefinition_LinksToPredecessors() { - return (EReference)workDefinitionEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - public EReference getWorkDefinition_LinksToSuccessors() { - return (EReference)workDefinitionEClass.getEStructuralFeatures().get(1); - } - - /** - * - * - * @generated - */ - public EAttribute getWorkDefinition_Name() { - return (EAttribute)workDefinitionEClass.getEStructuralFeatures().get(2); - } - - /** - * - * - * @generated - */ - public EReference getWorkDefinition_Requests() { - return (EReference)workDefinitionEClass.getEStructuralFeatures().get(3); - } - - /** - * - * - * @generated - */ - public EClass getWorkSequence() { - return workSequenceEClass; - } - - /** - * - * - * @generated - */ - public EAttribute getWorkSequence_LinkType() { - return (EAttribute)workSequenceEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - public EReference getWorkSequence_Predecessor() { - return (EReference)workSequenceEClass.getEStructuralFeatures().get(1); - } - - /** - * - * - * @generated - */ - public EReference getWorkSequence_Successor() { - return (EReference)workSequenceEClass.getEStructuralFeatures().get(2); - } - - /** - * - * - * @generated - */ - public EClass getGuidance() { - return guidanceEClass; - } - - /** - * - * - * @generated - */ - public EAttribute getGuidance_Text() { - return (EAttribute)guidanceEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - public EReference getGuidance_Elements() { - return (EReference)guidanceEClass.getEStructuralFeatures().get(1); - } - - /** - * - * - * @generated - */ - public EClass getProcess() { - return processEClass; - } - - /** - * - * - * @generated - */ - public EAttribute getProcess_Name() { - return (EAttribute)processEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - public EReference getProcess_ProcessElements() { - return (EReference)processEClass.getEStructuralFeatures().get(1); - } - - /** - * - * - * @generated - */ - public EClass getRequest() { - return requestEClass; - } - - /** - * - * - * @generated - */ - public EAttribute getRequest_Quantity() { - return (EAttribute)requestEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - public EReference getRequest_Target() { - return (EReference)requestEClass.getEStructuralFeatures().get(1); - } - - /** - * - * - * @generated - */ - public EClass getResource() { - return resourceEClass; - } - - /** - * - * - * @generated - */ - public EAttribute getResource_Quantity() { - return (EAttribute)resourceEClass.getEStructuralFeatures().get(0); - } - - /** - * - * - * @generated - */ - public EAttribute getResource_Name() { - return (EAttribute)resourceEClass.getEStructuralFeatures().get(1); - } - - /** - * - * - * @generated - */ - public EEnum getWorkSequenceType() { - return workSequenceTypeEEnum; - } - - /** - * - * - * @generated - */ - public SimplepdlFactory getSimplepdlFactory() { - return (SimplepdlFactory)getEFactoryInstance(); - } - - /** - * - * - * @generated - */ - private boolean isCreated = false; - - /** - * Creates the meta-model objects for the package. This method is - * guarded to have no affect on any invocation but its first. - * - * - * @generated - */ - public void createPackageContents() { - if (isCreated) return; - isCreated = true; - - // Create classes and their features - processElementEClass = createEClass(PROCESS_ELEMENT); - - workDefinitionEClass = createEClass(WORK_DEFINITION); - createEReference(workDefinitionEClass, WORK_DEFINITION__LINKS_TO_PREDECESSORS); - createEReference(workDefinitionEClass, WORK_DEFINITION__LINKS_TO_SUCCESSORS); - createEAttribute(workDefinitionEClass, WORK_DEFINITION__NAME); - createEReference(workDefinitionEClass, WORK_DEFINITION__REQUESTS); - - workSequenceEClass = createEClass(WORK_SEQUENCE); - createEAttribute(workSequenceEClass, WORK_SEQUENCE__LINK_TYPE); - createEReference(workSequenceEClass, WORK_SEQUENCE__PREDECESSOR); - createEReference(workSequenceEClass, WORK_SEQUENCE__SUCCESSOR); - - guidanceEClass = createEClass(GUIDANCE); - createEAttribute(guidanceEClass, GUIDANCE__TEXT); - createEReference(guidanceEClass, GUIDANCE__ELEMENTS); - - processEClass = createEClass(PROCESS); - createEAttribute(processEClass, PROCESS__NAME); - createEReference(processEClass, PROCESS__PROCESS_ELEMENTS); - - requestEClass = createEClass(REQUEST); - createEAttribute(requestEClass, REQUEST__QUANTITY); - createEReference(requestEClass, REQUEST__TARGET); - - resourceEClass = createEClass(RESOURCE); - createEAttribute(resourceEClass, RESOURCE__QUANTITY); - createEAttribute(resourceEClass, RESOURCE__NAME); - - // Create enums - workSequenceTypeEEnum = createEEnum(WORK_SEQUENCE_TYPE); - } - - /** - * - * - * @generated - */ - private boolean isInitialized = false; - - /** - * Complete the initialization of the package and its meta-model. This - * method is guarded to have no affect on any invocation but its first. - * - * - * @generated - */ - public void initializePackageContents() { - if (isInitialized) return; - isInitialized = true; - - // Initialize package - setName(eNAME); - setNsPrefix(eNS_PREFIX); - setNsURI(eNS_URI); - - // Create type parameters - - // Set bounds for type parameters - - // Add supertypes to classes - workDefinitionEClass.getESuperTypes().add(this.getProcessElement()); - workSequenceEClass.getESuperTypes().add(this.getProcessElement()); - guidanceEClass.getESuperTypes().add(this.getProcessElement()); - resourceEClass.getESuperTypes().add(this.getProcessElement()); - - // Initialize classes, features, and operations; add parameters - initEClass(processElementEClass, ProcessElement.class, "ProcessElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - - initEClass(workDefinitionEClass, WorkDefinition.class, "WorkDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEReference(getWorkDefinition_LinksToPredecessors(), this.getWorkSequence(), this.getWorkSequence_Successor(), "linksToPredecessors", null, 0, -1, WorkDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getWorkDefinition_LinksToSuccessors(), this.getWorkSequence(), this.getWorkSequence_Predecessor(), "linksToSuccessors", null, 0, -1, WorkDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getWorkDefinition_Name(), ecorePackage.getEString(), "name", null, 1, 1, WorkDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getWorkDefinition_Requests(), this.getRequest(), null, "requests", null, 0, -1, WorkDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - initEClass(workSequenceEClass, WorkSequence.class, "WorkSequence", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEAttribute(getWorkSequence_LinkType(), this.getWorkSequenceType(), "linkType", null, 1, 1, WorkSequence.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getWorkSequence_Predecessor(), this.getWorkDefinition(), this.getWorkDefinition_LinksToSuccessors(), "predecessor", null, 1, 1, WorkSequence.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getWorkSequence_Successor(), this.getWorkDefinition(), this.getWorkDefinition_LinksToPredecessors(), "successor", null, 1, 1, WorkSequence.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - initEClass(guidanceEClass, Guidance.class, "Guidance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEAttribute(getGuidance_Text(), ecorePackage.getEString(), "text", null, 1, 1, Guidance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getGuidance_Elements(), this.getProcessElement(), null, "elements", null, 0, -1, Guidance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - initEClass(processEClass, simplepdl.Process.class, "Process", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEAttribute(getProcess_Name(), ecorePackage.getEString(), "name", null, 1, 1, simplepdl.Process.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getProcess_ProcessElements(), this.getProcessElement(), null, "processElements", null, 0, -1, simplepdl.Process.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - initEClass(requestEClass, Request.class, "Request", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEAttribute(getRequest_Quantity(), ecorePackage.getEInt(), "quantity", null, 1, 1, Request.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEReference(getRequest_Target(), this.getResource(), null, "target", null, 1, 1, Request.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - initEClass(resourceEClass, Resource.class, "Resource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); - initEAttribute(getResource_Quantity(), ecorePackage.getEInt(), "quantity", null, 1, 1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - initEAttribute(getResource_Name(), ecorePackage.getEString(), "name", null, 1, 1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); - - // Initialize enums and add enum literals - initEEnum(workSequenceTypeEEnum, WorkSequenceType.class, "WorkSequenceType"); - addEEnumLiteral(workSequenceTypeEEnum, WorkSequenceType.START_TO_START); - addEEnumLiteral(workSequenceTypeEEnum, WorkSequenceType.FINISH_TO_START); - addEEnumLiteral(workSequenceTypeEEnum, WorkSequenceType.START_TO_FINISH); - addEEnumLiteral(workSequenceTypeEEnum, WorkSequenceType.FINISH_TO_FINISH); - - // Create resource - createResource(eNS_URI); - } - -} //SimplepdlPackageImpl diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/7/309232f79922001c1dcfb9656cd69315 b/.metadata/.plugins/org.eclipse.core.resources/.history/7/309232f79922001c1dcfb9656cd69315 deleted file mode 100644 index dcf0d50..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/7/309232f79922001c1dcfb9656cd69315 +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/74/f0d15bee3728001c1310d5f213a964e6 b/.metadata/.plugins/org.eclipse.core.resources/.history/74/f0d15bee3728001c1310d5f213a964e6 new file mode 100644 index 0000000..530148c --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/74/f0d15bee3728001c1310d5f213a964e6 @@ -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 SimplePDLCreator { + + 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 (ntm fdp)"); + + 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/.metadata/.plugins/org.eclipse.core.resources/.history/a5/b02913339822001c17faa9b6b0561c0f b/.metadata/.plugins/org.eclipse.core.resources/.history/7a/a07a42813828001c1310d5f213a964e6 similarity index 100% rename from .metadata/.plugins/org.eclipse.core.resources/.history/a5/b02913339822001c17faa9b6b0561c0f rename to .metadata/.plugins/org.eclipse.core.resources/.history/7a/a07a42813828001c1310d5f213a964e6 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/7c/e039bf7e3228001c13dca9fa1eba29d5 b/.metadata/.plugins/org.eclipse.core.resources/.history/7c/e039bf7e3228001c13dca9fa1eba29d5 new file mode 100644 index 0000000..381a3d8 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/7c/e039bf7e3228001c13dca9fa1eba29d5 @@ -0,0 +1,49 @@ +import 'SimplePDL.ecore' + +package simplepdl + +context Process +inv warningSeverity: false +inv withMessage('Explicit message in process ' + self.name + ' (withMessage)'): false +--inv errorSeverity: null + +context Process +inv validName('Invalid name: ' + self.name): + self.name.matches('[A-Za-z_][A-Za-z0-9_]*') + +context ProcessElement +def: process(): Process = + Process.allInstances() + ->select(p | p.processElements->includes(self)) + ->asSequence()->first() + +context WorkSequence +inv successorAndPredecessorInSameProcess('Activities not in the same process : ' + + self.predecessor.name + ' in ' + self.predecessor.process().name+ ' and ' + + self.successor.name + ' in ' + self.successor.process().name + ): + self.process() = self.successor.process() + and self.process() = self.predecessor.process() + +context Process +inv uniqNames: self.processElements + ->select(pe | pe.oclIsKindOf(WorkDefinition)) + ->collect(pe | pe.oclAsType(WorkDefinition)) + ->forAll(w1, w2 | w1 = w2 or w1.name <> w2.name) + +context WorkSequence +inv notReflexive: self.predecessor <> self.successor + +context Process +inv nameMin2Char: self.processElements + ->select(pe | pe.oclIsKindOf(WorkDefinition)) + ->collect(pe | pe.oclAsType(WorkDefinition)) + ->forAll(w | w.name.matches('..+')) + +context Process +inv weirdName: self.processElements + ->select(pe | pe.oclIsKindOf(WorkDefinition)) + ->collect(pe | pe.oclAsType(WorkDefinition)) + ->forAll(w | not w.name.matches('([0-9]*|[a-zA-Z]*|_*)')) + +endpackage \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/7f/b069ee4f9c22001c10c68e4a8bb21dd1 b/.metadata/.plugins/org.eclipse.core.resources/.history/7f/b069ee4f9c22001c10c68e4a8bb21dd1 deleted file mode 100644 index 680995f..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/7f/b069ee4f9c22001c10c68e4a8bb21dd1 +++ /dev/null @@ -1,185 +0,0 @@ -/** - */ -package simplepdl.provider; - - -import java.util.Collection; -import java.util.List; - -import org.eclipse.emf.common.notify.AdapterFactory; -import org.eclipse.emf.common.notify.Notification; - -import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; -import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; -import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; -import org.eclipse.emf.edit.provider.ViewerNotification; - -import simplepdl.SimplepdlPackage; -import simplepdl.WorkSequence; -import simplepdl.WorkSequenceType; - -/** - * This is the item provider adapter for a {@link simplepdl.WorkSequence} object. - * - * - * @generated - */ -public class WorkSequenceItemProvider extends ProcessElementItemProvider { - /** - * This constructs an instance from a factory and a notifier. - * - * - * @generated - */ - public WorkSequenceItemProvider(AdapterFactory adapterFactory) { - super(adapterFactory); - } - - /** - * This returns the property descriptors for the adapted class. - * - * - * @generated - */ - @Override - public List getPropertyDescriptors(Object object) { - if (itemPropertyDescriptors == null) { - super.getPropertyDescriptors(object); - - addLinkTypePropertyDescriptor(object); - addPredecessorPropertyDescriptor(object); - addSuccessorPropertyDescriptor(object); - } - return itemPropertyDescriptors; - } - - /** - * This adds a property descriptor for the Link Type feature. - * - * - * @generated - */ - protected void addLinkTypePropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_WorkSequence_linkType_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_WorkSequence_linkType_feature", "_UI_WorkSequence_type"), - SimplepdlPackage.Literals.WORK_SEQUENCE__LINK_TYPE, - true, - false, - false, - ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, - null, - null)); - } - - /** - * This adds a property descriptor for the Predecessor feature. - * - * - * @generated - */ - protected void addPredecessorPropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_WorkSequence_predecessor_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_WorkSequence_predecessor_feature", "_UI_WorkSequence_type"), - SimplepdlPackage.Literals.WORK_SEQUENCE__PREDECESSOR, - true, - false, - true, - null, - null, - null)); - } - - /** - * This adds a property descriptor for the Successor feature. - * - * - * @generated - */ - protected void addSuccessorPropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_WorkSequence_successor_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_WorkSequence_successor_feature", "_UI_WorkSequence_type"), - SimplepdlPackage.Literals.WORK_SEQUENCE__SUCCESSOR, - true, - false, - true, - null, - null, - null)); - } - - /** - * This returns WorkSequence.gif. - * - * - * @generated - */ - @Override - public Object getImage(Object object) { - return overlayImage(object, getResourceLocator().getImage("full/obj16/WorkSequence")); - } - - /** - * This returns the label text for the adapted class. - * - * - * @generated - */ - @Override - public String getText(Object object) { - WorkSequence ws = (WorkSequence) object; - WorkSequenceType labelValue = ws.getLinkType(); - String label = "--" + (labelValue == null ? "?" : labelValue.toString()) + "-->"; - String previous = ws.getPredecessor() == null ? "?" : ws.getPredecessor().getName(); - String next = ws.getSuccessor() == null ? "?" : ws.getSuccessor().getName(); - return label == null || label.length() == 0 ? - getString("_UI_WorkSequence_type") : - getString("_UI_WorkSequence_type") + " " + previous + " " + label + " " + next; - } - - - /** - * This handles model notifications by calling {@link #updateChildren} to update any cached - * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. - * - * - * @generated - */ - @Override - public void notifyChanged(Notification notification) { - updateChildren(notification); - - switch (notification.getFeatureID(WorkSequence.class)) { - case SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR: - case SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR: - case SimplepdlPackage.WORK_SEQUENCE__LINK_TYPE: - fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); - return; - } - super.notifyChanged(notification); - } - - /** - * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children - * that can be created under this object. - * - * - * @generated - */ - @Override - protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { - super.collectNewChildDescriptors(newChildDescriptors, object); - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/8/005f34d49b22001c10fba84a9f2208e9 b/.metadata/.plugins/org.eclipse.core.resources/.history/8/005f34d49b22001c10fba84a9f2208e9 deleted file mode 100644 index e53df0d..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/8/005f34d49b22001c10fba84a9f2208e9 +++ /dev/null @@ -1,89 +0,0 @@ -/** - */ -package simplepdl; - -import org.eclipse.emf.common.util.EList; - -/** - * - * A representation of the model object 'Work Definition'. - * - * - *

- * The following features are supported: - *

- *
    - *
  • {@link simplepdl.WorkDefinition#getLinksToPredecessors Links To Predecessors}
  • - *
  • {@link simplepdl.WorkDefinition#getLinksToSuccessors Links To Successors}
  • - *
  • {@link simplepdl.WorkDefinition#getName Name}
  • - *
  • {@link simplepdl.WorkDefinition#getRequests Requests}
  • - *
- * - * @see simplepdl.SimplepdlPackage#getWorkDefinition() - * @model - * @generated - */ -public interface WorkDefinition extends ProcessElement { - /** - * Returns the value of the 'Links To Predecessors' reference list. - * The list contents are of type {@link simplepdl.WorkSequence}. - * It is bidirectional and its opposite is '{@link simplepdl.WorkSequence#getSuccessor Successor}'. - * - * - * @return the value of the 'Links To Predecessors' reference list. - * @see simplepdl.SimplepdlPackage#getWorkDefinition_LinksToPredecessors() - * @see simplepdl.WorkSequence#getSuccessor - * @model opposite="successor" - * @generated - */ - EList getLinksToPredecessors(); - - /** - * Returns the value of the 'Links To Successors' reference list. - * The list contents are of type {@link simplepdl.WorkSequence}. - * It is bidirectional and its opposite is '{@link simplepdl.WorkSequence#getPredecessor Predecessor}'. - * - * - * @return the value of the 'Links To Successors' reference list. - * @see simplepdl.SimplepdlPackage#getWorkDefinition_LinksToSuccessors() - * @see simplepdl.WorkSequence#getPredecessor - * @model opposite="predecessor" - * @generated - */ - EList getLinksToSuccessors(); - - /** - * Returns the value of the 'Name' attribute. - * - * - * @return the value of the 'Name' attribute. - * @see #setName(String) - * @see simplepdl.SimplepdlPackage#getWorkDefinition_Name() - * @model required="true" - * @generated - */ - String getName(); - - /** - * Sets the value of the '{@link simplepdl.WorkDefinition#getName Name}' attribute. - * - * - * @param value the new value of the 'Name' attribute. - * @see #getName() - * @generated - */ - void setName(String value); - - /** - * Returns the value of the 'Requests' reference list. - * The list contents are of type {@link simplepdl.Request}. - * - * - * @return the value of the 'Requests' reference list. - * @see simplepdl.SimplepdlPackage#getWorkDefinition_Requests() - * @model - * @generated - */ - EList getRequests(); - -} // WorkDefinition diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/8/607ceef19622001c17faa9b6b0561c0f b/.metadata/.plugins/org.eclipse.core.resources/.history/8/607ceef19622001c17faa9b6b0561c0f deleted file mode 100644 index 6139856..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/8/607ceef19622001c17faa9b6b0561c0f +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/90/e0e3bbbd9d22001c118def180044d1da b/.metadata/.plugins/org.eclipse.core.resources/.history/84/d03cfc073d28001c1804aa3181391e8a similarity index 65% rename from .metadata/.plugins/org.eclipse.core.resources/.history/90/e0e3bbbd9d22001c118def180044d1da rename to .metadata/.plugins/org.eclipse.core.resources/.history/84/d03cfc073d28001c1804aa3181391e8a index 64711a0..63d0b45 100644 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/90/e0e3bbbd9d22001c118def180044d1da +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/84/d03cfc073d28001c1804aa3181391e8a @@ -1,6 +1,6 @@ /** */ -package simplepdl.provider; +package petrinet.provider; import java.util.Collection; @@ -22,16 +22,16 @@ import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; import org.eclipse.emf.edit.provider.ItemProviderAdapter; import org.eclipse.emf.edit.provider.ViewerNotification; -import simplepdl.Request; -import simplepdl.SimplepdlPackage; +import petrinet.Arc; +import petrinet.PetrinetPackage; /** - * This is the item provider adapter for a {@link simplepdl.Request} object. + * This is the item provider adapter for a {@link petrinet.Arc} object. * * * @generated */ -public class RequestItemProvider +public class ArcItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider, @@ -45,7 +45,7 @@ public class RequestItemProvider * * @generated */ - public RequestItemProvider(AdapterFactory adapterFactory) { + public ArcItemProvider(AdapterFactory adapterFactory) { super(adapterFactory); } @@ -60,26 +60,27 @@ public class RequestItemProvider if (itemPropertyDescriptors == null) { super.getPropertyDescriptors(object); - addQuantityPropertyDescriptor(object); - addTargetPropertyDescriptor(object); + addPoidsPropertyDescriptor(object); + addSortantPropertyDescriptor(object); + addCiblePropertyDescriptor(object); } return itemPropertyDescriptors; } /** - * This adds a property descriptor for the Quantity feature. + * This adds a property descriptor for the Poids feature. * * * @generated */ - protected void addQuantityPropertyDescriptor(Object object) { + protected void addPoidsPropertyDescriptor(Object object) { itemPropertyDescriptors.add (createItemPropertyDescriptor (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(), - getString("_UI_Request_quantity_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_Request_quantity_feature", "_UI_Request_type"), - SimplepdlPackage.Literals.REQUEST__QUANTITY, + getString("_UI_Arc_poids_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_Arc_poids_feature", "_UI_Arc_type"), + PetrinetPackage.Literals.ARC__POIDS, true, false, false, @@ -89,19 +90,41 @@ public class RequestItemProvider } /** - * This adds a property descriptor for the Target feature. + * This adds a property descriptor for the Sortant feature. * * * @generated */ - protected void addTargetPropertyDescriptor(Object object) { + protected void addSortantPropertyDescriptor(Object object) { itemPropertyDescriptors.add (createItemPropertyDescriptor (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(), - getString("_UI_Request_target_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_Request_target_feature", "_UI_Request_type"), - SimplepdlPackage.Literals.REQUEST__TARGET, + getString("_UI_Arc_sortant_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_Arc_sortant_feature", "_UI_Arc_type"), + PetrinetPackage.Literals.ARC__SORTANT, + true, + false, + false, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, + null, + null)); + } + + /** + * This adds a property descriptor for the Cible feature. + * + * + * @generated + */ + protected void addCiblePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Arc_cible_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_Arc_cible_feature", "_UI_Arc_type"), + PetrinetPackage.Literals.ARC__CIBLE, true, false, true, @@ -111,14 +134,14 @@ public class RequestItemProvider } /** - * This returns Request.gif. + * This returns Arc.gif. * * * @generated */ @Override public Object getImage(Object object) { - return overlayImage(object, getResourceLocator().getImage("full/obj16/Request")); + return overlayImage(object, getResourceLocator().getImage("full/obj16/Arc")); } /** @@ -129,8 +152,12 @@ public class RequestItemProvider */ @Override public String getText(Object object) { - Request request = (Request)object; - return getString("_UI_Request_type") + " - " + request.getQuantity() + "-> " + request.getTarget().getName(); + boolean sortant = ((Arc)object).isSortant(); + int poids = ((Arc)object).getPoids(); + String cible = ((Arc)object).getCible().getName(); + return sortant ? + "--" + poids + "-->" + cible : + "<--" + poids + "--" + cible; } @@ -145,8 +172,9 @@ public class RequestItemProvider public void notifyChanged(Notification notification) { updateChildren(notification); - switch (notification.getFeatureID(Request.class)) { - case SimplepdlPackage.REQUEST__QUANTITY: + switch (notification.getFeatureID(Arc.class)) { + case PetrinetPackage.ARC__POIDS: + case PetrinetPackage.ARC__SORTANT: fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); return; } @@ -173,7 +201,7 @@ public class RequestItemProvider */ @Override public ResourceLocator getResourceLocator() { - return SimplePDLEditPlugin.INSTANCE; + return PetriNetEditPlugin.INSTANCE; } } diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/86/f0ae02339822001c17faa9b6b0561c0f b/.metadata/.plugins/org.eclipse.core.resources/.history/86/f0ae02339822001c17faa9b6b0561c0f deleted file mode 100644 index 51755aa..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/86/f0ae02339822001c17faa9b6b0561c0f +++ /dev/null @@ -1,98 +0,0 @@ -/** - */ -package simplepdl; - - -/** - * - * A representation of the model object 'Work Sequence'. - * - * - *

- * The following features are supported: - *

- *
    - *
  • {@link simplepdl.WorkSequence#getLinkType Link Type}
  • - *
  • {@link simplepdl.WorkSequence#getPredecessor Predecessor}
  • - *
  • {@link simplepdl.WorkSequence#getSuccessor Successor}
  • - *
- * - * @see simplepdl.SimplepdlPackage#getWorkSequence() - * @model - * @generated - */ -public interface WorkSequence extends ProcessElement { - /** - * Returns the value of the 'Link Type' attribute. - * The literals are from the enumeration {@link simplepdl.WorkSequenceType}. - * - * - * @return the value of the 'Link Type' attribute. - * @see simplepdl.WorkSequenceType - * @see #setLinkType(WorkSequenceType) - * @see simplepdl.SimplepdlPackage#getWorkSequence_LinkType() - * @model required="true" - * @generated - */ - WorkSequenceType getLinkType(); - - /** - * Sets the value of the '{@link simplepdl.WorkSequence#getLinkType Link Type}' attribute. - * - * - * @param value the new value of the 'Link Type' attribute. - * @see simplepdl.WorkSequenceType - * @see #getLinkType() - * @generated - */ - void setLinkType(WorkSequenceType value); - - /** - * Returns the value of the 'Predecessor' reference. - * It is bidirectional and its opposite is '{@link simplepdl.WorkDefinition#getLinksToSuccessors Links To Successors}'. - * - * - * @return the value of the 'Predecessor' reference. - * @see #setPredecessor(WorkDefinition) - * @see simplepdl.SimplepdlPackage#getWorkSequence_Predecessor() - * @see simplepdl.WorkDefinition#getLinksToSuccessors - * @model opposite="linksToSuccessors" required="true" - * @generated - */ - WorkDefinition getPredecessor(); - - /** - * Sets the value of the '{@link simplepdl.WorkSequence#getPredecessor Predecessor}' reference. - * - * - * @param value the new value of the 'Predecessor' reference. - * @see #getPredecessor() - * @generated - */ - void setPredecessor(WorkDefinition value); - - /** - * Returns the value of the 'Successor' reference. - * It is bidirectional and its opposite is '{@link simplepdl.WorkDefinition#getLinksToPredecessors Links To Predecessors}'. - * - * - * @return the value of the 'Successor' reference. - * @see #setSuccessor(WorkDefinition) - * @see simplepdl.SimplepdlPackage#getWorkSequence_Successor() - * @see simplepdl.WorkDefinition#getLinksToPredecessors - * @model opposite="linksToPredecessors" required="true" - * @generated - */ - WorkDefinition getSuccessor(); - - /** - * Sets the value of the '{@link simplepdl.WorkSequence#getSuccessor Successor}' reference. - * - * - * @param value the new value of the 'Successor' reference. - * @see #getSuccessor() - * @generated - */ - void setSuccessor(WorkDefinition value); - -} // WorkSequence diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/89/a09faa009b22001c10fba84a9f2208e9 b/.metadata/.plugins/org.eclipse.core.resources/.history/89/a09faa009b22001c10fba84a9f2208e9 deleted file mode 100644 index b932dcf..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/89/a09faa009b22001c10fba84a9f2208e9 +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/8d/30cf1d2b9822001c17faa9b6b0561c0f b/.metadata/.plugins/org.eclipse.core.resources/.history/8d/30cf1d2b9822001c17faa9b6b0561c0f deleted file mode 100644 index 6008938..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/8d/30cf1d2b9822001c17faa9b6b0561c0f +++ /dev/null @@ -1,196 +0,0 @@ -/** - */ -package simplepdl.impl; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EDataType; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.emf.ecore.EPackage; - -import org.eclipse.emf.ecore.impl.EFactoryImpl; - -import org.eclipse.emf.ecore.plugin.EcorePlugin; - -import simplepdl.Guidance; -import simplepdl.ProcessElement; -import simplepdl.SimplepdlFactory; -import simplepdl.SimplepdlPackage; -import simplepdl.WorkDefinition; -import simplepdl.WorkSequence; -import simplepdl.WorkSequenceType; - -/** - * - * An implementation of the model Factory. - * - * @generated - */ -public class SimplepdlFactoryImpl extends EFactoryImpl implements SimplepdlFactory { - /** - * Creates the default factory implementation. - * - * - * @generated - */ - public static SimplepdlFactory init() { - try { - SimplepdlFactory theSimplepdlFactory = (SimplepdlFactory)EPackage.Registry.INSTANCE.getEFactory(SimplepdlPackage.eNS_URI); - if (theSimplepdlFactory != null) { - return theSimplepdlFactory; - } - } - catch (Exception exception) { - EcorePlugin.INSTANCE.log(exception); - } - return new SimplepdlFactoryImpl(); - } - - /** - * Creates an instance of the factory. - * - * - * @generated - */ - public SimplepdlFactoryImpl() { - super(); - } - - /** - * - * - * @generated - */ - @Override - public EObject create(EClass eClass) { - switch (eClass.getClassifierID()) { - case SimplepdlPackage.PROCESS_ELEMENT: return createProcessElement(); - case SimplepdlPackage.WORK_DEFINITION: return createWorkDefinition(); - case SimplepdlPackage.WORK_SEQUENCE: return createWorkSequence(); - case SimplepdlPackage.GUIDANCE: return createGuidance(); - case SimplepdlPackage.PROCESS: return createProcess(); - default: - throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); - } - } - - /** - * - * - * @generated - */ - @Override - public Object createFromString(EDataType eDataType, String initialValue) { - switch (eDataType.getClassifierID()) { - case SimplepdlPackage.WORK_SEQUENCE_TYPE: - return createWorkSequenceTypeFromString(eDataType, initialValue); - default: - throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); - } - } - - /** - * - * - * @generated - */ - @Override - public String convertToString(EDataType eDataType, Object instanceValue) { - switch (eDataType.getClassifierID()) { - case SimplepdlPackage.WORK_SEQUENCE_TYPE: - return convertWorkSequenceTypeToString(eDataType, instanceValue); - default: - throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); - } - } - - /** - * - * - * @generated - */ - public ProcessElement createProcessElement() { - ProcessElementImpl processElement = new ProcessElementImpl(); - return processElement; - } - - /** - * - * - * @generated - */ - public WorkDefinition createWorkDefinition() { - WorkDefinitionImpl workDefinition = new WorkDefinitionImpl(); - return workDefinition; - } - - /** - * - * - * @generated - */ - public WorkSequence createWorkSequence() { - WorkSequenceImpl workSequence = new WorkSequenceImpl(); - return workSequence; - } - - /** - * - * - * @generated - */ - public Guidance createGuidance() { - GuidanceImpl guidance = new GuidanceImpl(); - return guidance; - } - - /** - * - * - * @generated - */ - public simplepdl.Process createProcess() { - ProcessImpl process = new ProcessImpl(); - return process; - } - - /** - * - * - * @generated - */ - public WorkSequenceType createWorkSequenceTypeFromString(EDataType eDataType, String initialValue) { - WorkSequenceType result = WorkSequenceType.get(initialValue); - if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); - return result; - } - - /** - * - * - * @generated - */ - public String convertWorkSequenceTypeToString(EDataType eDataType, Object instanceValue) { - return instanceValue == null ? null : instanceValue.toString(); - } - - /** - * - * - * @generated - */ - public SimplepdlPackage getSimplepdlPackage() { - return (SimplepdlPackage)getEPackage(); - } - - /** - * - * - * @deprecated - * @generated - */ - @Deprecated - public static SimplepdlPackage getPackage() { - return SimplepdlPackage.eINSTANCE; - } - -} //SimplepdlFactoryImpl diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/8f/70acb8283228001c1e2bddb0f1b33239 b/.metadata/.plugins/org.eclipse.core.resources/.history/8f/70acb8283228001c1e2bddb0f1b33239 new file mode 100644 index 0000000..53f300f --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/8f/70acb8283228001c1e2bddb0f1b33239 @@ -0,0 +1,319 @@ + + + + developpement.simplepdl + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + bold + + + + + + + + + + + bold + + + + + + + + + + + bold + + + + + + + + + + + bold + + + + + + + + + + + bold + + + + + + + + KEEP_LOCATION + KEEP_SIZE + KEEP_RATIO + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/9/60b6a45c9622001c17faa9b6b0561c0f b/.metadata/.plugins/org.eclipse.core.resources/.history/9/60b6a45c9622001c17faa9b6b0561c0f deleted file mode 100644 index 86958efdc30371a317e56d254cbeba13a1e774cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 222102 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⪚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�tM1 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/98/400101339822001c17faa9b6b0561c0f b/.metadata/.plugins/org.eclipse.core.resources/.history/98/400101339822001c17faa9b6b0561c0f deleted file mode 100644 index 5947a8a..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/98/400101339822001c17faa9b6b0561c0f +++ /dev/null @@ -1,68 +0,0 @@ -/** - */ -package simplepdl; - - -/** - * - * A representation of the model object 'Resource'. - * - * - *

- * The following features are supported: - *

- *
    - *
  • {@link simplepdl.Resource#getQuantity Quantity}
  • - *
  • {@link simplepdl.Resource#getName Name}
  • - *
- * - * @see simplepdl.SimplepdlPackage#getResource() - * @model - * @generated - */ -public interface Resource extends ProcessElement { - /** - * Returns the value of the 'Quantity' attribute. - * - * - * @return the value of the 'Quantity' attribute. - * @see #setQuantity(int) - * @see simplepdl.SimplepdlPackage#getResource_Quantity() - * @model required="true" - * @generated - */ - int getQuantity(); - - /** - * Sets the value of the '{@link simplepdl.Resource#getQuantity Quantity}' attribute. - * - * - * @param value the new value of the 'Quantity' attribute. - * @see #getQuantity() - * @generated - */ - void setQuantity(int value); - - /** - * Returns the value of the 'Name' attribute. - * - * - * @return the value of the 'Name' attribute. - * @see #setName(String) - * @see simplepdl.SimplepdlPackage#getResource_Name() - * @model required="true" - * @generated - */ - String getName(); - - /** - * Sets the value of the '{@link simplepdl.Resource#getName Name}' attribute. - * - * - * @param value the new value of the 'Name' attribute. - * @see #getName() - * @generated - */ - void setName(String value); - -} // Resource diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/98/a0eb01339822001c17faa9b6b0561c0f b/.metadata/.plugins/org.eclipse.core.resources/.history/98/a0eb01339822001c17faa9b6b0561c0f deleted file mode 100644 index 3ad0196..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/98/a0eb01339822001c17faa9b6b0561c0f +++ /dev/null @@ -1,872 +0,0 @@ -/** - */ -package simplepdl; - -import org.eclipse.emf.ecore.EAttribute; -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EEnum; -import org.eclipse.emf.ecore.EPackage; -import org.eclipse.emf.ecore.EReference; - -/** - * - * The Package for the model. - * It contains accessors for the meta objects to represent - *
    - *
  • each class,
  • - *
  • each feature of each class,
  • - *
  • each operation of each class,
  • - *
  • each enum,
  • - *
  • and each data type
  • - *
- * - * @see simplepdl.SimplepdlFactory - * @model kind="package" - * @generated - */ -public interface SimplepdlPackage extends EPackage { - /** - * The package name. - * - * - * @generated - */ - String eNAME = "simplepdl"; - - /** - * The package namespace URI. - * - * - * @generated - */ - String eNS_URI = "http://simplepdl"; - - /** - * The package namespace name. - * - * - * @generated - */ - String eNS_PREFIX = "simplepdl"; - - /** - * The singleton instance of the package. - * - * - * @generated - */ - SimplepdlPackage eINSTANCE = simplepdl.impl.SimplepdlPackageImpl.init(); - - /** - * The meta object id for the '{@link simplepdl.impl.ProcessElementImpl Process Element}' class. - * - * - * @see simplepdl.impl.ProcessElementImpl - * @see simplepdl.impl.SimplepdlPackageImpl#getProcessElement() - * @generated - */ - int PROCESS_ELEMENT = 0; - - /** - * The number of structural features of the 'Process Element' class. - * - * - * @generated - * @ordered - */ - int PROCESS_ELEMENT_FEATURE_COUNT = 0; - - /** - * The number of operations of the 'Process Element' class. - * - * - * @generated - * @ordered - */ - int PROCESS_ELEMENT_OPERATION_COUNT = 0; - - /** - * The meta object id for the '{@link simplepdl.impl.WorkDefinitionImpl Work Definition}' class. - * - * - * @see simplepdl.impl.WorkDefinitionImpl - * @see simplepdl.impl.SimplepdlPackageImpl#getWorkDefinition() - * @generated - */ - int WORK_DEFINITION = 1; - - /** - * The feature id for the 'Links To Predecessors' reference list. - * - * - * @generated - * @ordered - */ - int WORK_DEFINITION__LINKS_TO_PREDECESSORS = PROCESS_ELEMENT_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Links To Successors' reference list. - * - * - * @generated - * @ordered - */ - int WORK_DEFINITION__LINKS_TO_SUCCESSORS = PROCESS_ELEMENT_FEATURE_COUNT + 1; - - /** - * The feature id for the 'Name' attribute. - * - * - * @generated - * @ordered - */ - int WORK_DEFINITION__NAME = PROCESS_ELEMENT_FEATURE_COUNT + 2; - - /** - * The feature id for the 'Requests' reference list. - * - * - * @generated - * @ordered - */ - int WORK_DEFINITION__REQUESTS = PROCESS_ELEMENT_FEATURE_COUNT + 3; - - /** - * The number of structural features of the 'Work Definition' class. - * - * - * @generated - * @ordered - */ - int WORK_DEFINITION_FEATURE_COUNT = PROCESS_ELEMENT_FEATURE_COUNT + 4; - - /** - * The number of operations of the 'Work Definition' class. - * - * - * @generated - * @ordered - */ - int WORK_DEFINITION_OPERATION_COUNT = PROCESS_ELEMENT_OPERATION_COUNT + 0; - - /** - * The meta object id for the '{@link simplepdl.impl.WorkSequenceImpl Work Sequence}' class. - * - * - * @see simplepdl.impl.WorkSequenceImpl - * @see simplepdl.impl.SimplepdlPackageImpl#getWorkSequence() - * @generated - */ - int WORK_SEQUENCE = 2; - - /** - * The feature id for the 'Link Type' attribute. - * - * - * @generated - * @ordered - */ - int WORK_SEQUENCE__LINK_TYPE = PROCESS_ELEMENT_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Predecessor' reference. - * - * - * @generated - * @ordered - */ - int WORK_SEQUENCE__PREDECESSOR = PROCESS_ELEMENT_FEATURE_COUNT + 1; - - /** - * The feature id for the 'Successor' reference. - * - * - * @generated - * @ordered - */ - int WORK_SEQUENCE__SUCCESSOR = PROCESS_ELEMENT_FEATURE_COUNT + 2; - - /** - * The number of structural features of the 'Work Sequence' class. - * - * - * @generated - * @ordered - */ - int WORK_SEQUENCE_FEATURE_COUNT = PROCESS_ELEMENT_FEATURE_COUNT + 3; - - /** - * The number of operations of the 'Work Sequence' class. - * - * - * @generated - * @ordered - */ - int WORK_SEQUENCE_OPERATION_COUNT = PROCESS_ELEMENT_OPERATION_COUNT + 0; - - /** - * The meta object id for the '{@link simplepdl.impl.GuidanceImpl Guidance}' class. - * - * - * @see simplepdl.impl.GuidanceImpl - * @see simplepdl.impl.SimplepdlPackageImpl#getGuidance() - * @generated - */ - int GUIDANCE = 3; - - /** - * The feature id for the 'Text' attribute. - * - * - * @generated - * @ordered - */ - int GUIDANCE__TEXT = PROCESS_ELEMENT_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Elements' reference list. - * - * - * @generated - * @ordered - */ - int GUIDANCE__ELEMENTS = PROCESS_ELEMENT_FEATURE_COUNT + 1; - - /** - * The number of structural features of the 'Guidance' class. - * - * - * @generated - * @ordered - */ - int GUIDANCE_FEATURE_COUNT = PROCESS_ELEMENT_FEATURE_COUNT + 2; - - /** - * The number of operations of the 'Guidance' class. - * - * - * @generated - * @ordered - */ - int GUIDANCE_OPERATION_COUNT = PROCESS_ELEMENT_OPERATION_COUNT + 0; - - /** - * The meta object id for the '{@link simplepdl.impl.ProcessImpl Process}' class. - * - * - * @see simplepdl.impl.ProcessImpl - * @see simplepdl.impl.SimplepdlPackageImpl#getProcess() - * @generated - */ - int PROCESS = 4; - - /** - * The feature id for the 'Name' attribute. - * - * - * @generated - * @ordered - */ - int PROCESS__NAME = 0; - - /** - * The feature id for the 'Process Elements' containment reference list. - * - * - * @generated - * @ordered - */ - int PROCESS__PROCESS_ELEMENTS = 1; - - /** - * The number of structural features of the 'Process' class. - * - * - * @generated - * @ordered - */ - int PROCESS_FEATURE_COUNT = 2; - - /** - * The number of operations of the 'Process' class. - * - * - * @generated - * @ordered - */ - int PROCESS_OPERATION_COUNT = 0; - - /** - * The meta object id for the '{@link simplepdl.impl.RequestImpl Request}' class. - * - * - * @see simplepdl.impl.RequestImpl - * @see simplepdl.impl.SimplepdlPackageImpl#getRequest() - * @generated - */ - int REQUEST = 5; - - /** - * The feature id for the 'Quantity' attribute. - * - * - * @generated - * @ordered - */ - int REQUEST__QUANTITY = 0; - - /** - * The feature id for the 'Target' reference. - * - * - * @generated - * @ordered - */ - int REQUEST__TARGET = 1; - - /** - * The number of structural features of the 'Request' class. - * - * - * @generated - * @ordered - */ - int REQUEST_FEATURE_COUNT = 2; - - /** - * The number of operations of the 'Request' class. - * - * - * @generated - * @ordered - */ - int REQUEST_OPERATION_COUNT = 0; - - /** - * The meta object id for the '{@link simplepdl.impl.ResourceImpl Resource}' class. - * - * - * @see simplepdl.impl.ResourceImpl - * @see simplepdl.impl.SimplepdlPackageImpl#getResource() - * @generated - */ - int RESOURCE = 6; - - /** - * The feature id for the 'Quantity' attribute. - * - * - * @generated - * @ordered - */ - int RESOURCE__QUANTITY = PROCESS_ELEMENT_FEATURE_COUNT + 0; - - /** - * The feature id for the 'Name' attribute. - * - * - * @generated - * @ordered - */ - int RESOURCE__NAME = PROCESS_ELEMENT_FEATURE_COUNT + 1; - - /** - * The number of structural features of the 'Resource' class. - * - * - * @generated - * @ordered - */ - int RESOURCE_FEATURE_COUNT = PROCESS_ELEMENT_FEATURE_COUNT + 2; - - /** - * The number of operations of the 'Resource' class. - * - * - * @generated - * @ordered - */ - int RESOURCE_OPERATION_COUNT = PROCESS_ELEMENT_OPERATION_COUNT + 0; - - /** - * The meta object id for the '{@link simplepdl.WorkSequenceType Work Sequence Type}' enum. - * - * - * @see simplepdl.WorkSequenceType - * @see simplepdl.impl.SimplepdlPackageImpl#getWorkSequenceType() - * @generated - */ - int WORK_SEQUENCE_TYPE = 7; - - - /** - * Returns the meta object for class '{@link simplepdl.ProcessElement Process Element}'. - * - * - * @return the meta object for class 'Process Element'. - * @see simplepdl.ProcessElement - * @generated - */ - EClass getProcessElement(); - - /** - * Returns the meta object for class '{@link simplepdl.WorkDefinition Work Definition}'. - * - * - * @return the meta object for class 'Work Definition'. - * @see simplepdl.WorkDefinition - * @generated - */ - EClass getWorkDefinition(); - - /** - * Returns the meta object for the reference list '{@link simplepdl.WorkDefinition#getLinksToPredecessors Links To Predecessors}'. - * - * - * @return the meta object for the reference list 'Links To Predecessors'. - * @see simplepdl.WorkDefinition#getLinksToPredecessors() - * @see #getWorkDefinition() - * @generated - */ - EReference getWorkDefinition_LinksToPredecessors(); - - /** - * Returns the meta object for the reference list '{@link simplepdl.WorkDefinition#getLinksToSuccessors Links To Successors}'. - * - * - * @return the meta object for the reference list 'Links To Successors'. - * @see simplepdl.WorkDefinition#getLinksToSuccessors() - * @see #getWorkDefinition() - * @generated - */ - EReference getWorkDefinition_LinksToSuccessors(); - - /** - * Returns the meta object for the attribute '{@link simplepdl.WorkDefinition#getName Name}'. - * - * - * @return the meta object for the attribute 'Name'. - * @see simplepdl.WorkDefinition#getName() - * @see #getWorkDefinition() - * @generated - */ - EAttribute getWorkDefinition_Name(); - - /** - * Returns the meta object for the reference list '{@link simplepdl.WorkDefinition#getRequests Requests}'. - * - * - * @return the meta object for the reference list 'Requests'. - * @see simplepdl.WorkDefinition#getRequests() - * @see #getWorkDefinition() - * @generated - */ - EReference getWorkDefinition_Requests(); - - /** - * Returns the meta object for class '{@link simplepdl.WorkSequence Work Sequence}'. - * - * - * @return the meta object for class 'Work Sequence'. - * @see simplepdl.WorkSequence - * @generated - */ - EClass getWorkSequence(); - - /** - * Returns the meta object for the attribute '{@link simplepdl.WorkSequence#getLinkType Link Type}'. - * - * - * @return the meta object for the attribute 'Link Type'. - * @see simplepdl.WorkSequence#getLinkType() - * @see #getWorkSequence() - * @generated - */ - EAttribute getWorkSequence_LinkType(); - - /** - * Returns the meta object for the reference '{@link simplepdl.WorkSequence#getPredecessor Predecessor}'. - * - * - * @return the meta object for the reference 'Predecessor'. - * @see simplepdl.WorkSequence#getPredecessor() - * @see #getWorkSequence() - * @generated - */ - EReference getWorkSequence_Predecessor(); - - /** - * Returns the meta object for the reference '{@link simplepdl.WorkSequence#getSuccessor Successor}'. - * - * - * @return the meta object for the reference 'Successor'. - * @see simplepdl.WorkSequence#getSuccessor() - * @see #getWorkSequence() - * @generated - */ - EReference getWorkSequence_Successor(); - - /** - * Returns the meta object for class '{@link simplepdl.Guidance Guidance}'. - * - * - * @return the meta object for class 'Guidance'. - * @see simplepdl.Guidance - * @generated - */ - EClass getGuidance(); - - /** - * Returns the meta object for the attribute '{@link simplepdl.Guidance#getText Text}'. - * - * - * @return the meta object for the attribute 'Text'. - * @see simplepdl.Guidance#getText() - * @see #getGuidance() - * @generated - */ - EAttribute getGuidance_Text(); - - /** - * Returns the meta object for the reference list '{@link simplepdl.Guidance#getElements Elements}'. - * - * - * @return the meta object for the reference list 'Elements'. - * @see simplepdl.Guidance#getElements() - * @see #getGuidance() - * @generated - */ - EReference getGuidance_Elements(); - - /** - * Returns the meta object for class '{@link simplepdl.Process Process}'. - * - * - * @return the meta object for class 'Process'. - * @see simplepdl.Process - * @generated - */ - EClass getProcess(); - - /** - * Returns the meta object for the attribute '{@link simplepdl.Process#getName Name}'. - * - * - * @return the meta object for the attribute 'Name'. - * @see simplepdl.Process#getName() - * @see #getProcess() - * @generated - */ - EAttribute getProcess_Name(); - - /** - * Returns the meta object for the containment reference list '{@link simplepdl.Process#getProcessElements Process Elements}'. - * - * - * @return the meta object for the containment reference list 'Process Elements'. - * @see simplepdl.Process#getProcessElements() - * @see #getProcess() - * @generated - */ - EReference getProcess_ProcessElements(); - - /** - * Returns the meta object for class '{@link simplepdl.Request Request}'. - * - * - * @return the meta object for class 'Request'. - * @see simplepdl.Request - * @generated - */ - EClass getRequest(); - - /** - * Returns the meta object for the attribute '{@link simplepdl.Request#getQuantity Quantity}'. - * - * - * @return the meta object for the attribute 'Quantity'. - * @see simplepdl.Request#getQuantity() - * @see #getRequest() - * @generated - */ - EAttribute getRequest_Quantity(); - - /** - * Returns the meta object for the reference '{@link simplepdl.Request#getTarget Target}'. - * - * - * @return the meta object for the reference 'Target'. - * @see simplepdl.Request#getTarget() - * @see #getRequest() - * @generated - */ - EReference getRequest_Target(); - - /** - * Returns the meta object for class '{@link simplepdl.Resource Resource}'. - * - * - * @return the meta object for class 'Resource'. - * @see simplepdl.Resource - * @generated - */ - EClass getResource(); - - /** - * Returns the meta object for the attribute '{@link simplepdl.Resource#getQuantity Quantity}'. - * - * - * @return the meta object for the attribute 'Quantity'. - * @see simplepdl.Resource#getQuantity() - * @see #getResource() - * @generated - */ - EAttribute getResource_Quantity(); - - /** - * Returns the meta object for the attribute '{@link simplepdl.Resource#getName Name}'. - * - * - * @return the meta object for the attribute 'Name'. - * @see simplepdl.Resource#getName() - * @see #getResource() - * @generated - */ - EAttribute getResource_Name(); - - /** - * Returns the meta object for enum '{@link simplepdl.WorkSequenceType Work Sequence Type}'. - * - * - * @return the meta object for enum 'Work Sequence Type'. - * @see simplepdl.WorkSequenceType - * @generated - */ - EEnum getWorkSequenceType(); - - /** - * Returns the factory that creates the instances of the model. - * - * - * @return the factory that creates the instances of the model. - * @generated - */ - SimplepdlFactory getSimplepdlFactory(); - - /** - * - * Defines literals for the meta objects that represent - *
    - *
  • each class,
  • - *
  • each feature of each class,
  • - *
  • each operation of each class,
  • - *
  • each enum,
  • - *
  • and each data type
  • - *
- * - * @generated - */ - interface Literals { - /** - * The meta object literal for the '{@link simplepdl.impl.ProcessElementImpl Process Element}' class. - * - * - * @see simplepdl.impl.ProcessElementImpl - * @see simplepdl.impl.SimplepdlPackageImpl#getProcessElement() - * @generated - */ - EClass PROCESS_ELEMENT = eINSTANCE.getProcessElement(); - - /** - * The meta object literal for the '{@link simplepdl.impl.WorkDefinitionImpl Work Definition}' class. - * - * - * @see simplepdl.impl.WorkDefinitionImpl - * @see simplepdl.impl.SimplepdlPackageImpl#getWorkDefinition() - * @generated - */ - EClass WORK_DEFINITION = eINSTANCE.getWorkDefinition(); - - /** - * The meta object literal for the 'Links To Predecessors' reference list feature. - * - * - * @generated - */ - EReference WORK_DEFINITION__LINKS_TO_PREDECESSORS = eINSTANCE.getWorkDefinition_LinksToPredecessors(); - - /** - * The meta object literal for the 'Links To Successors' reference list feature. - * - * - * @generated - */ - EReference WORK_DEFINITION__LINKS_TO_SUCCESSORS = eINSTANCE.getWorkDefinition_LinksToSuccessors(); - - /** - * The meta object literal for the 'Name' attribute feature. - * - * - * @generated - */ - EAttribute WORK_DEFINITION__NAME = eINSTANCE.getWorkDefinition_Name(); - - /** - * The meta object literal for the 'Requests' reference list feature. - * - * - * @generated - */ - EReference WORK_DEFINITION__REQUESTS = eINSTANCE.getWorkDefinition_Requests(); - - /** - * The meta object literal for the '{@link simplepdl.impl.WorkSequenceImpl Work Sequence}' class. - * - * - * @see simplepdl.impl.WorkSequenceImpl - * @see simplepdl.impl.SimplepdlPackageImpl#getWorkSequence() - * @generated - */ - EClass WORK_SEQUENCE = eINSTANCE.getWorkSequence(); - - /** - * The meta object literal for the 'Link Type' attribute feature. - * - * - * @generated - */ - EAttribute WORK_SEQUENCE__LINK_TYPE = eINSTANCE.getWorkSequence_LinkType(); - - /** - * The meta object literal for the 'Predecessor' reference feature. - * - * - * @generated - */ - EReference WORK_SEQUENCE__PREDECESSOR = eINSTANCE.getWorkSequence_Predecessor(); - - /** - * The meta object literal for the 'Successor' reference feature. - * - * - * @generated - */ - EReference WORK_SEQUENCE__SUCCESSOR = eINSTANCE.getWorkSequence_Successor(); - - /** - * The meta object literal for the '{@link simplepdl.impl.GuidanceImpl Guidance}' class. - * - * - * @see simplepdl.impl.GuidanceImpl - * @see simplepdl.impl.SimplepdlPackageImpl#getGuidance() - * @generated - */ - EClass GUIDANCE = eINSTANCE.getGuidance(); - - /** - * The meta object literal for the 'Text' attribute feature. - * - * - * @generated - */ - EAttribute GUIDANCE__TEXT = eINSTANCE.getGuidance_Text(); - - /** - * The meta object literal for the 'Elements' reference list feature. - * - * - * @generated - */ - EReference GUIDANCE__ELEMENTS = eINSTANCE.getGuidance_Elements(); - - /** - * The meta object literal for the '{@link simplepdl.impl.ProcessImpl Process}' class. - * - * - * @see simplepdl.impl.ProcessImpl - * @see simplepdl.impl.SimplepdlPackageImpl#getProcess() - * @generated - */ - EClass PROCESS = eINSTANCE.getProcess(); - - /** - * The meta object literal for the 'Name' attribute feature. - * - * - * @generated - */ - EAttribute PROCESS__NAME = eINSTANCE.getProcess_Name(); - - /** - * The meta object literal for the 'Process Elements' containment reference list feature. - * - * - * @generated - */ - EReference PROCESS__PROCESS_ELEMENTS = eINSTANCE.getProcess_ProcessElements(); - - /** - * The meta object literal for the '{@link simplepdl.impl.RequestImpl Request}' class. - * - * - * @see simplepdl.impl.RequestImpl - * @see simplepdl.impl.SimplepdlPackageImpl#getRequest() - * @generated - */ - EClass REQUEST = eINSTANCE.getRequest(); - - /** - * The meta object literal for the 'Quantity' attribute feature. - * - * - * @generated - */ - EAttribute REQUEST__QUANTITY = eINSTANCE.getRequest_Quantity(); - - /** - * The meta object literal for the 'Target' reference feature. - * - * - * @generated - */ - EReference REQUEST__TARGET = eINSTANCE.getRequest_Target(); - - /** - * The meta object literal for the '{@link simplepdl.impl.ResourceImpl Resource}' class. - * - * - * @see simplepdl.impl.ResourceImpl - * @see simplepdl.impl.SimplepdlPackageImpl#getResource() - * @generated - */ - EClass RESOURCE = eINSTANCE.getResource(); - - /** - * The meta object literal for the 'Quantity' attribute feature. - * - * - * @generated - */ - EAttribute RESOURCE__QUANTITY = eINSTANCE.getResource_Quantity(); - - /** - * The meta object literal for the 'Name' attribute feature. - * - * - * @generated - */ - EAttribute RESOURCE__NAME = eINSTANCE.getResource_Name(); - - /** - * The meta object literal for the '{@link simplepdl.WorkSequenceType Work Sequence Type}' enum. - * - * - * @see simplepdl.WorkSequenceType - * @see simplepdl.impl.SimplepdlPackageImpl#getWorkSequenceType() - * @generated - */ - EEnum WORK_SEQUENCE_TYPE = eINSTANCE.getWorkSequenceType(); - - } - -} //SimplepdlPackage diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a/200ed0a53b28001c1451a142d5f09209 b/.metadata/.plugins/org.eclipse.core.resources/.history/a/200ed0a53b28001c1451a142d5f09209 new file mode 100644 index 0000000..2ce7d29 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/a/200ed0a53b28001c1451a142d5f09209 @@ -0,0 +1,2 @@ + + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a/60defe329822001c17faa9b6b0561c0f b/.metadata/.plugins/org.eclipse.core.resources/.history/a/60defe329822001c17faa9b6b0561c0f deleted file mode 100644 index 7a79f9d..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/a/60defe329822001c17faa9b6b0561c0f +++ /dev/null @@ -1,59 +0,0 @@ -/** - */ -package simplepdl; - -import org.eclipse.emf.common.util.EList; - -/** - * - * A representation of the model object 'Guidance'. - * - * - *

- * The following features are supported: - *

- *
    - *
  • {@link simplepdl.Guidance#getText Text}
  • - *
  • {@link simplepdl.Guidance#getElements Elements}
  • - *
- * - * @see simplepdl.SimplepdlPackage#getGuidance() - * @model - * @generated - */ -public interface Guidance extends ProcessElement { - /** - * Returns the value of the 'Text' attribute. - * - * - * @return the value of the 'Text' attribute. - * @see #setText(String) - * @see simplepdl.SimplepdlPackage#getGuidance_Text() - * @model required="true" - * @generated - */ - String getText(); - - /** - * Sets the value of the '{@link simplepdl.Guidance#getText Text}' attribute. - * - * - * @param value the new value of the 'Text' attribute. - * @see #getText() - * @generated - */ - void setText(String value); - - /** - * Returns the value of the 'Elements' reference list. - * The list contents are of type {@link simplepdl.ProcessElement}. - * - * - * @return the value of the 'Elements' reference list. - * @see simplepdl.SimplepdlPackage#getGuidance_Elements() - * @model - * @generated - */ - EList getElements(); - -} // Guidance diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/1b/305fe03c9d22001c118def180044d1da b/.metadata/.plugins/org.eclipse.core.resources/.history/a0/60f1c9fb3b28001c1451a142d5f09209 similarity index 61% rename from .metadata/.plugins/org.eclipse.core.resources/.history/1b/305fe03c9d22001c118def180044d1da rename to .metadata/.plugins/org.eclipse.core.resources/.history/a0/60f1c9fb3b28001c1451a142d5f09209 index d6e49a2..1818ea7 100644 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/1b/305fe03c9d22001c118def180044d1da +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/a0/60f1c9fb3b28001c1451a142d5f09209 @@ -1,6 +1,6 @@ /** */ -package simplepdl.provider; +package petrinet.provider; import java.util.Collection; @@ -14,23 +14,23 @@ import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; import org.eclipse.emf.edit.provider.ViewerNotification; -import simplepdl.Resource; -import simplepdl.SimplepdlPackage; +import petrinet.PetrinetPackage; +import petrinet.Place; /** - * This is the item provider adapter for a {@link simplepdl.Resource} object. + * This is the item provider adapter for a {@link petrinet.Place} object. * * * @generated */ -public class ResourceItemProvider extends ProcessElementItemProvider { +public class PlaceItemProvider extends NoeudItemProvider { /** * This constructs an instance from a factory and a notifier. * * * @generated */ - public ResourceItemProvider(AdapterFactory adapterFactory) { + public PlaceItemProvider(AdapterFactory adapterFactory) { super(adapterFactory); } @@ -45,26 +45,25 @@ public class ResourceItemProvider extends ProcessElementItemProvider { if (itemPropertyDescriptors == null) { super.getPropertyDescriptors(object); - addQuantityPropertyDescriptor(object); - addNamePropertyDescriptor(object); + addJetonsPropertyDescriptor(object); } return itemPropertyDescriptors; } /** - * This adds a property descriptor for the Quantity feature. + * This adds a property descriptor for the Jetons feature. * * * @generated */ - protected void addQuantityPropertyDescriptor(Object object) { + protected void addJetonsPropertyDescriptor(Object object) { itemPropertyDescriptors.add (createItemPropertyDescriptor (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(), - getString("_UI_Resource_quantity_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_Resource_quantity_feature", "_UI_Resource_type"), - SimplepdlPackage.Literals.RESOURCE__QUANTITY, + getString("_UI_Place_jetons_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_Place_jetons_feature", "_UI_Place_type"), + PetrinetPackage.Literals.PLACE__JETONS, true, false, false, @@ -74,36 +73,14 @@ public class ResourceItemProvider extends ProcessElementItemProvider { } /** - * This adds a property descriptor for the Name feature. - * - * - * @generated - */ - protected void addNamePropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_Resource_name_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_Resource_name_feature", "_UI_Resource_type"), - SimplepdlPackage.Literals.RESOURCE__NAME, - true, - false, - false, - ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, - null, - null)); - } - - /** - * This returns Resource.gif. + * This returns Place.gif. * * * @generated */ @Override public Object getImage(Object object) { - return overlayImage(object, getResourceLocator().getImage("full/obj16/Resource")); + return overlayImage(object, getResourceLocator().getImage("full/obj16/Place")); } /** @@ -114,10 +91,10 @@ public class ResourceItemProvider extends ProcessElementItemProvider { */ @Override public String getText(Object object) { - String label = ((Resource)object).getName(); + String label = ((Place)object).getName(); return label == null || label.length() == 0 ? - getString("_UI_Resource_type") : - getString("_UI_Resource_type") + " " + label; + getString("_UI_Place_type") : + getString("_UI_Place_type") + " " + label; } @@ -132,9 +109,8 @@ public class ResourceItemProvider extends ProcessElementItemProvider { public void notifyChanged(Notification notification) { updateChildren(notification); - switch (notification.getFeatureID(Resource.class)) { - case SimplepdlPackage.RESOURCE__QUANTITY: - case SimplepdlPackage.RESOURCE__NAME: + switch (notification.getFeatureID(Place.class)) { + case PetrinetPackage.PLACE__JETONS: fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); return; } diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a2/50843b023728001c1310d5f213a964e6 b/.metadata/.plugins/org.eclipse.core.resources/.history/a2/50843b023728001c1310d5f213a964e6 new file mode 100644 index 0000000..4fe5bbc --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/a2/50843b023728001c1310d5f213a964e6 @@ -0,0 +1,28 @@ +import 'SimplePDL.ecore' + +package simplepdl + +context Process +inv warningSeverity: false +inv withMessage('Explicit message in process ' + self.name + ' (withMessage)'): false +inv errorSeverity: null + +context Process +inv validName('Invalid name: ' + self.name): + self.name.matches('[A-Za-z_][A-Za-z0-9_]*') + +context ProcessElement +def: process(): Process = + Process.allInstances() + ->select(p | p.processElements->includes(self)) + ->asSequence()->first() + +context WorkSequence +inv successorAndPredecessorInSameProcess('Activities not in the same process : ' + + self.predecessor.name + ' in ' + self.predecessor.process().name+ ' and ' + + self.successor.name + ' in ' + self.successor.process().name +): + self.process() = self.successor.process() + and self.process() = self.predecessor.process() + +endpackage diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a5/f09b510c3728001c1310d5f213a964e6 b/.metadata/.plugins/org.eclipse.core.resources/.history/a5/f09b510c3728001c1310d5f213a964e6 new file mode 100644 index 0000000..995de3a --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/a5/f09b510c3728001c1310d5f213a964e6 @@ -0,0 +1,27 @@ +import 'SimplePDL.ecore' + +package simplepdl + +context Process +inv warningSeverity: false +inv withMessage('Explicit message in process ' + self.name + ' (withMessage)'): false +inv errorSeverity: null + +context Process +inv validName('Invalid name: ' + self.name): + self.name.matches('[A-Za-z_][A-Za-z0-9_]*') + +context ProcessElement +def: process(): Process = + Process.allInstances() + ->select(p | p.processElements->includes(self)) + ->asSequence()->first() + +context WorkSequence +inv successorAndPredecessorInSameProcess('Activities not in the same process : ' + + self.predecessor.name + ' in ' + self.predecessor.process().name+ ' and ' + + self.successor.name + ' in ' + self.successor.process().name): + self.process() = self.successor.process() + and self.process() = self.predecessor.process() + +endpackage diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a8/80fedb419922001c1dcfb9656cd69315 b/.metadata/.plugins/org.eclipse.core.resources/.history/a8/80fedb419922001c1dcfb9656cd69315 deleted file mode 100644 index f2856ba..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/a8/80fedb419922001c1dcfb9656cd69315 +++ /dev/null @@ -1,180 +0,0 @@ -/** - */ -package simplepdl.provider; - - -import java.util.Collection; -import java.util.List; - -import org.eclipse.emf.common.notify.AdapterFactory; -import org.eclipse.emf.common.notify.Notification; - -import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; -import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; -import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; -import org.eclipse.emf.edit.provider.ViewerNotification; - -import simplepdl.SimplepdlPackage; -import simplepdl.WorkSequence; -import simplepdl.WorkSequenceType; - -/** - * This is the item provider adapter for a {@link simplepdl.WorkSequence} object. - * - * - * @generated - */ -public class WorkSequenceItemProvider extends ProcessElementItemProvider { - /** - * This constructs an instance from a factory and a notifier. - * - * - * @generated - */ - public WorkSequenceItemProvider(AdapterFactory adapterFactory) { - super(adapterFactory); - } - - /** - * This returns the property descriptors for the adapted class. - * - * - * @generated - */ - @Override - public List getPropertyDescriptors(Object object) { - if (itemPropertyDescriptors == null) { - super.getPropertyDescriptors(object); - - addLinkTypePropertyDescriptor(object); - addPredecessorPropertyDescriptor(object); - addSuccessorPropertyDescriptor(object); - } - return itemPropertyDescriptors; - } - - /** - * This adds a property descriptor for the Link Type feature. - * - * - * @generated - */ - protected void addLinkTypePropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_WorkSequence_linkType_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_WorkSequence_linkType_feature", "_UI_WorkSequence_type"), - SimplepdlPackage.Literals.WORK_SEQUENCE__LINK_TYPE, - true, - false, - false, - ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, - null, - null)); - } - - /** - * This adds a property descriptor for the Predecessor feature. - * - * - * @generated - */ - protected void addPredecessorPropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_WorkSequence_predecessor_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_WorkSequence_predecessor_feature", "_UI_WorkSequence_type"), - SimplepdlPackage.Literals.WORK_SEQUENCE__PREDECESSOR, - true, - false, - true, - null, - null, - null)); - } - - /** - * This adds a property descriptor for the Successor feature. - * - * - * @generated - */ - protected void addSuccessorPropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_WorkSequence_successor_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_WorkSequence_successor_feature", "_UI_WorkSequence_type"), - SimplepdlPackage.Literals.WORK_SEQUENCE__SUCCESSOR, - true, - false, - true, - null, - null, - null)); - } - - /** - * This returns WorkSequence.gif. - * - * - * @generated - */ - @Override - public Object getImage(Object object) { - return overlayImage(object, getResourceLocator().getImage("full/obj16/WorkSequence")); - } - - /** - * This returns the label text for the adapted class. - * - * - * @generated - */ - @Override - public String getText(Object object) { - WorkSequenceType labelValue = ((WorkSequence)object).getLinkType(); - String label = labelValue == null ? null : labelValue.toString(); - return label == null || label.length() == 0 ? - getString("_UI_WorkSequence_type") : - getString("_UI_WorkSequence_type") + " " + label; - } - - - /** - * This handles model notifications by calling {@link #updateChildren} to update any cached - * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. - * - * - * @generated - */ - @Override - public void notifyChanged(Notification notification) { - updateChildren(notification); - - switch (notification.getFeatureID(WorkSequence.class)) { - case SimplepdlPackage.WORK_SEQUENCE__LINK_TYPE: - fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); - return; - } - super.notifyChanged(notification); - } - - /** - * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children - * that can be created under this object. - * - * - * @generated - */ - @Override - protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { - super.collectNewChildDescriptors(newChildDescriptors, object); - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a8/b01bd2b89d22001c118def180044d1da b/.metadata/.plugins/org.eclipse.core.resources/.history/a8/b01bd2b89d22001c118def180044d1da deleted file mode 100644 index d8167c2..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/a8/b01bd2b89d22001c118def180044d1da +++ /dev/null @@ -1,179 +0,0 @@ -/** - */ -package simplepdl.provider; - - -import java.util.Collection; -import java.util.List; - -import org.eclipse.emf.common.notify.AdapterFactory; -import org.eclipse.emf.common.notify.Notification; - -import org.eclipse.emf.common.util.ResourceLocator; - -import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; -import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; -import org.eclipse.emf.edit.provider.IItemLabelProvider; -import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; -import org.eclipse.emf.edit.provider.IItemPropertySource; -import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; -import org.eclipse.emf.edit.provider.ITreeItemContentProvider; -import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; -import org.eclipse.emf.edit.provider.ItemProviderAdapter; -import org.eclipse.emf.edit.provider.ViewerNotification; - -import simplepdl.Request; -import simplepdl.SimplepdlPackage; - -/** - * This is the item provider adapter for a {@link simplepdl.Request} object. - * - * - * @generated - */ -public class RequestItemProvider - extends ItemProviderAdapter - implements - IEditingDomainItemProvider, - IStructuredItemContentProvider, - ITreeItemContentProvider, - IItemLabelProvider, - IItemPropertySource { - /** - * This constructs an instance from a factory and a notifier. - * - * - * @generated - */ - public RequestItemProvider(AdapterFactory adapterFactory) { - super(adapterFactory); - } - - /** - * This returns the property descriptors for the adapted class. - * - * - * @generated - */ - @Override - public List getPropertyDescriptors(Object object) { - if (itemPropertyDescriptors == null) { - super.getPropertyDescriptors(object); - - addQuantityPropertyDescriptor(object); - addTargetPropertyDescriptor(object); - } - return itemPropertyDescriptors; - } - - /** - * This adds a property descriptor for the Quantity feature. - * - * - * @generated - */ - protected void addQuantityPropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_Request_quantity_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_Request_quantity_feature", "_UI_Request_type"), - SimplepdlPackage.Literals.REQUEST__QUANTITY, - true, - false, - false, - ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, - null, - null)); - } - - /** - * This adds a property descriptor for the Target feature. - * - * - * @generated - */ - protected void addTargetPropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_Request_target_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_Request_target_feature", "_UI_Request_type"), - SimplepdlPackage.Literals.REQUEST__TARGET, - true, - false, - true, - null, - null, - null)); - } - - /** - * This returns Request.gif. - * - * - * @generated - */ - @Override - public Object getImage(Object object) { - return overlayImage(object, getResourceLocator().getImage("full/obj16/Request")); - } - - /** - * This returns the label text for the adapted class. - * - * - * @generated - */ - @Override - public String getText(Object object) { - Request request = (Request)object; - return getString("_UI_Request_type") + " " + request.getQuantity() + "-> " + request.getTarget().getName(); - } - - - /** - * This handles model notifications by calling {@link #updateChildren} to update any cached - * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. - * - * - * @generated - */ - @Override - public void notifyChanged(Notification notification) { - updateChildren(notification); - - switch (notification.getFeatureID(Request.class)) { - case SimplepdlPackage.REQUEST__QUANTITY: - fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); - return; - } - super.notifyChanged(notification); - } - - /** - * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children - * that can be created under this object. - * - * - * @generated - */ - @Override - protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { - super.collectNewChildDescriptors(newChildDescriptors, object); - } - - /** - * Return the resource locator for this item provider's resources. - * - * - * @generated - */ - @Override - public ResourceLocator getResourceLocator() { - return SimplePDLEditPlugin.INSTANCE; - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a8/b0238a5e3228001c13dca9fa1eba29d5 b/.metadata/.plugins/org.eclipse.core.resources/.history/a8/b0238a5e3228001c13dca9fa1eba29d5 new file mode 100644 index 0000000..381a3d8 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/a8/b0238a5e3228001c13dca9fa1eba29d5 @@ -0,0 +1,49 @@ +import 'SimplePDL.ecore' + +package simplepdl + +context Process +inv warningSeverity: false +inv withMessage('Explicit message in process ' + self.name + ' (withMessage)'): false +--inv errorSeverity: null + +context Process +inv validName('Invalid name: ' + self.name): + self.name.matches('[A-Za-z_][A-Za-z0-9_]*') + +context ProcessElement +def: process(): Process = + Process.allInstances() + ->select(p | p.processElements->includes(self)) + ->asSequence()->first() + +context WorkSequence +inv successorAndPredecessorInSameProcess('Activities not in the same process : ' + + self.predecessor.name + ' in ' + self.predecessor.process().name+ ' and ' + + self.successor.name + ' in ' + self.successor.process().name + ): + self.process() = self.successor.process() + and self.process() = self.predecessor.process() + +context Process +inv uniqNames: self.processElements + ->select(pe | pe.oclIsKindOf(WorkDefinition)) + ->collect(pe | pe.oclAsType(WorkDefinition)) + ->forAll(w1, w2 | w1 = w2 or w1.name <> w2.name) + +context WorkSequence +inv notReflexive: self.predecessor <> self.successor + +context Process +inv nameMin2Char: self.processElements + ->select(pe | pe.oclIsKindOf(WorkDefinition)) + ->collect(pe | pe.oclAsType(WorkDefinition)) + ->forAll(w | w.name.matches('..+')) + +context Process +inv weirdName: self.processElements + ->select(pe | pe.oclIsKindOf(WorkDefinition)) + ->collect(pe | pe.oclAsType(WorkDefinition)) + ->forAll(w | not w.name.matches('([0-9]*|[a-zA-Z]*|_*)')) + +endpackage \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a8/e05dd4a39822001c17faa9b6b0561c0f b/.metadata/.plugins/org.eclipse.core.resources/.history/a8/e05dd4a39822001c17faa9b6b0561c0f deleted file mode 100644 index 5f237c0..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/a8/e05dd4a39822001c17faa9b6b0561c0f +++ /dev/null @@ -1,1545 +0,0 @@ - - - - SimplePDL.ecore - SimplePDL.genmodel - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bold - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bold - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bold - - - - - - - - - - - - - - - - bold - - - - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - bold - - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ae/b05252879a22001c12b4fa86d0abfe24 b/.metadata/.plugins/org.eclipse.core.resources/.history/ae/b05252879a22001c12b4fa86d0abfe24 deleted file mode 100644 index b5c6119..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ae/b05252879a22001c12b4fa86d0abfe24 +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ae/e0c2e2bf9a22001c12b4fa86d0abfe24 b/.metadata/.plugins/org.eclipse.core.resources/.history/ae/e0c2e2bf9a22001c12b4fa86d0abfe24 deleted file mode 100644 index e291b4b..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ae/e0c2e2bf9a22001c12b4fa86d0abfe24 +++ /dev/null @@ -1,1546 +0,0 @@ - - - - SimplePDL.ecore - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bold - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bold - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bold - - - - - - - - - - - - - - - - bold - - - - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - italic - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - bold - - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - labelSize - bold - - - labelSize - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b3/e01600339822001c17faa9b6b0561c0f b/.metadata/.plugins/org.eclipse.core.resources/.history/b3/e01600339822001c17faa9b6b0561c0f deleted file mode 100644 index f8bf674..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/b3/e01600339822001c17faa9b6b0561c0f +++ /dev/null @@ -1,18 +0,0 @@ -/** - */ -package simplepdl; - -import org.eclipse.emf.ecore.EObject; - -/** - * - * A representation of the model object 'Process Element'. - * - * - * - * @see simplepdl.SimplepdlPackage#getProcessElement() - * @model abstract="true" - * @generated - */ -public interface ProcessElement extends EObject { -} // ProcessElement diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b4/00f79b203628001c188ba284775c11f7 b/.metadata/.plugins/org.eclipse.core.resources/.history/b4/00f79b203628001c188ba284775c11f7 new file mode 100644 index 0000000..b93b232 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/b4/00f79b203628001c188ba284775c11f7 @@ -0,0 +1,3 @@ + + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/28/401812339822001c17faa9b6b0561c0f b/.metadata/.plugins/org.eclipse.core.resources/.history/b5/e02c41e13728001c1310d5f213a964e6 similarity index 100% rename from .metadata/.plugins/org.eclipse.core.resources/.history/28/401812339822001c17faa9b6b0561c0f rename to .metadata/.plugins/org.eclipse.core.resources/.history/b5/e02c41e13728001c1310d5f213a964e6 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b6/001492399c22001c10c68e4a8bb21dd1 b/.metadata/.plugins/org.eclipse.core.resources/.history/b6/001492399c22001c10c68e4a8bb21dd1 deleted file mode 100644 index 0c90b07..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/b6/001492399c22001c10c68e4a8bb21dd1 +++ /dev/null @@ -1,44 +0,0 @@ - - - SimplePDL.ecore - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/bc/0025112b9822001c17faa9b6b0561c0f b/.metadata/.plugins/org.eclipse.core.resources/.history/bc/0025112b9822001c17faa9b6b0561c0f deleted file mode 100644 index 2400021..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/bc/0025112b9822001c17faa9b6b0561c0f +++ /dev/null @@ -1,78 +0,0 @@ -/** - */ -package simplepdl; - -import org.eclipse.emf.ecore.EFactory; - -/** - * - * The Factory for the model. - * It provides a create method for each non-abstract class of the model. - * - * @see simplepdl.SimplepdlPackage - * @generated - */ -public interface SimplepdlFactory extends EFactory { - /** - * The singleton instance of the factory. - * - * - * @generated - */ - SimplepdlFactory eINSTANCE = simplepdl.impl.SimplepdlFactoryImpl.init(); - - /** - * Returns a new object of class 'Process Element'. - * - * - * @return a new object of class 'Process Element'. - * @generated - */ - ProcessElement createProcessElement(); - - /** - * Returns a new object of class 'Work Definition'. - * - * - * @return a new object of class 'Work Definition'. - * @generated - */ - WorkDefinition createWorkDefinition(); - - /** - * Returns a new object of class 'Work Sequence'. - * - * - * @return a new object of class 'Work Sequence'. - * @generated - */ - WorkSequence createWorkSequence(); - - /** - * Returns a new object of class 'Guidance'. - * - * - * @return a new object of class 'Guidance'. - * @generated - */ - Guidance createGuidance(); - - /** - * Returns a new object of class 'Process'. - * - * - * @return a new object of class 'Process'. - * @generated - */ - Process createProcess(); - - /** - * Returns the package supported by this factory. - * - * - * @return the package supported by this factory. - * @generated - */ - SimplepdlPackage getSimplepdlPackage(); - -} //SimplepdlFactory diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/bc/50da3d2b9822001c17faa9b6b0561c0f b/.metadata/.plugins/org.eclipse.core.resources/.history/bc/50da3d2b9822001c17faa9b6b0561c0f deleted file mode 100644 index 04e548c..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/bc/50da3d2b9822001c17faa9b6b0561c0f +++ /dev/null @@ -1,76 +0,0 @@ -/** - */ -package simplepdl; - -import org.eclipse.emf.common.util.EList; - -/** - * - * A representation of the model object 'Work Definition'. - * - * - *

- * The following features are supported: - *

- *
    - *
  • {@link simplepdl.WorkDefinition#getLinksToPredecessors Links To Predecessors}
  • - *
  • {@link simplepdl.WorkDefinition#getLinksToSuccessors Links To Successors}
  • - *
  • {@link simplepdl.WorkDefinition#getName Name}
  • - *
- * - * @see simplepdl.SimplepdlPackage#getWorkDefinition() - * @model - * @generated - */ -public interface WorkDefinition extends ProcessElement { - /** - * Returns the value of the 'Links To Predecessors' reference list. - * The list contents are of type {@link simplepdl.WorkSequence}. - * It is bidirectional and its opposite is '{@link simplepdl.WorkSequence#getSuccessor Successor}'. - * - * - * @return the value of the 'Links To Predecessors' reference list. - * @see simplepdl.SimplepdlPackage#getWorkDefinition_LinksToPredecessors() - * @see simplepdl.WorkSequence#getSuccessor - * @model opposite="successor" - * @generated - */ - EList getLinksToPredecessors(); - - /** - * Returns the value of the 'Links To Successors' reference list. - * The list contents are of type {@link simplepdl.WorkSequence}. - * It is bidirectional and its opposite is '{@link simplepdl.WorkSequence#getPredecessor Predecessor}'. - * - * - * @return the value of the 'Links To Successors' reference list. - * @see simplepdl.SimplepdlPackage#getWorkDefinition_LinksToSuccessors() - * @see simplepdl.WorkSequence#getPredecessor - * @model opposite="predecessor" - * @generated - */ - EList getLinksToSuccessors(); - - /** - * Returns the value of the 'Name' attribute. - * - * - * @return the value of the 'Name' attribute. - * @see #setName(String) - * @see simplepdl.SimplepdlPackage#getWorkDefinition_Name() - * @model required="true" - * @generated - */ - String getName(); - - /** - * Sets the value of the '{@link simplepdl.WorkDefinition#getName Name}' attribute. - * - * - * @param value the new value of the 'Name' attribute. - * @see #getName() - * @generated - */ - void setName(String value); - -} // WorkDefinition diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/bc/a0af0b339822001c17faa9b6b0561c0f b/.metadata/.plugins/org.eclipse.core.resources/.history/bc/a0af0b339822001c17faa9b6b0561c0f deleted file mode 100644 index 90e5734..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/bc/a0af0b339822001c17faa9b6b0561c0f +++ /dev/null @@ -1,208 +0,0 @@ -/** - */ -package simplepdl.impl; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.EDataType; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.emf.ecore.EPackage; - -import org.eclipse.emf.ecore.impl.EFactoryImpl; - -import org.eclipse.emf.ecore.plugin.EcorePlugin; - -import simplepdl.Guidance; -import simplepdl.Request; -import simplepdl.Resource; -import simplepdl.SimplepdlFactory; -import simplepdl.SimplepdlPackage; -import simplepdl.WorkDefinition; -import simplepdl.WorkSequence; -import simplepdl.WorkSequenceType; - -/** - * - * An implementation of the model Factory. - * - * @generated - */ -public class SimplepdlFactoryImpl extends EFactoryImpl implements SimplepdlFactory { - /** - * Creates the default factory implementation. - * - * - * @generated - */ - public static SimplepdlFactory init() { - try { - SimplepdlFactory theSimplepdlFactory = (SimplepdlFactory)EPackage.Registry.INSTANCE.getEFactory(SimplepdlPackage.eNS_URI); - if (theSimplepdlFactory != null) { - return theSimplepdlFactory; - } - } - catch (Exception exception) { - EcorePlugin.INSTANCE.log(exception); - } - return new SimplepdlFactoryImpl(); - } - - /** - * Creates an instance of the factory. - * - * - * @generated - */ - public SimplepdlFactoryImpl() { - super(); - } - - /** - * - * - * @generated - */ - @Override - public EObject create(EClass eClass) { - switch (eClass.getClassifierID()) { - case SimplepdlPackage.WORK_DEFINITION: return createWorkDefinition(); - case SimplepdlPackage.WORK_SEQUENCE: return createWorkSequence(); - case SimplepdlPackage.GUIDANCE: return createGuidance(); - case SimplepdlPackage.PROCESS: return createProcess(); - case SimplepdlPackage.REQUEST: return createRequest(); - case SimplepdlPackage.RESOURCE: return createResource(); - default: - throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); - } - } - - /** - * - * - * @generated - */ - @Override - public Object createFromString(EDataType eDataType, String initialValue) { - switch (eDataType.getClassifierID()) { - case SimplepdlPackage.WORK_SEQUENCE_TYPE: - return createWorkSequenceTypeFromString(eDataType, initialValue); - default: - throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); - } - } - - /** - * - * - * @generated - */ - @Override - public String convertToString(EDataType eDataType, Object instanceValue) { - switch (eDataType.getClassifierID()) { - case SimplepdlPackage.WORK_SEQUENCE_TYPE: - return convertWorkSequenceTypeToString(eDataType, instanceValue); - default: - throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier"); - } - } - - /** - * - * - * @generated - */ - public WorkDefinition createWorkDefinition() { - WorkDefinitionImpl workDefinition = new WorkDefinitionImpl(); - return workDefinition; - } - - /** - * - * - * @generated - */ - public WorkSequence createWorkSequence() { - WorkSequenceImpl workSequence = new WorkSequenceImpl(); - return workSequence; - } - - /** - * - * - * @generated - */ - public Guidance createGuidance() { - GuidanceImpl guidance = new GuidanceImpl(); - return guidance; - } - - /** - * - * - * @generated - */ - public simplepdl.Process createProcess() { - ProcessImpl process = new ProcessImpl(); - return process; - } - - /** - * - * - * @generated - */ - public Request createRequest() { - RequestImpl request = new RequestImpl(); - return request; - } - - /** - * - * - * @generated - */ - public Resource createResource() { - ResourceImpl resource = new ResourceImpl(); - return resource; - } - - /** - * - * - * @generated - */ - public WorkSequenceType createWorkSequenceTypeFromString(EDataType eDataType, String initialValue) { - WorkSequenceType result = WorkSequenceType.get(initialValue); - if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'"); - return result; - } - - /** - * - * - * @generated - */ - public String convertWorkSequenceTypeToString(EDataType eDataType, Object instanceValue) { - return instanceValue == null ? null : instanceValue.toString(); - } - - /** - * - * - * @generated - */ - public SimplepdlPackage getSimplepdlPackage() { - return (SimplepdlPackage)getEPackage(); - } - - /** - * - * - * @deprecated - * @generated - */ - @Deprecated - public static SimplepdlPackage getPackage() { - return SimplepdlPackage.eINSTANCE; - } - -} //SimplepdlFactoryImpl diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/bc/c034b7df9522001c17faa9b6b0561c0f b/.metadata/.plugins/org.eclipse.core.resources/.history/bc/c034b7df9522001c17faa9b6b0561c0f deleted file mode 100644 index e0d547d..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/bc/c034b7df9522001c17faa9b6b0561c0f +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/be/80a709773228001c13dca9fa1eba29d5 b/.metadata/.plugins/org.eclipse.core.resources/.history/be/80a709773228001c13dca9fa1eba29d5 new file mode 100644 index 0000000..87a9243 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/be/80a709773228001c13dca9fa1eba29d5 @@ -0,0 +1,48 @@ +import 'SimplePDL.ecore' + +package simplepdl + +context Process +inv warningSeverity: false +inv withMessage('Explicit message in process ' + self.name + ' (withMessage)'): false + +context Process +inv validName('Invalid name: ' + self.name): + self.name.matches('[A-Za-z_][A-Za-z0-9_]*') + +context ProcessElement +def: process(): Process = + Process.allInstances() + ->select(p | p.processElements->includes(self)) + ->asSequence()->first() + +context WorkSequence +inv successorAndPredecessorInSameProcess('Activities not in the same process : ' + + self.predecessor.name + ' in ' + self.predecessor.process().name+ ' and ' + + self.successor.name + ' in ' + self.successor.process().name + ): + self.process() = self.successor.process() + and self.process() = self.predecessor.process() + +context Process +inv uniqNames: self.processElements + ->select(pe | pe.oclIsKindOf(WorkDefinition)) + ->collect(pe | pe.oclAsType(WorkDefinition)) + ->forAll(w1, w2 | w1 = w2 or w1.name <> w2.name) + +context WorkSequence +inv notReflexive: self.predecessor <> self.successor + +context Process +inv nameMin2Char: self.processElements + ->select(pe | pe.oclIsKindOf(WorkDefinition)) + ->collect(pe | pe.oclAsType(WorkDefinition)) + ->forAll(w | w.name.matches('..+')) + +context Process +inv weirdName: self.processElements + ->select(pe | pe.oclIsKindOf(WorkDefinition)) + ->collect(pe | pe.oclAsType(WorkDefinition)) + ->forAll(w | not w.name.matches('([0-9]*|[a-zA-Z]*|_*)')) + +endpackage \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/bf/10df07339822001c17faa9b6b0561c0f b/.metadata/.plugins/org.eclipse.core.resources/.history/bf/10df07339822001c17faa9b6b0561c0f deleted file mode 100644 index 0df9f5f..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/bf/10df07339822001c17faa9b6b0561c0f +++ /dev/null @@ -1,39 +0,0 @@ -/** - */ -package simplepdl.impl; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; - -import simplepdl.ProcessElement; -import simplepdl.SimplepdlPackage; - -/** - * - * An implementation of the model object 'Process Element'. - * - * - * @generated - */ -public abstract class ProcessElementImpl extends MinimalEObjectImpl.Container implements ProcessElement { - /** - * - * - * @generated - */ - protected ProcessElementImpl() { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() { - return SimplepdlPackage.Literals.PROCESS_ELEMENT; - } - -} //ProcessElementImpl diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/bf/40ef332b9822001c17faa9b6b0561c0f b/.metadata/.plugins/org.eclipse.core.resources/.history/bf/40ef332b9822001c17faa9b6b0561c0f deleted file mode 100644 index defb49c..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/bf/40ef332b9822001c17faa9b6b0561c0f +++ /dev/null @@ -1,18 +0,0 @@ -/** - */ -package simplepdl; - -import org.eclipse.emf.ecore.EObject; - -/** - * - * A representation of the model object 'Process Element'. - * - * - * - * @see simplepdl.SimplepdlPackage#getProcessElement() - * @model - * @generated - */ -public interface ProcessElement extends EObject { -} // ProcessElement diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/83/50c14eb59d22001c118def180044d1da b/.metadata/.plugins/org.eclipse.core.resources/.history/bf/8037cebd3c28001c1451a142d5f09209 similarity index 66% rename from .metadata/.plugins/org.eclipse.core.resources/.history/83/50c14eb59d22001c118def180044d1da rename to .metadata/.plugins/org.eclipse.core.resources/.history/bf/8037cebd3c28001c1451a142d5f09209 index cf613bb..be4677c 100644 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/83/50c14eb59d22001c118def180044d1da +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/bf/8037cebd3c28001c1451a142d5f09209 @@ -1,6 +1,6 @@ /** */ -package simplepdl.provider; +package petrinet.provider; import java.util.Collection; @@ -22,16 +22,16 @@ import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; import org.eclipse.emf.edit.provider.ItemProviderAdapter; import org.eclipse.emf.edit.provider.ViewerNotification; -import simplepdl.Request; -import simplepdl.SimplepdlPackage; +import petrinet.Arc; +import petrinet.PetrinetPackage; /** - * This is the item provider adapter for a {@link simplepdl.Request} object. + * This is the item provider adapter for a {@link petrinet.Arc} object. * * * @generated */ -public class RequestItemProvider +public class ArcItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider, @@ -45,7 +45,7 @@ public class RequestItemProvider * * @generated */ - public RequestItemProvider(AdapterFactory adapterFactory) { + public ArcItemProvider(AdapterFactory adapterFactory) { super(adapterFactory); } @@ -60,26 +60,27 @@ public class RequestItemProvider if (itemPropertyDescriptors == null) { super.getPropertyDescriptors(object); - addQuantityPropertyDescriptor(object); - addTargetPropertyDescriptor(object); + addPoidsPropertyDescriptor(object); + addSortantPropertyDescriptor(object); + addCiblePropertyDescriptor(object); } return itemPropertyDescriptors; } /** - * This adds a property descriptor for the Quantity feature. + * This adds a property descriptor for the Poids feature. * * * @generated */ - protected void addQuantityPropertyDescriptor(Object object) { + protected void addPoidsPropertyDescriptor(Object object) { itemPropertyDescriptors.add (createItemPropertyDescriptor (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(), - getString("_UI_Request_quantity_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_Request_quantity_feature", "_UI_Request_type"), - SimplepdlPackage.Literals.REQUEST__QUANTITY, + getString("_UI_Arc_poids_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_Arc_poids_feature", "_UI_Arc_type"), + PetrinetPackage.Literals.ARC__POIDS, true, false, false, @@ -89,19 +90,41 @@ public class RequestItemProvider } /** - * This adds a property descriptor for the Target feature. + * This adds a property descriptor for the Sortant feature. * * * @generated */ - protected void addTargetPropertyDescriptor(Object object) { + protected void addSortantPropertyDescriptor(Object object) { itemPropertyDescriptors.add (createItemPropertyDescriptor (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(), - getString("_UI_Request_target_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_Request_target_feature", "_UI_Request_type"), - SimplepdlPackage.Literals.REQUEST__TARGET, + getString("_UI_Arc_sortant_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_Arc_sortant_feature", "_UI_Arc_type"), + PetrinetPackage.Literals.ARC__SORTANT, + true, + false, + false, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, + null, + null)); + } + + /** + * This adds a property descriptor for the Cible feature. + * + * + * @generated + */ + protected void addCiblePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Arc_cible_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_Arc_cible_feature", "_UI_Arc_type"), + PetrinetPackage.Literals.ARC__CIBLE, true, false, true, @@ -111,14 +134,14 @@ public class RequestItemProvider } /** - * This returns Request.gif. + * This returns Arc.gif. * * * @generated */ @Override public Object getImage(Object object) { - return overlayImage(object, getResourceLocator().getImage("full/obj16/Request")); + return overlayImage(object, getResourceLocator().getImage("full/obj16/Arc")); } /** @@ -129,8 +152,8 @@ public class RequestItemProvider */ @Override public String getText(Object object) { - Request request = (Request)object; - return getString("_UI_Request_type") + " " + request.getQuantity() + "-> " + request.getTarget(); + Arc arc = (Arc)object; + return getString("_UI_Arc_type") + " " + arc.getPoids(); } @@ -145,8 +168,9 @@ public class RequestItemProvider public void notifyChanged(Notification notification) { updateChildren(notification); - switch (notification.getFeatureID(Request.class)) { - case SimplepdlPackage.REQUEST__QUANTITY: + switch (notification.getFeatureID(Arc.class)) { + case PetrinetPackage.ARC__POIDS: + case PetrinetPackage.ARC__SORTANT: fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); return; } @@ -173,7 +197,7 @@ public class RequestItemProvider */ @Override public ResourceLocator getResourceLocator() { - return SimplePDLEditPlugin.INSTANCE; + return PetriNetEditPlugin.INSTANCE; } } diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c1/10affb743228001c13dca9fa1eba29d5 b/.metadata/.plugins/org.eclipse.core.resources/.history/c1/10affb743228001c13dca9fa1eba29d5 new file mode 100644 index 0000000..87a9243 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/c1/10affb743228001c13dca9fa1eba29d5 @@ -0,0 +1,48 @@ +import 'SimplePDL.ecore' + +package simplepdl + +context Process +inv warningSeverity: false +inv withMessage('Explicit message in process ' + self.name + ' (withMessage)'): false + +context Process +inv validName('Invalid name: ' + self.name): + self.name.matches('[A-Za-z_][A-Za-z0-9_]*') + +context ProcessElement +def: process(): Process = + Process.allInstances() + ->select(p | p.processElements->includes(self)) + ->asSequence()->first() + +context WorkSequence +inv successorAndPredecessorInSameProcess('Activities not in the same process : ' + + self.predecessor.name + ' in ' + self.predecessor.process().name+ ' and ' + + self.successor.name + ' in ' + self.successor.process().name + ): + self.process() = self.successor.process() + and self.process() = self.predecessor.process() + +context Process +inv uniqNames: self.processElements + ->select(pe | pe.oclIsKindOf(WorkDefinition)) + ->collect(pe | pe.oclAsType(WorkDefinition)) + ->forAll(w1, w2 | w1 = w2 or w1.name <> w2.name) + +context WorkSequence +inv notReflexive: self.predecessor <> self.successor + +context Process +inv nameMin2Char: self.processElements + ->select(pe | pe.oclIsKindOf(WorkDefinition)) + ->collect(pe | pe.oclAsType(WorkDefinition)) + ->forAll(w | w.name.matches('..+')) + +context Process +inv weirdName: self.processElements + ->select(pe | pe.oclIsKindOf(WorkDefinition)) + ->collect(pe | pe.oclAsType(WorkDefinition)) + ->forAll(w | not w.name.matches('([0-9]*|[a-zA-Z]*|_*)')) + +endpackage \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/c6/a0e45af59c22001c118def180044d1da b/.metadata/.plugins/org.eclipse.core.resources/.history/c6/a0e45af59c22001c118def180044d1da deleted file mode 100644 index f2856ba..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/c6/a0e45af59c22001c118def180044d1da +++ /dev/null @@ -1,180 +0,0 @@ -/** - */ -package simplepdl.provider; - - -import java.util.Collection; -import java.util.List; - -import org.eclipse.emf.common.notify.AdapterFactory; -import org.eclipse.emf.common.notify.Notification; - -import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; -import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; -import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; -import org.eclipse.emf.edit.provider.ViewerNotification; - -import simplepdl.SimplepdlPackage; -import simplepdl.WorkSequence; -import simplepdl.WorkSequenceType; - -/** - * This is the item provider adapter for a {@link simplepdl.WorkSequence} object. - * - * - * @generated - */ -public class WorkSequenceItemProvider extends ProcessElementItemProvider { - /** - * This constructs an instance from a factory and a notifier. - * - * - * @generated - */ - public WorkSequenceItemProvider(AdapterFactory adapterFactory) { - super(adapterFactory); - } - - /** - * This returns the property descriptors for the adapted class. - * - * - * @generated - */ - @Override - public List getPropertyDescriptors(Object object) { - if (itemPropertyDescriptors == null) { - super.getPropertyDescriptors(object); - - addLinkTypePropertyDescriptor(object); - addPredecessorPropertyDescriptor(object); - addSuccessorPropertyDescriptor(object); - } - return itemPropertyDescriptors; - } - - /** - * This adds a property descriptor for the Link Type feature. - * - * - * @generated - */ - protected void addLinkTypePropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_WorkSequence_linkType_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_WorkSequence_linkType_feature", "_UI_WorkSequence_type"), - SimplepdlPackage.Literals.WORK_SEQUENCE__LINK_TYPE, - true, - false, - false, - ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, - null, - null)); - } - - /** - * This adds a property descriptor for the Predecessor feature. - * - * - * @generated - */ - protected void addPredecessorPropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_WorkSequence_predecessor_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_WorkSequence_predecessor_feature", "_UI_WorkSequence_type"), - SimplepdlPackage.Literals.WORK_SEQUENCE__PREDECESSOR, - true, - false, - true, - null, - null, - null)); - } - - /** - * This adds a property descriptor for the Successor feature. - * - * - * @generated - */ - protected void addSuccessorPropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_WorkSequence_successor_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_WorkSequence_successor_feature", "_UI_WorkSequence_type"), - SimplepdlPackage.Literals.WORK_SEQUENCE__SUCCESSOR, - true, - false, - true, - null, - null, - null)); - } - - /** - * This returns WorkSequence.gif. - * - * - * @generated - */ - @Override - public Object getImage(Object object) { - return overlayImage(object, getResourceLocator().getImage("full/obj16/WorkSequence")); - } - - /** - * This returns the label text for the adapted class. - * - * - * @generated - */ - @Override - public String getText(Object object) { - WorkSequenceType labelValue = ((WorkSequence)object).getLinkType(); - String label = labelValue == null ? null : labelValue.toString(); - return label == null || label.length() == 0 ? - getString("_UI_WorkSequence_type") : - getString("_UI_WorkSequence_type") + " " + label; - } - - - /** - * This handles model notifications by calling {@link #updateChildren} to update any cached - * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. - * - * - * @generated - */ - @Override - public void notifyChanged(Notification notification) { - updateChildren(notification); - - switch (notification.getFeatureID(WorkSequence.class)) { - case SimplepdlPackage.WORK_SEQUENCE__LINK_TYPE: - fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); - return; - } - super.notifyChanged(notification); - } - - /** - * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children - * that can be created under this object. - * - * - * @generated - */ - @Override - protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { - super.collectNewChildDescriptors(newChildDescriptors, object); - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ca/604f01339822001c17faa9b6b0561c0f b/.metadata/.plugins/org.eclipse.core.resources/.history/ca/604f01339822001c17faa9b6b0561c0f deleted file mode 100644 index 7e3c9c5..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ca/604f01339822001c17faa9b6b0561c0f +++ /dev/null @@ -1,87 +0,0 @@ -/** - */ -package simplepdl; - -import org.eclipse.emf.ecore.EFactory; - -/** - * - * The Factory for the model. - * It provides a create method for each non-abstract class of the model. - * - * @see simplepdl.SimplepdlPackage - * @generated - */ -public interface SimplepdlFactory extends EFactory { - /** - * The singleton instance of the factory. - * - * - * @generated - */ - SimplepdlFactory eINSTANCE = simplepdl.impl.SimplepdlFactoryImpl.init(); - - /** - * Returns a new object of class 'Work Definition'. - * - * - * @return a new object of class 'Work Definition'. - * @generated - */ - WorkDefinition createWorkDefinition(); - - /** - * Returns a new object of class 'Work Sequence'. - * - * - * @return a new object of class 'Work Sequence'. - * @generated - */ - WorkSequence createWorkSequence(); - - /** - * Returns a new object of class 'Guidance'. - * - * - * @return a new object of class 'Guidance'. - * @generated - */ - Guidance createGuidance(); - - /** - * Returns a new object of class 'Process'. - * - * - * @return a new object of class 'Process'. - * @generated - */ - Process createProcess(); - - /** - * Returns a new object of class 'Request'. - * - * - * @return a new object of class 'Request'. - * @generated - */ - Request createRequest(); - - /** - * Returns a new object of class 'Resource'. - * - * - * @return a new object of class 'Resource'. - * @generated - */ - Resource createResource(); - - /** - * Returns the package supported by this factory. - * - * - * @return the package supported by this factory. - * @generated - */ - SimplepdlPackage getSimplepdlPackage(); - -} //SimplepdlFactory diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/cb/30bc05339822001c17faa9b6b0561c0f b/.metadata/.plugins/org.eclipse.core.resources/.history/cb/30bc05339822001c17faa9b6b0561c0f deleted file mode 100644 index fb8f7a0..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/cb/30bc05339822001c17faa9b6b0561c0f +++ /dev/null @@ -1,204 +0,0 @@ -/** - */ -package simplepdl.impl; - -import java.util.Collection; - -import org.eclipse.emf.common.notify.Notification; - -import org.eclipse.emf.common.util.EList; - -import org.eclipse.emf.ecore.EClass; - -import org.eclipse.emf.ecore.impl.ENotificationImpl; - -import org.eclipse.emf.ecore.util.EObjectResolvingEList; - -import simplepdl.Guidance; -import simplepdl.ProcessElement; -import simplepdl.SimplepdlPackage; - -/** - * - * An implementation of the model object 'Guidance'. - * - *

- * The following features are implemented: - *

- *
    - *
  • {@link simplepdl.impl.GuidanceImpl#getText Text}
  • - *
  • {@link simplepdl.impl.GuidanceImpl#getElements Elements}
  • - *
- * - * @generated - */ -public class GuidanceImpl extends ProcessElementImpl implements Guidance { - /** - * The default value of the '{@link #getText() Text}' attribute. - * - * - * @see #getText() - * @generated - * @ordered - */ - protected static final String TEXT_EDEFAULT = null; - - /** - * The cached value of the '{@link #getText() Text}' attribute. - * - * - * @see #getText() - * @generated - * @ordered - */ - protected String text = TEXT_EDEFAULT; - - /** - * The cached value of the '{@link #getElements() Elements}' reference list. - * - * - * @see #getElements() - * @generated - * @ordered - */ - protected EList elements; - - /** - * - * - * @generated - */ - protected GuidanceImpl() { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() { - return SimplepdlPackage.Literals.GUIDANCE; - } - - /** - * - * - * @generated - */ - public String getText() { - return text; - } - - /** - * - * - * @generated - */ - public void setText(String newText) { - String oldText = text; - text = newText; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SimplepdlPackage.GUIDANCE__TEXT, oldText, text)); - } - - /** - * - * - * @generated - */ - public EList getElements() { - if (elements == null) { - elements = new EObjectResolvingEList(ProcessElement.class, this, SimplepdlPackage.GUIDANCE__ELEMENTS); - } - return elements; - } - - /** - * - * - * @generated - */ - @Override - public Object eGet(int featureID, boolean resolve, boolean coreType) { - switch (featureID) { - case SimplepdlPackage.GUIDANCE__TEXT: - return getText(); - case SimplepdlPackage.GUIDANCE__ELEMENTS: - return getElements(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - @SuppressWarnings("unchecked") - @Override - public void eSet(int featureID, Object newValue) { - switch (featureID) { - case SimplepdlPackage.GUIDANCE__TEXT: - setText((String)newValue); - return; - case SimplepdlPackage.GUIDANCE__ELEMENTS: - getElements().clear(); - getElements().addAll((Collection)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - @Override - public void eUnset(int featureID) { - switch (featureID) { - case SimplepdlPackage.GUIDANCE__TEXT: - setText(TEXT_EDEFAULT); - return; - case SimplepdlPackage.GUIDANCE__ELEMENTS: - getElements().clear(); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - @Override - public boolean eIsSet(int featureID) { - switch (featureID) { - case SimplepdlPackage.GUIDANCE__TEXT: - return TEXT_EDEFAULT == null ? text != null : !TEXT_EDEFAULT.equals(text); - case SimplepdlPackage.GUIDANCE__ELEMENTS: - return elements != null && !elements.isEmpty(); - } - return super.eIsSet(featureID); - } - - /** - * - * - * @generated - */ - @Override - public String toString() { - if (eIsProxy()) return super.toString(); - - StringBuilder result = new StringBuilder(super.toString()); - result.append(" (text: "); - result.append(text); - result.append(')'); - return result.toString(); - } - -} //GuidanceImpl diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/cb/e062c6ecdc25001c15a9d70b555b4809 b/.metadata/.plugins/org.eclipse.core.resources/.history/cb/e062c6ecdc25001c15a9d70b555b4809 deleted file mode 100644 index 680995f..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/cb/e062c6ecdc25001c15a9d70b555b4809 +++ /dev/null @@ -1,185 +0,0 @@ -/** - */ -package simplepdl.provider; - - -import java.util.Collection; -import java.util.List; - -import org.eclipse.emf.common.notify.AdapterFactory; -import org.eclipse.emf.common.notify.Notification; - -import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; -import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; -import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; -import org.eclipse.emf.edit.provider.ViewerNotification; - -import simplepdl.SimplepdlPackage; -import simplepdl.WorkSequence; -import simplepdl.WorkSequenceType; - -/** - * This is the item provider adapter for a {@link simplepdl.WorkSequence} object. - * - * - * @generated - */ -public class WorkSequenceItemProvider extends ProcessElementItemProvider { - /** - * This constructs an instance from a factory and a notifier. - * - * - * @generated - */ - public WorkSequenceItemProvider(AdapterFactory adapterFactory) { - super(adapterFactory); - } - - /** - * This returns the property descriptors for the adapted class. - * - * - * @generated - */ - @Override - public List getPropertyDescriptors(Object object) { - if (itemPropertyDescriptors == null) { - super.getPropertyDescriptors(object); - - addLinkTypePropertyDescriptor(object); - addPredecessorPropertyDescriptor(object); - addSuccessorPropertyDescriptor(object); - } - return itemPropertyDescriptors; - } - - /** - * This adds a property descriptor for the Link Type feature. - * - * - * @generated - */ - protected void addLinkTypePropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_WorkSequence_linkType_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_WorkSequence_linkType_feature", "_UI_WorkSequence_type"), - SimplepdlPackage.Literals.WORK_SEQUENCE__LINK_TYPE, - true, - false, - false, - ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, - null, - null)); - } - - /** - * This adds a property descriptor for the Predecessor feature. - * - * - * @generated - */ - protected void addPredecessorPropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_WorkSequence_predecessor_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_WorkSequence_predecessor_feature", "_UI_WorkSequence_type"), - SimplepdlPackage.Literals.WORK_SEQUENCE__PREDECESSOR, - true, - false, - true, - null, - null, - null)); - } - - /** - * This adds a property descriptor for the Successor feature. - * - * - * @generated - */ - protected void addSuccessorPropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_WorkSequence_successor_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_WorkSequence_successor_feature", "_UI_WorkSequence_type"), - SimplepdlPackage.Literals.WORK_SEQUENCE__SUCCESSOR, - true, - false, - true, - null, - null, - null)); - } - - /** - * This returns WorkSequence.gif. - * - * - * @generated - */ - @Override - public Object getImage(Object object) { - return overlayImage(object, getResourceLocator().getImage("full/obj16/WorkSequence")); - } - - /** - * This returns the label text for the adapted class. - * - * - * @generated - */ - @Override - public String getText(Object object) { - WorkSequence ws = (WorkSequence) object; - WorkSequenceType labelValue = ws.getLinkType(); - String label = "--" + (labelValue == null ? "?" : labelValue.toString()) + "-->"; - String previous = ws.getPredecessor() == null ? "?" : ws.getPredecessor().getName(); - String next = ws.getSuccessor() == null ? "?" : ws.getSuccessor().getName(); - return label == null || label.length() == 0 ? - getString("_UI_WorkSequence_type") : - getString("_UI_WorkSequence_type") + " " + previous + " " + label + " " + next; - } - - - /** - * This handles model notifications by calling {@link #updateChildren} to update any cached - * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. - * - * - * @generated - */ - @Override - public void notifyChanged(Notification notification) { - updateChildren(notification); - - switch (notification.getFeatureID(WorkSequence.class)) { - case SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR: - case SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR: - case SimplepdlPackage.WORK_SEQUENCE__LINK_TYPE: - fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); - return; - } - super.notifyChanged(notification); - } - - /** - * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children - * that can be created under this object. - * - * - * @generated - */ - @Override - protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { - super.collectNewChildDescriptors(newChildDescriptors, object); - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/cc/60cec0039d22001c118def180044d1da b/.metadata/.plugins/org.eclipse.core.resources/.history/cc/60cec0039d22001c118def180044d1da deleted file mode 100644 index 2f81f37..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/cc/60cec0039d22001c118def180044d1da +++ /dev/null @@ -1,182 +0,0 @@ -/** - */ -package simplepdl.provider; - - -import java.util.Collection; -import java.util.List; - -import org.eclipse.emf.common.notify.AdapterFactory; -import org.eclipse.emf.common.notify.Notification; - -import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; -import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; -import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; -import org.eclipse.emf.edit.provider.ViewerNotification; - -import simplepdl.SimplepdlPackage; -import simplepdl.WorkSequence; -import simplepdl.WorkSequenceType; - -/** - * This is the item provider adapter for a {@link simplepdl.WorkSequence} object. - * - * - * @generated - */ -public class WorkSequenceItemProvider extends ProcessElementItemProvider { - /** - * This constructs an instance from a factory and a notifier. - * - * - * @generated - */ - public WorkSequenceItemProvider(AdapterFactory adapterFactory) { - super(adapterFactory); - } - - /** - * This returns the property descriptors for the adapted class. - * - * - * @generated - */ - @Override - public List getPropertyDescriptors(Object object) { - if (itemPropertyDescriptors == null) { - super.getPropertyDescriptors(object); - - addLinkTypePropertyDescriptor(object); - addPredecessorPropertyDescriptor(object); - addSuccessorPropertyDescriptor(object); - } - return itemPropertyDescriptors; - } - - /** - * This adds a property descriptor for the Link Type feature. - * - * - * @generated - */ - protected void addLinkTypePropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_WorkSequence_linkType_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_WorkSequence_linkType_feature", "_UI_WorkSequence_type"), - SimplepdlPackage.Literals.WORK_SEQUENCE__LINK_TYPE, - true, - false, - false, - ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, - null, - null)); - } - - /** - * This adds a property descriptor for the Predecessor feature. - * - * - * @generated - */ - protected void addPredecessorPropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_WorkSequence_predecessor_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_WorkSequence_predecessor_feature", "_UI_WorkSequence_type"), - SimplepdlPackage.Literals.WORK_SEQUENCE__PREDECESSOR, - true, - false, - true, - null, - null, - null)); - } - - /** - * This adds a property descriptor for the Successor feature. - * - * - * @generated - */ - protected void addSuccessorPropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_WorkSequence_successor_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_WorkSequence_successor_feature", "_UI_WorkSequence_type"), - SimplepdlPackage.Literals.WORK_SEQUENCE__SUCCESSOR, - true, - false, - true, - null, - null, - null)); - } - - /** - * This returns WorkSequence.gif. - * - * - * @generated - */ - @Override - public Object getImage(Object object) { - return overlayImage(object, getResourceLocator().getImage("full/obj16/WorkSequence")); - } - - /** - * This returns the label text for the adapted class. - * - * - * @generated - */ - @Override - public String getText(Object object) { - WorkSequenceType labelValue = ((WorkSequence)object).getLinkType(); - String label = labelValue == null ? null : labelValue.toString(); - return label == null || label.length() == 0 ? - getString("_UI_WorkSequence_type") : - getString("_UI_WorkSequence_type") + " " + label; - } - - - /** - * This handles model notifications by calling {@link #updateChildren} to update any cached - * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. - * - * - * @generated - */ - @Override - public void notifyChanged(Notification notification) { - updateChildren(notification); - - switch (notification.getFeatureID(WorkSequence.class)) { - case SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR: - case SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR: - case SimplepdlPackage.WORK_SEQUENCE__LINK_TYPE: - fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); - return; - } - super.notifyChanged(notification); - } - - /** - * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children - * that can be created under this object. - * - * - * @generated - */ - @Override - protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { - super.collectNewChildDescriptors(newChildDescriptors, object); - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/cf/80cbebc49d22001c118def180044d1da b/.metadata/.plugins/org.eclipse.core.resources/.history/cf/80cbebc49d22001c118def180044d1da deleted file mode 100644 index dcf0d50..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/cf/80cbebc49d22001c118def180044d1da +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/d4/80b20bdc3328001c13dca9fa1eba29d5 b/.metadata/.plugins/org.eclipse.core.resources/.history/d4/80b20bdc3328001c13dca9fa1eba29d5 new file mode 100644 index 0000000..d729abb --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/d4/80b20bdc3328001c13dca9fa1eba29d5 @@ -0,0 +1,47 @@ + + + + + + + + + + + + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e/809ce3739922001c1dcfb9656cd69315 b/.metadata/.plugins/org.eclipse.core.resources/.history/e/809ce3739922001c1dcfb9656cd69315 deleted file mode 100644 index 1fa97e4..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/e/809ce3739922001c1dcfb9656cd69315 +++ /dev/null @@ -1,183 +0,0 @@ -/** - */ -package simplepdl.provider; - - -import java.util.Collection; -import java.util.List; - -import org.eclipse.emf.common.notify.AdapterFactory; -import org.eclipse.emf.common.notify.Notification; - -import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; -import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; -import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; -import org.eclipse.emf.edit.provider.ViewerNotification; - -import simplepdl.SimplepdlPackage; -import simplepdl.WorkSequence; -import simplepdl.WorkSequenceType; - -/** - * This is the item provider adapter for a {@link simplepdl.WorkSequence} object. - * - * - * @generated - */ -public class WorkSequenceItemProvider extends ProcessElementItemProvider { - /** - * This constructs an instance from a factory and a notifier. - * - * - * @generated - */ - public WorkSequenceItemProvider(AdapterFactory adapterFactory) { - super(adapterFactory); - } - - /** - * This returns the property descriptors for the adapted class. - * - * - * @generated - */ - @Override - public List getPropertyDescriptors(Object object) { - if (itemPropertyDescriptors == null) { - super.getPropertyDescriptors(object); - - addLinkTypePropertyDescriptor(object); - addPredecessorPropertyDescriptor(object); - addSuccessorPropertyDescriptor(object); - } - return itemPropertyDescriptors; - } - - /** - * This adds a property descriptor for the Link Type feature. - * - * - * @generated - */ - protected void addLinkTypePropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_WorkSequence_linkType_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_WorkSequence_linkType_feature", "_UI_WorkSequence_type"), - SimplepdlPackage.Literals.WORK_SEQUENCE__LINK_TYPE, - true, - false, - false, - ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, - null, - null)); - } - - /** - * This adds a property descriptor for the Predecessor feature. - * - * - * @generated - */ - protected void addPredecessorPropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_WorkSequence_predecessor_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_WorkSequence_predecessor_feature", "_UI_WorkSequence_type"), - SimplepdlPackage.Literals.WORK_SEQUENCE__PREDECESSOR, - true, - false, - true, - null, - null, - null)); - } - - /** - * This adds a property descriptor for the Successor feature. - * - * - * @generated - */ - protected void addSuccessorPropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_WorkSequence_successor_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_WorkSequence_successor_feature", "_UI_WorkSequence_type"), - SimplepdlPackage.Literals.WORK_SEQUENCE__SUCCESSOR, - true, - false, - true, - null, - null, - null)); - } - - /** - * This returns WorkSequence.gif. - * - * - * @generated - */ - @Override - public Object getImage(Object object) { - return overlayImage(object, getResourceLocator().getImage("full/obj16/WorkSequence")); - } - - /** - * This returns the label text for the adapted class. - * - * - * @generated - */ - @Override - public String getText(Object object) { - WorkSequence ws = (WorkSequence) object; - WorkSequenceType labelValue = ws.getLinkType(); - String label = "--" + (labelValue == null ? "?" : labelValue.toString()) + "-->"; - String previous = ws.getPredecessor() == null ? "?" : ws.getPredecessor().getName(); - String next = ws.getSuccessor() == null ? "?" : ws.getSuccessor().getName(); - return label == null || label.length() == 0 ? - getString("_UI_WorkSequence_type") : - getString("_UI_WorkSequence_type") + " " + previous + " " + label + " " + next; - } - - - /** - * This handles model notifications by calling {@link #updateChildren} to update any cached - * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. - * - * - * @generated - */ - @Override - public void notifyChanged(Notification notification) { - updateChildren(notification); - - switch (notification.getFeatureID(WorkSequence.class)) { - case SimplepdlPackage.WORK_SEQUENCE__LINK_TYPE: - fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); - return; - } - super.notifyChanged(notification); - } - - /** - * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children - * that can be created under this object. - * - * - * @generated - */ - @Override - protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { - super.collectNewChildDescriptors(newChildDescriptors, object); - } - -} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e0/8013482b9822001c17faa9b6b0561c0f b/.metadata/.plugins/org.eclipse.core.resources/.history/e0/8013482b9822001c17faa9b6b0561c0f deleted file mode 100644 index cc97e19..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/e0/8013482b9822001c17faa9b6b0561c0f +++ /dev/null @@ -1,274 +0,0 @@ -/** - */ -package simplepdl.impl; - -import java.util.Collection; - -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.common.notify.NotificationChain; - -import org.eclipse.emf.common.util.EList; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.InternalEObject; - -import org.eclipse.emf.ecore.impl.ENotificationImpl; - -import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList; -import org.eclipse.emf.ecore.util.InternalEList; - -import simplepdl.SimplepdlPackage; -import simplepdl.WorkDefinition; -import simplepdl.WorkSequence; - -/** - * - * An implementation of the model object 'Work Definition'. - * - *

- * The following features are implemented: - *

- *
    - *
  • {@link simplepdl.impl.WorkDefinitionImpl#getLinksToPredecessors Links To Predecessors}
  • - *
  • {@link simplepdl.impl.WorkDefinitionImpl#getLinksToSuccessors Links To Successors}
  • - *
  • {@link simplepdl.impl.WorkDefinitionImpl#getName Name}
  • - *
- * - * @generated - */ -public class WorkDefinitionImpl extends ProcessElementImpl implements WorkDefinition { - /** - * The cached value of the '{@link #getLinksToPredecessors() Links To Predecessors}' reference list. - * - * - * @see #getLinksToPredecessors() - * @generated - * @ordered - */ - protected EList linksToPredecessors; - - /** - * The cached value of the '{@link #getLinksToSuccessors() Links To Successors}' reference list. - * - * - * @see #getLinksToSuccessors() - * @generated - * @ordered - */ - protected EList linksToSuccessors; - - /** - * The default value of the '{@link #getName() Name}' attribute. - * - * - * @see #getName() - * @generated - * @ordered - */ - protected static final String NAME_EDEFAULT = null; - - /** - * The cached value of the '{@link #getName() Name}' attribute. - * - * - * @see #getName() - * @generated - * @ordered - */ - protected String name = NAME_EDEFAULT; - - /** - * - * - * @generated - */ - protected WorkDefinitionImpl() { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() { - return SimplepdlPackage.Literals.WORK_DEFINITION; - } - - /** - * - * - * @generated - */ - public EList getLinksToPredecessors() { - if (linksToPredecessors == null) { - linksToPredecessors = new EObjectWithInverseResolvingEList(WorkSequence.class, this, SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS, SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR); - } - return linksToPredecessors; - } - - /** - * - * - * @generated - */ - public EList getLinksToSuccessors() { - if (linksToSuccessors == null) { - linksToSuccessors = new EObjectWithInverseResolvingEList(WorkSequence.class, this, SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS, SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR); - } - return linksToSuccessors; - } - - /** - * - * - * @generated - */ - public String getName() { - return name; - } - - /** - * - * - * @generated - */ - public void setName(String newName) { - String oldName = name; - name = newName; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SimplepdlPackage.WORK_DEFINITION__NAME, oldName, name)); - } - - /** - * - * - * @generated - */ - @SuppressWarnings("unchecked") - @Override - public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { - switch (featureID) { - case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS: - return ((InternalEList)(InternalEList)getLinksToPredecessors()).basicAdd(otherEnd, msgs); - case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS: - return ((InternalEList)(InternalEList)getLinksToSuccessors()).basicAdd(otherEnd, msgs); - } - return super.eInverseAdd(otherEnd, featureID, msgs); - } - - /** - * - * - * @generated - */ - @Override - public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { - switch (featureID) { - case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS: - return ((InternalEList)getLinksToPredecessors()).basicRemove(otherEnd, msgs); - case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS: - return ((InternalEList)getLinksToSuccessors()).basicRemove(otherEnd, msgs); - } - return super.eInverseRemove(otherEnd, featureID, msgs); - } - - /** - * - * - * @generated - */ - @Override - public Object eGet(int featureID, boolean resolve, boolean coreType) { - switch (featureID) { - case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS: - return getLinksToPredecessors(); - case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS: - return getLinksToSuccessors(); - case SimplepdlPackage.WORK_DEFINITION__NAME: - return getName(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - @SuppressWarnings("unchecked") - @Override - public void eSet(int featureID, Object newValue) { - switch (featureID) { - case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS: - getLinksToPredecessors().clear(); - getLinksToPredecessors().addAll((Collection)newValue); - return; - case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS: - getLinksToSuccessors().clear(); - getLinksToSuccessors().addAll((Collection)newValue); - return; - case SimplepdlPackage.WORK_DEFINITION__NAME: - setName((String)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - @Override - public void eUnset(int featureID) { - switch (featureID) { - case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS: - getLinksToPredecessors().clear(); - return; - case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS: - getLinksToSuccessors().clear(); - return; - case SimplepdlPackage.WORK_DEFINITION__NAME: - setName(NAME_EDEFAULT); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - @Override - public boolean eIsSet(int featureID) { - switch (featureID) { - case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS: - return linksToPredecessors != null && !linksToPredecessors.isEmpty(); - case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS: - return linksToSuccessors != null && !linksToSuccessors.isEmpty(); - case SimplepdlPackage.WORK_DEFINITION__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); - } - return super.eIsSet(featureID); - } - - /** - * - * - * @generated - */ - @Override - public String toString() { - if (eIsProxy()) return super.toString(); - - StringBuilder result = new StringBuilder(super.toString()); - result.append(" (name: "); - result.append(name); - result.append(')'); - return result.toString(); - } - -} //WorkDefinitionImpl diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e7/50976e439722001c17faa9b6b0561c0f b/.metadata/.plugins/org.eclipse.core.resources/.history/e7/50976e439722001c17faa9b6b0561c0f deleted file mode 100644 index b97ac9b..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/e7/50976e439722001c17faa9b6b0561c0f +++ /dev/null @@ -1,25 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e7/e0d777a59c22001c118def180044d1da b/.metadata/.plugins/org.eclipse.core.resources/.history/e7/e0d777a59c22001c118def180044d1da deleted file mode 100644 index dcf0d50..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/e7/e0d777a59c22001c118def180044d1da +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/e9/809f10413c28001c1451a142d5f09209 b/.metadata/.plugins/org.eclipse.core.resources/.history/e9/809f10413c28001c1451a142d5f09209 new file mode 100644 index 0000000..edf702e --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/e9/809f10413c28001c1451a142d5f09209 @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ea/d0252a7e3228001c13dca9fa1eba29d5 b/.metadata/.plugins/org.eclipse.core.resources/.history/ea/d0252a7e3228001c13dca9fa1eba29d5 new file mode 100644 index 0000000..87a9243 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/ea/d0252a7e3228001c13dca9fa1eba29d5 @@ -0,0 +1,48 @@ +import 'SimplePDL.ecore' + +package simplepdl + +context Process +inv warningSeverity: false +inv withMessage('Explicit message in process ' + self.name + ' (withMessage)'): false + +context Process +inv validName('Invalid name: ' + self.name): + self.name.matches('[A-Za-z_][A-Za-z0-9_]*') + +context ProcessElement +def: process(): Process = + Process.allInstances() + ->select(p | p.processElements->includes(self)) + ->asSequence()->first() + +context WorkSequence +inv successorAndPredecessorInSameProcess('Activities not in the same process : ' + + self.predecessor.name + ' in ' + self.predecessor.process().name+ ' and ' + + self.successor.name + ' in ' + self.successor.process().name + ): + self.process() = self.successor.process() + and self.process() = self.predecessor.process() + +context Process +inv uniqNames: self.processElements + ->select(pe | pe.oclIsKindOf(WorkDefinition)) + ->collect(pe | pe.oclAsType(WorkDefinition)) + ->forAll(w1, w2 | w1 = w2 or w1.name <> w2.name) + +context WorkSequence +inv notReflexive: self.predecessor <> self.successor + +context Process +inv nameMin2Char: self.processElements + ->select(pe | pe.oclIsKindOf(WorkDefinition)) + ->collect(pe | pe.oclAsType(WorkDefinition)) + ->forAll(w | w.name.matches('..+')) + +context Process +inv weirdName: self.processElements + ->select(pe | pe.oclIsKindOf(WorkDefinition)) + ->collect(pe | pe.oclAsType(WorkDefinition)) + ->forAll(w | not w.name.matches('([0-9]*|[a-zA-Z]*|_*)')) + +endpackage \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/eb/006a29c43c28001c1451a142d5f09209 b/.metadata/.plugins/org.eclipse.core.resources/.history/eb/006a29c43c28001c1451a142d5f09209 new file mode 100644 index 0000000..553c6a8 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.core.resources/.history/eb/006a29c43c28001c1451a142d5f09209 @@ -0,0 +1,209 @@ +/** + */ +package petrinet.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import petrinet.Arc; +import petrinet.PetrinetPackage; +import petrinet.Place; + +/** + * This is the item provider adapter for a {@link petrinet.Arc} object. + * + * + * @generated + */ +public class ArcItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ArcItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addPoidsPropertyDescriptor(object); + addSortantPropertyDescriptor(object); + addCiblePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Poids feature. + * + * + * @generated + */ + protected void addPoidsPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Arc_poids_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_Arc_poids_feature", "_UI_Arc_type"), + PetrinetPackage.Literals.ARC__POIDS, + true, + false, + false, + ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, + null, + null)); + } + + /** + * This adds a property descriptor for the Sortant feature. + * + * + * @generated + */ + protected void addSortantPropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Arc_sortant_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_Arc_sortant_feature", "_UI_Arc_type"), + PetrinetPackage.Literals.ARC__SORTANT, + true, + false, + false, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, + null, + null)); + } + + /** + * This adds a property descriptor for the Cible feature. + * + * + * @generated + */ + protected void addCiblePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Arc_cible_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_Arc_cible_feature", "_UI_Arc_type"), + PetrinetPackage.Literals.ARC__CIBLE, + true, + false, + true, + null, + null, + null)); + } + + /** + * This returns Arc.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/Arc")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + Arc arc = (Arc)object; + boolean sortant = ((Arc)object).isSortant(); + int poids = ((Arc)object).getPoids(); + String cible = ((Arc)object).getCible().getName(); + return sortant ? + "--" + poids + "-->" + cible : + "<--" + poids + "--" + cible; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Arc.class)) { + case PetrinetPackage.ARC__POIDS: + case PetrinetPackage.ARC__SORTANT: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return PetriNetEditPlugin.INSTANCE; + } + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/eb/c0f4bfde9b22001c10fba84a9f2208e9 b/.metadata/.plugins/org.eclipse.core.resources/.history/eb/c0f4bfde9b22001c10fba84a9f2208e9 deleted file mode 100644 index 5501219..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/eb/c0f4bfde9b22001c10fba84a9f2208e9 +++ /dev/null @@ -1,1541 +0,0 @@ - - - - SimplePDL.ecore - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bold - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bold - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - bold - - - - - - - - - - - - - - - - bold - - - - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - italic - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - KEEP_LOCATION - KEEP_SIZE - KEEP_RATIO - - - - - - - - - bold - - - - - - - - bold - - - - - - - - - - - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - labelSize - - - labelSize - - - - - - - - - - labelSize - bold - - - labelSize - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - italic - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ec/001e55be9a22001c12b4fa86d0abfe24 b/.metadata/.plugins/org.eclipse.core.resources/.history/ec/001e55be9a22001c12b4fa86d0abfe24 deleted file mode 100644 index 97b2cdd..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ec/001e55be9a22001c12b4fa86d0abfe24 +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ef/10fe90039822001c17faa9b6b0561c0f b/.metadata/.plugins/org.eclipse.core.resources/.history/ef/10fe90039822001c17faa9b6b0561c0f deleted file mode 100644 index 6bc22d9..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ef/10fe90039822001c17faa9b6b0561c0f +++ /dev/null @@ -1,35 +0,0 @@ - - - SimplePDL.ecore - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f0/701c10339822001c17faa9b6b0561c0f b/.metadata/.plugins/org.eclipse.core.resources/.history/f0/701c10339822001c17faa9b6b0561c0f deleted file mode 100644 index 97521a3..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/f0/701c10339822001c17faa9b6b0561c0f +++ /dev/null @@ -1,310 +0,0 @@ -/** - */ -package simplepdl.impl; - -import java.util.Collection; - -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.common.notify.NotificationChain; - -import org.eclipse.emf.common.util.EList; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.InternalEObject; - -import org.eclipse.emf.ecore.impl.ENotificationImpl; - -import org.eclipse.emf.ecore.util.EObjectResolvingEList; -import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList; -import org.eclipse.emf.ecore.util.InternalEList; - -import simplepdl.Request; -import simplepdl.SimplepdlPackage; -import simplepdl.WorkDefinition; -import simplepdl.WorkSequence; - -/** - * - * An implementation of the model object 'Work Definition'. - * - *

- * The following features are implemented: - *

- *
    - *
  • {@link simplepdl.impl.WorkDefinitionImpl#getLinksToPredecessors Links To Predecessors}
  • - *
  • {@link simplepdl.impl.WorkDefinitionImpl#getLinksToSuccessors Links To Successors}
  • - *
  • {@link simplepdl.impl.WorkDefinitionImpl#getName Name}
  • - *
  • {@link simplepdl.impl.WorkDefinitionImpl#getRequests Requests}
  • - *
- * - * @generated - */ -public class WorkDefinitionImpl extends ProcessElementImpl implements WorkDefinition { - /** - * The cached value of the '{@link #getLinksToPredecessors() Links To Predecessors}' reference list. - * - * - * @see #getLinksToPredecessors() - * @generated - * @ordered - */ - protected EList linksToPredecessors; - - /** - * The cached value of the '{@link #getLinksToSuccessors() Links To Successors}' reference list. - * - * - * @see #getLinksToSuccessors() - * @generated - * @ordered - */ - protected EList linksToSuccessors; - - /** - * The default value of the '{@link #getName() Name}' attribute. - * - * - * @see #getName() - * @generated - * @ordered - */ - protected static final String NAME_EDEFAULT = null; - - /** - * The cached value of the '{@link #getName() Name}' attribute. - * - * - * @see #getName() - * @generated - * @ordered - */ - protected String name = NAME_EDEFAULT; - - /** - * The cached value of the '{@link #getRequests() Requests}' reference list. - * - * - * @see #getRequests() - * @generated - * @ordered - */ - protected EList requests; - - /** - * - * - * @generated - */ - protected WorkDefinitionImpl() { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() { - return SimplepdlPackage.Literals.WORK_DEFINITION; - } - - /** - * - * - * @generated - */ - public EList getLinksToPredecessors() { - if (linksToPredecessors == null) { - linksToPredecessors = new EObjectWithInverseResolvingEList(WorkSequence.class, this, SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS, SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR); - } - return linksToPredecessors; - } - - /** - * - * - * @generated - */ - public EList getLinksToSuccessors() { - if (linksToSuccessors == null) { - linksToSuccessors = new EObjectWithInverseResolvingEList(WorkSequence.class, this, SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS, SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR); - } - return linksToSuccessors; - } - - /** - * - * - * @generated - */ - public String getName() { - return name; - } - - /** - * - * - * @generated - */ - public void setName(String newName) { - String oldName = name; - name = newName; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SimplepdlPackage.WORK_DEFINITION__NAME, oldName, name)); - } - - /** - * - * - * @generated - */ - public EList getRequests() { - if (requests == null) { - requests = new EObjectResolvingEList(Request.class, this, SimplepdlPackage.WORK_DEFINITION__REQUESTS); - } - return requests; - } - - /** - * - * - * @generated - */ - @SuppressWarnings("unchecked") - @Override - public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { - switch (featureID) { - case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS: - return ((InternalEList)(InternalEList)getLinksToPredecessors()).basicAdd(otherEnd, msgs); - case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS: - return ((InternalEList)(InternalEList)getLinksToSuccessors()).basicAdd(otherEnd, msgs); - } - return super.eInverseAdd(otherEnd, featureID, msgs); - } - - /** - * - * - * @generated - */ - @Override - public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { - switch (featureID) { - case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS: - return ((InternalEList)getLinksToPredecessors()).basicRemove(otherEnd, msgs); - case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS: - return ((InternalEList)getLinksToSuccessors()).basicRemove(otherEnd, msgs); - } - return super.eInverseRemove(otherEnd, featureID, msgs); - } - - /** - * - * - * @generated - */ - @Override - public Object eGet(int featureID, boolean resolve, boolean coreType) { - switch (featureID) { - case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS: - return getLinksToPredecessors(); - case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS: - return getLinksToSuccessors(); - case SimplepdlPackage.WORK_DEFINITION__NAME: - return getName(); - case SimplepdlPackage.WORK_DEFINITION__REQUESTS: - return getRequests(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - @SuppressWarnings("unchecked") - @Override - public void eSet(int featureID, Object newValue) { - switch (featureID) { - case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS: - getLinksToPredecessors().clear(); - getLinksToPredecessors().addAll((Collection)newValue); - return; - case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS: - getLinksToSuccessors().clear(); - getLinksToSuccessors().addAll((Collection)newValue); - return; - case SimplepdlPackage.WORK_DEFINITION__NAME: - setName((String)newValue); - return; - case SimplepdlPackage.WORK_DEFINITION__REQUESTS: - getRequests().clear(); - getRequests().addAll((Collection)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - @Override - public void eUnset(int featureID) { - switch (featureID) { - case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS: - getLinksToPredecessors().clear(); - return; - case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS: - getLinksToSuccessors().clear(); - return; - case SimplepdlPackage.WORK_DEFINITION__NAME: - setName(NAME_EDEFAULT); - return; - case SimplepdlPackage.WORK_DEFINITION__REQUESTS: - getRequests().clear(); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - @Override - public boolean eIsSet(int featureID) { - switch (featureID) { - case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS: - return linksToPredecessors != null && !linksToPredecessors.isEmpty(); - case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS: - return linksToSuccessors != null && !linksToSuccessors.isEmpty(); - case SimplepdlPackage.WORK_DEFINITION__NAME: - return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); - case SimplepdlPackage.WORK_DEFINITION__REQUESTS: - return requests != null && !requests.isEmpty(); - } - return super.eIsSet(featureID); - } - - /** - * - * - * @generated - */ - @Override - public String toString() { - if (eIsProxy()) return super.toString(); - - StringBuilder result = new StringBuilder(super.toString()); - result.append(" (name: "); - result.append(name); - result.append(')'); - return result.toString(); - } - -} //WorkDefinitionImpl diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f0/a02b8fdf9b22001c10fba84a9f2208e9 b/.metadata/.plugins/org.eclipse.core.resources/.history/f0/a02b8fdf9b22001c10fba84a9f2208e9 deleted file mode 100644 index dcf0d50..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/f0/a02b8fdf9b22001c10fba84a9f2208e9 +++ /dev/null @@ -1,2 +0,0 @@ - - diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f4/70fe14339822001c17faa9b6b0561c0f b/.metadata/.plugins/org.eclipse.core.resources/.history/f4/70fe14339822001c17faa9b6b0561c0f deleted file mode 100644 index f780663..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/f4/70fe14339822001c17faa9b6b0561c0f +++ /dev/null @@ -1,246 +0,0 @@ -/** - */ -package simplepdl.util; - -import org.eclipse.emf.ecore.EObject; -import org.eclipse.emf.ecore.EPackage; - -import org.eclipse.emf.ecore.util.Switch; - -import simplepdl.Guidance; -import simplepdl.ProcessElement; -import simplepdl.Request; -import simplepdl.Resource; -import simplepdl.SimplepdlPackage; -import simplepdl.WorkDefinition; -import simplepdl.WorkSequence; - -/** - * - * The Switch for the model's inheritance hierarchy. - * It supports the call {@link #doSwitch(EObject) doSwitch(object)} - * to invoke the caseXXX method for each class of the model, - * starting with the actual class of the object - * and proceeding up the inheritance hierarchy - * until a non-null result is returned, - * which is the result of the switch. - * - * @see simplepdl.SimplepdlPackage - * @generated - */ -public class SimplepdlSwitch extends Switch { - /** - * The cached model package - * - * - * @generated - */ - protected static SimplepdlPackage modelPackage; - - /** - * Creates an instance of the switch. - * - * - * @generated - */ - public SimplepdlSwitch() { - if (modelPackage == null) { - modelPackage = SimplepdlPackage.eINSTANCE; - } - } - - /** - * Checks whether this is a switch for the given package. - * - * - * @param ePackage the package in question. - * @return whether this is a switch for the given package. - * @generated - */ - @Override - protected boolean isSwitchFor(EPackage ePackage) { - return ePackage == modelPackage; - } - - /** - * Calls caseXXX for each class of the model until one returns a non null result; it yields that result. - * - * - * @return the first non-null result returned by a caseXXX call. - * @generated - */ - @Override - protected T doSwitch(int classifierID, EObject theEObject) { - switch (classifierID) { - case SimplepdlPackage.PROCESS_ELEMENT: { - ProcessElement processElement = (ProcessElement)theEObject; - T result = caseProcessElement(processElement); - if (result == null) result = defaultCase(theEObject); - return result; - } - case SimplepdlPackage.WORK_DEFINITION: { - WorkDefinition workDefinition = (WorkDefinition)theEObject; - T result = caseWorkDefinition(workDefinition); - if (result == null) result = caseProcessElement(workDefinition); - if (result == null) result = defaultCase(theEObject); - return result; - } - case SimplepdlPackage.WORK_SEQUENCE: { - WorkSequence workSequence = (WorkSequence)theEObject; - T result = caseWorkSequence(workSequence); - if (result == null) result = caseProcessElement(workSequence); - if (result == null) result = defaultCase(theEObject); - return result; - } - case SimplepdlPackage.GUIDANCE: { - Guidance guidance = (Guidance)theEObject; - T result = caseGuidance(guidance); - if (result == null) result = caseProcessElement(guidance); - if (result == null) result = defaultCase(theEObject); - return result; - } - case SimplepdlPackage.PROCESS: { - simplepdl.Process process = (simplepdl.Process)theEObject; - T result = caseProcess(process); - if (result == null) result = defaultCase(theEObject); - return result; - } - case SimplepdlPackage.REQUEST: { - Request request = (Request)theEObject; - T result = caseRequest(request); - if (result == null) result = defaultCase(theEObject); - return result; - } - case SimplepdlPackage.RESOURCE: { - Resource resource = (Resource)theEObject; - T result = caseResource(resource); - if (result == null) result = caseProcessElement(resource); - if (result == null) result = defaultCase(theEObject); - return result; - } - default: return defaultCase(theEObject); - } - } - - /** - * Returns the result of interpreting the object as an instance of 'Process Element'. - * - * This implementation returns null; - * returning a non-null result will terminate the switch. - * - * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Process Element'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseProcessElement(ProcessElement object) { - return null; - } - - /** - * Returns the result of interpreting the object as an instance of 'Work Definition'. - * - * This implementation returns null; - * returning a non-null result will terminate the switch. - * - * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Work Definition'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseWorkDefinition(WorkDefinition object) { - return null; - } - - /** - * Returns the result of interpreting the object as an instance of 'Work Sequence'. - * - * This implementation returns null; - * returning a non-null result will terminate the switch. - * - * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Work Sequence'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseWorkSequence(WorkSequence object) { - return null; - } - - /** - * Returns the result of interpreting the object as an instance of 'Guidance'. - * - * This implementation returns null; - * returning a non-null result will terminate the switch. - * - * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Guidance'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseGuidance(Guidance object) { - return null; - } - - /** - * Returns the result of interpreting the object as an instance of 'Process'. - * - * This implementation returns null; - * returning a non-null result will terminate the switch. - * - * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Process'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseProcess(simplepdl.Process object) { - return null; - } - - /** - * Returns the result of interpreting the object as an instance of 'Request'. - * - * This implementation returns null; - * returning a non-null result will terminate the switch. - * - * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Request'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseRequest(Request object) { - return null; - } - - /** - * Returns the result of interpreting the object as an instance of 'Resource'. - * - * This implementation returns null; - * returning a non-null result will terminate the switch. - * - * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Resource'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) - * @generated - */ - public T caseResource(Resource object) { - return null; - } - - /** - * Returns the result of interpreting the object as an instance of 'EObject'. - * - * This implementation returns null; - * returning a non-null result will terminate the switch, but this is the last case anyway. - * - * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'EObject'. - * @see #doSwitch(org.eclipse.emf.ecore.EObject) - * @generated - */ - @Override - public T defaultCase(EObject object) { - return null; - } - -} //SimplepdlSwitch diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f7/f05411339822001c17faa9b6b0561c0f b/.metadata/.plugins/org.eclipse.core.resources/.history/f7/f05411339822001c17faa9b6b0561c0f deleted file mode 100644 index 9e6ab81..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/f7/f05411339822001c17faa9b6b0561c0f +++ /dev/null @@ -1,366 +0,0 @@ -/** - */ -package simplepdl.impl; - -import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.common.notify.NotificationChain; - -import org.eclipse.emf.ecore.EClass; -import org.eclipse.emf.ecore.InternalEObject; - -import org.eclipse.emf.ecore.impl.ENotificationImpl; - -import simplepdl.SimplepdlPackage; -import simplepdl.WorkDefinition; -import simplepdl.WorkSequence; -import simplepdl.WorkSequenceType; - -/** - * - * An implementation of the model object 'Work Sequence'. - * - *

- * The following features are implemented: - *

- *
    - *
  • {@link simplepdl.impl.WorkSequenceImpl#getLinkType Link Type}
  • - *
  • {@link simplepdl.impl.WorkSequenceImpl#getPredecessor Predecessor}
  • - *
  • {@link simplepdl.impl.WorkSequenceImpl#getSuccessor Successor}
  • - *
- * - * @generated - */ -public class WorkSequenceImpl extends ProcessElementImpl implements WorkSequence { - /** - * The default value of the '{@link #getLinkType() Link Type}' attribute. - * - * - * @see #getLinkType() - * @generated - * @ordered - */ - protected static final WorkSequenceType LINK_TYPE_EDEFAULT = WorkSequenceType.START_TO_START; - - /** - * The cached value of the '{@link #getLinkType() Link Type}' attribute. - * - * - * @see #getLinkType() - * @generated - * @ordered - */ - protected WorkSequenceType linkType = LINK_TYPE_EDEFAULT; - - /** - * The cached value of the '{@link #getPredecessor() Predecessor}' reference. - * - * - * @see #getPredecessor() - * @generated - * @ordered - */ - protected WorkDefinition predecessor; - - /** - * The cached value of the '{@link #getSuccessor() Successor}' reference. - * - * - * @see #getSuccessor() - * @generated - * @ordered - */ - protected WorkDefinition successor; - - /** - * - * - * @generated - */ - protected WorkSequenceImpl() { - super(); - } - - /** - * - * - * @generated - */ - @Override - protected EClass eStaticClass() { - return SimplepdlPackage.Literals.WORK_SEQUENCE; - } - - /** - * - * - * @generated - */ - public WorkSequenceType getLinkType() { - return linkType; - } - - /** - * - * - * @generated - */ - public void setLinkType(WorkSequenceType newLinkType) { - WorkSequenceType oldLinkType = linkType; - linkType = newLinkType == null ? LINK_TYPE_EDEFAULT : newLinkType; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SimplepdlPackage.WORK_SEQUENCE__LINK_TYPE, oldLinkType, linkType)); - } - - /** - * - * - * @generated - */ - public WorkDefinition getPredecessor() { - if (predecessor != null && predecessor.eIsProxy()) { - InternalEObject oldPredecessor = (InternalEObject)predecessor; - predecessor = (WorkDefinition)eResolveProxy(oldPredecessor); - if (predecessor != oldPredecessor) { - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.RESOLVE, SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR, oldPredecessor, predecessor)); - } - } - return predecessor; - } - - /** - * - * - * @generated - */ - public WorkDefinition basicGetPredecessor() { - return predecessor; - } - - /** - * - * - * @generated - */ - public NotificationChain basicSetPredecessor(WorkDefinition newPredecessor, NotificationChain msgs) { - WorkDefinition oldPredecessor = predecessor; - predecessor = newPredecessor; - if (eNotificationRequired()) { - ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR, oldPredecessor, newPredecessor); - if (msgs == null) msgs = notification; else msgs.add(notification); - } - return msgs; - } - - /** - * - * - * @generated - */ - public void setPredecessor(WorkDefinition newPredecessor) { - if (newPredecessor != predecessor) { - NotificationChain msgs = null; - if (predecessor != null) - msgs = ((InternalEObject)predecessor).eInverseRemove(this, SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS, WorkDefinition.class, msgs); - if (newPredecessor != null) - msgs = ((InternalEObject)newPredecessor).eInverseAdd(this, SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS, WorkDefinition.class, msgs); - msgs = basicSetPredecessor(newPredecessor, msgs); - if (msgs != null) msgs.dispatch(); - } - else if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR, newPredecessor, newPredecessor)); - } - - /** - * - * - * @generated - */ - public WorkDefinition getSuccessor() { - if (successor != null && successor.eIsProxy()) { - InternalEObject oldSuccessor = (InternalEObject)successor; - successor = (WorkDefinition)eResolveProxy(oldSuccessor); - if (successor != oldSuccessor) { - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.RESOLVE, SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR, oldSuccessor, successor)); - } - } - return successor; - } - - /** - * - * - * @generated - */ - public WorkDefinition basicGetSuccessor() { - return successor; - } - - /** - * - * - * @generated - */ - public NotificationChain basicSetSuccessor(WorkDefinition newSuccessor, NotificationChain msgs) { - WorkDefinition oldSuccessor = successor; - successor = newSuccessor; - if (eNotificationRequired()) { - ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR, oldSuccessor, newSuccessor); - if (msgs == null) msgs = notification; else msgs.add(notification); - } - return msgs; - } - - /** - * - * - * @generated - */ - public void setSuccessor(WorkDefinition newSuccessor) { - if (newSuccessor != successor) { - NotificationChain msgs = null; - if (successor != null) - msgs = ((InternalEObject)successor).eInverseRemove(this, SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS, WorkDefinition.class, msgs); - if (newSuccessor != null) - msgs = ((InternalEObject)newSuccessor).eInverseAdd(this, SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS, WorkDefinition.class, msgs); - msgs = basicSetSuccessor(newSuccessor, msgs); - if (msgs != null) msgs.dispatch(); - } - else if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR, newSuccessor, newSuccessor)); - } - - /** - * - * - * @generated - */ - @Override - public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { - switch (featureID) { - case SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR: - if (predecessor != null) - msgs = ((InternalEObject)predecessor).eInverseRemove(this, SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS, WorkDefinition.class, msgs); - return basicSetPredecessor((WorkDefinition)otherEnd, msgs); - case SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR: - if (successor != null) - msgs = ((InternalEObject)successor).eInverseRemove(this, SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS, WorkDefinition.class, msgs); - return basicSetSuccessor((WorkDefinition)otherEnd, msgs); - } - return super.eInverseAdd(otherEnd, featureID, msgs); - } - - /** - * - * - * @generated - */ - @Override - public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { - switch (featureID) { - case SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR: - return basicSetPredecessor(null, msgs); - case SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR: - return basicSetSuccessor(null, msgs); - } - return super.eInverseRemove(otherEnd, featureID, msgs); - } - - /** - * - * - * @generated - */ - @Override - public Object eGet(int featureID, boolean resolve, boolean coreType) { - switch (featureID) { - case SimplepdlPackage.WORK_SEQUENCE__LINK_TYPE: - return getLinkType(); - case SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR: - if (resolve) return getPredecessor(); - return basicGetPredecessor(); - case SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR: - if (resolve) return getSuccessor(); - return basicGetSuccessor(); - } - return super.eGet(featureID, resolve, coreType); - } - - /** - * - * - * @generated - */ - @Override - public void eSet(int featureID, Object newValue) { - switch (featureID) { - case SimplepdlPackage.WORK_SEQUENCE__LINK_TYPE: - setLinkType((WorkSequenceType)newValue); - return; - case SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR: - setPredecessor((WorkDefinition)newValue); - return; - case SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR: - setSuccessor((WorkDefinition)newValue); - return; - } - super.eSet(featureID, newValue); - } - - /** - * - * - * @generated - */ - @Override - public void eUnset(int featureID) { - switch (featureID) { - case SimplepdlPackage.WORK_SEQUENCE__LINK_TYPE: - setLinkType(LINK_TYPE_EDEFAULT); - return; - case SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR: - setPredecessor((WorkDefinition)null); - return; - case SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR: - setSuccessor((WorkDefinition)null); - return; - } - super.eUnset(featureID); - } - - /** - * - * - * @generated - */ - @Override - public boolean eIsSet(int featureID) { - switch (featureID) { - case SimplepdlPackage.WORK_SEQUENCE__LINK_TYPE: - return linkType != LINK_TYPE_EDEFAULT; - case SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR: - return predecessor != null; - case SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR: - return successor != null; - } - return super.eIsSet(featureID); - } - - /** - * - * - * @generated - */ - @Override - public String toString() { - if (eIsProxy()) return super.toString(); - - StringBuilder result = new StringBuilder(super.toString()); - result.append(" (linkType: "); - result.append(linkType); - result.append(')'); - return result.toString(); - } - -} //WorkSequenceImpl diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f9/00ed13339822001c17faa9b6b0561c0f b/.metadata/.plugins/org.eclipse.core.resources/.history/f9/00ed13339822001c17faa9b6b0561c0f deleted file mode 100644 index cba0f24..0000000 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/f9/00ed13339822001c17faa9b6b0561c0f +++ /dev/null @@ -1,234 +0,0 @@ -/** - */ -package simplepdl.util; - -import org.eclipse.emf.common.notify.Adapter; -import org.eclipse.emf.common.notify.Notifier; - -import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl; - -import org.eclipse.emf.ecore.EObject; - -import simplepdl.Guidance; -import simplepdl.ProcessElement; -import simplepdl.Request; -import simplepdl.Resource; -import simplepdl.SimplepdlPackage; -import simplepdl.WorkDefinition; -import simplepdl.WorkSequence; - -/** - * - * The Adapter Factory for the model. - * It provides an adapter createXXX method for each class of the model. - * - * @see simplepdl.SimplepdlPackage - * @generated - */ -public class SimplepdlAdapterFactory extends AdapterFactoryImpl { - /** - * The cached model package. - * - * - * @generated - */ - protected static SimplepdlPackage modelPackage; - - /** - * Creates an instance of the adapter factory. - * - * - * @generated - */ - public SimplepdlAdapterFactory() { - if (modelPackage == null) { - modelPackage = SimplepdlPackage.eINSTANCE; - } - } - - /** - * Returns whether this factory is applicable for the type of the object. - * - * This implementation returns true if the object is either the model's package or is an instance object of the model. - * - * @return whether this factory is applicable for the type of the object. - * @generated - */ - @Override - public boolean isFactoryForType(Object object) { - if (object == modelPackage) { - return true; - } - if (object instanceof EObject) { - return ((EObject)object).eClass().getEPackage() == modelPackage; - } - return false; - } - - /** - * The switch that delegates to the createXXX methods. - * - * - * @generated - */ - protected SimplepdlSwitch modelSwitch = - new SimplepdlSwitch() { - @Override - public Adapter caseProcessElement(ProcessElement object) { - return createProcessElementAdapter(); - } - @Override - public Adapter caseWorkDefinition(WorkDefinition object) { - return createWorkDefinitionAdapter(); - } - @Override - public Adapter caseWorkSequence(WorkSequence object) { - return createWorkSequenceAdapter(); - } - @Override - public Adapter caseGuidance(Guidance object) { - return createGuidanceAdapter(); - } - @Override - public Adapter caseProcess(simplepdl.Process object) { - return createProcessAdapter(); - } - @Override - public Adapter caseRequest(Request object) { - return createRequestAdapter(); - } - @Override - public Adapter caseResource(Resource object) { - return createResourceAdapter(); - } - @Override - public Adapter defaultCase(EObject object) { - return createEObjectAdapter(); - } - }; - - /** - * Creates an adapter for the target. - * - * - * @param target the object to adapt. - * @return the adapter for the target. - * @generated - */ - @Override - public Adapter createAdapter(Notifier target) { - return modelSwitch.doSwitch((EObject)target); - } - - - /** - * Creates a new adapter for an object of class '{@link simplepdl.ProcessElement Process Element}'. - * - * This default implementation returns null so that we can easily ignore cases; - * it's useful to ignore a case when inheritance will catch all the cases anyway. - * - * @return the new adapter. - * @see simplepdl.ProcessElement - * @generated - */ - public Adapter createProcessElementAdapter() { - return null; - } - - /** - * Creates a new adapter for an object of class '{@link simplepdl.WorkDefinition Work Definition}'. - * - * This default implementation returns null so that we can easily ignore cases; - * it's useful to ignore a case when inheritance will catch all the cases anyway. - * - * @return the new adapter. - * @see simplepdl.WorkDefinition - * @generated - */ - public Adapter createWorkDefinitionAdapter() { - return null; - } - - /** - * Creates a new adapter for an object of class '{@link simplepdl.WorkSequence Work Sequence}'. - * - * This default implementation returns null so that we can easily ignore cases; - * it's useful to ignore a case when inheritance will catch all the cases anyway. - * - * @return the new adapter. - * @see simplepdl.WorkSequence - * @generated - */ - public Adapter createWorkSequenceAdapter() { - return null; - } - - /** - * Creates a new adapter for an object of class '{@link simplepdl.Guidance Guidance}'. - * - * This default implementation returns null so that we can easily ignore cases; - * it's useful to ignore a case when inheritance will catch all the cases anyway. - * - * @return the new adapter. - * @see simplepdl.Guidance - * @generated - */ - public Adapter createGuidanceAdapter() { - return null; - } - - /** - * Creates a new adapter for an object of class '{@link simplepdl.Process Process}'. - * - * This default implementation returns null so that we can easily ignore cases; - * it's useful to ignore a case when inheritance will catch all the cases anyway. - * - * @return the new adapter. - * @see simplepdl.Process - * @generated - */ - public Adapter createProcessAdapter() { - return null; - } - - /** - * Creates a new adapter for an object of class '{@link simplepdl.Request Request}'. - * - * This default implementation returns null so that we can easily ignore cases; - * it's useful to ignore a case when inheritance will catch all the cases anyway. - * - * @return the new adapter. - * @see simplepdl.Request - * @generated - */ - public Adapter createRequestAdapter() { - return null; - } - - /** - * Creates a new adapter for an object of class '{@link simplepdl.Resource Resource}'. - * - * This default implementation returns null so that we can easily ignore cases; - * it's useful to ignore a case when inheritance will catch all the cases anyway. - * - * @return the new adapter. - * @see simplepdl.Resource - * @generated - */ - public Adapter createResourceAdapter() { - return null; - } - - /** - * Creates a new adapter for the default case. - * - * This default implementation returns null. - * - * @return the new adapter. - * @generated - */ - public Adapter createEObjectAdapter() { - return null; - } - -} //SimplepdlAdapterFactory diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNET.toTINA/.indexes/e4/cc/89/27/1d/b9/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNET.toTINA/.indexes/e4/cc/89/27/1d/b9/history.index deleted file mode 100644 index c8a9f47eb2dfffe748ab80b444931a0462f90863..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 76 zcmZQ#U|?Wm(AF<5O4d&+($6#3FGwvZ%Jg#$(J#pl@$_@l&rQtC(+>f&^|BJn5*Zi+ cVtwqssxrt(Us?K~#X#5e#|7QM8b$^N06Rw)b^rhX diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNET.toTINA/.markers b/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNET.toTINA/.markers deleted file mode 100644 index 1d5a6e73648f94df41ab91f486b095bdc45d0003..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2753 zcmd6pO>Y}T7{|wUM3a_7%Z(DjNI4{-$(W)_RV)Ouh=bfJZXuR9AS5O`kJr=8&TMC9 z9V~I+gphjSK=}sr8zAmnxbRY5E_?(&0UUW|y>{2z#7%R;k|poXjAwrT|MN10kOsNd z99X7rvJ||Py-uHb)9?1$&HYZlz1{8YHTT=S?q27h&-V8SAvOHsr}1N*tQs3Lh?Gnn zuv7qxjKv?;94bi23uM{B2(0wuIxeV@m13kT@cHrvxsZT!Jcb4tueURA67FTRy>CRO zV7tc?Sf@ka0xXq|TDYG{3xaw>4}l8lB7=X$954ZSQm1Uot9#RvytW5-?5z++#EOp;0k_BMy@#(SI zWM{k4XCzQJsx&q^WNM*{B%OD@)9Ag zr1Ha{asqy61O|WU92?c$XZvi1sQ0+ck5izhQH4|rPVqEVGRm`OU~Il_76i1|qu(nF}@o9d&UgY58^N_Vr`6uP1b>)9a_FJ92Tu#(k z3H96^k>$k&bM+c|F~fS%5z+@;QKb^`>VrH4DXINXGV7E6o!vWB4(Qlq^jNxK2so5U z$C#m*rSYWBNQ12^w6Ei#QLsfrPqR{lInps2%7B0Y&r~R`Lq3w2tZryBCCGAW@oCmw zD~;^CB50@9{vNEw#;}-l?Sn<6Yu}$l3T09alNPO{!|E8AOQ3ig(0+?@f!#MB2kXL= zphtLt?H(&9?G~bO?VpJD4BWpexPP1pxB1c{+~(&e;p!5uEz=cukK&?&o?=6BIUnA8 zQm|fvqXWE3xQPTvEiJvDaU};5RZF?ggJfQf#oV>474ARJ#J&4q5%=ytCvmHsyYMEr z8GV!<1DLD4>xT;m9bhNLphQv&FMQ2} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNET.toTINA/org.eclipse.acceleo.common/acceleo.state.dat b/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNET.toTINA/org.eclipse.acceleo.common/acceleo.state.dat deleted file mode 100644 index c95d97b39bf2d661a2d4a87c64d15c010ad90b0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 67 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 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNet.edit/.indexes/e4/47/f/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNet.edit/.indexes/e4/47/f/history.index new file mode 100644 index 0000000000000000000000000000000000000000..2cbbcfb316ae671999019877fe4ecf42bf8ba70a GIT binary patch literal 221 zcmZQ#U|?Wk(A6(4O4ct(Eh);(OD)kaD9SI(Oi3-$56DSOPW3EF%?*Hx=w&6AB{DE3 zd_4KvT7yAGBygeA)en<6Pq^?V)Gz{#(#BzsV^K1uF)SBs{;=BujgeqkW!Pvb*R|(? n9N3rwoz*98kc?ll2O`dprFjHd{Ldtac!T-5y~yH^q0RvS>K9Bc literal 0 HcmV?d00001 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNet.edit/.markers b/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNet.edit/.markers new file mode 100644 index 0000000000000000000000000000000000000000..f9abfe9cea27ae9fe00a29d3405a5ebf7945b2f2 GIT binary patch literal 663 zcmb7?&uSYn5XQ%LX;OzmpqCzU7lnb+8i}KR{&d*ej})RB6_UA&-)m z$(u#Hq_GLPL?AT!GvCbjLjW*<)A1?@`%8G@py$MbO3mY0zBtc{`D8phpBIz-dLd>L z0O+Tg#)r#3oVc(Sq>T2FgfB@b7g7-1(ohW_;V{yMg63_T(}PdXH$|ED$6w%}rWoa# z1|Sy|;q*_A%2}4$Qb1>s)1fjlMlZQS9nm^QiJroW6k{z}RmiS;H=6#u&a)rlY=m@2 zs$rc3$Zm9SwkFFkG)Z>e)JqC&H%Bm3l4`p?uem_}dm4PUS{+egA$%=X8(G!=)v3tInr4 z%{tR|6tN^vwj`@GMGW+>(IEvgxqi!ko4+ge9jlZ`Nik8~Nxq#KE7zD3mxPkhkc_;i aB;F17WCzxZwqlDkW9KsCZqqmEkUjyY*33!( literal 0 HcmV?d00001 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNet.edit/org.eclipse.jdt.core/state.dat b/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNet.edit/org.eclipse.jdt.core/state.dat new file mode 100644 index 0000000000000000000000000000000000000000..989e4ccc16bcc785e2bc99f6dcbcae50526714f3 GIT binary patch literal 47152 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 AiU0rr literal 0 HcmV?d00001 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNet.editor/.markers b/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNet.editor/.markers new file mode 100644 index 0000000000000000000000000000000000000000..90c8d78316c0d173344c686a8e56addc85537422 GIT binary patch literal 665 zcmb7?&uSYn5XQ%LXcC7)A(tF{7dhgyde$mIGh|4sg`*g2Ldk&|h7hi>6|OG-Ky7;~vvDX^}nwLhH?^ literal 0 HcmV?d00001 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNet.editor/org.eclipse.jdt.core/state.dat b/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNet.editor/org.eclipse.jdt.core/state.dat new file mode 100644 index 0000000000000000000000000000000000000000..54f97e6b69590355e6b86089f65141228da8ae75 GIT binary patch literal 109809 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≶N6+pW9L-x# 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 ZxE!zruoZAV0Q#xy>6N&${ucpO{a^h?;M4#B literal 0 HcmV?d00001 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNet.exemple/.indexes/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNet.exemple/.indexes/history.index new file mode 100644 index 0000000000000000000000000000000000000000..ed755ddef2f1313e4edc6dfe49e6c8555b9a9cf9 GIT binary patch literal 93 zcmZQ#U|?Wm;L-Q3)GJ6WDay=CEn#48m@nXHqro5}61dRm>W4|3Q%{N~)G#tIOeoIZ XY>g!DlmQV};JdICS^U@!5wLmy>_Qyw literal 0 HcmV?d00001 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNet.feature/.indexes/properties.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNet.feature/.indexes/properties.index new file mode 100644 index 0000000000000000000000000000000000000000..9c72f604306bdb44dcafd4daaaca8dd8a5aa935a GIT binary patch literal 250 zcmZvXK?=e!5Je~1xDiDUAYP!;r6+JNy+LiiWiU2jl7PLv(sWVK<$V5opD{#aX|z1$}TS}rAdeSp2hVX3L=PP%=ZcN<2wCu&1^A!071o6;Q#;t literal 0 HcmV?d00001 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNet.tests/.markers b/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNet.tests/.markers new file mode 100644 index 0000000000000000000000000000000000000000..879f49dc44b918ed9f14a4558cb954957983376d GIT binary patch literal 664 zcmb7?&uSYn5XQ%LNK%(TAeSC|70jv1FZW zWrv#3`T2bI_|)J?K$e|$J$Y;U)4zuDeLv!*Dbk_ICkPqk{3mGbLmBDWj4vS96PpUA4@sor%~A5)h)KzBtx=g zDamij!<;$uFz@p+|6rbGe#(4b0pLYpVONuFdXf}%psp$a7Z-N}a0|GlUhWO{YuQex z-5+MPgWXYWr#Hyd%Dwxy@84OttX|$5)Veon{cJR7-_1s~Q8pY6RsLJ})9;@BVg;8A zYH2vwQA^wHuFlDyDRpsSeCu2+sb>9XIH-5p+x3IThxLQjl-?EFk0Ok)(%<&r+VRXN$u4SyQ6yd#@?`=b%*s)|G~~6+dmrBO_x^pJHyqr##&>w zakJj<9PPJJ%Iz|{TN@m8NA1Jx!FsKEv(~6RW`)L$wT;zgqp_h8Soq_A{m-BKXnh%} zrh00i_ElYFYDaZcTlLit*LB=6hgWUYRU=#t@VA9Bb(CSwUj8h@(;Zw5@w|h-`zW)c zp5pG>f?9YLZCshEje$DK+ij~uKow{|F99v6YiPZ!uHheGEvbd|#rct3sl{f~;4uEP zr2b`AmiLDHZL<3MnAKZrTdR#5n>U5k|M|aY@l&MBQxLADcEQd**iT^)CVVgjtWbJce<{4z3{_uG*6cw*_fb;|HU+ws!=YG9{dcFVznx>%0ksH^ zs$emCe@ci{H46R^)Tcse1+!4!DFJm4m}nT^=cONw`#!`yRaLMo)9)C(Og#o1Qu7eh zbt$5Q5i^KPboc=q+Fs6 zq%xcdA;oxQal2Zgmm$Q5sMS-Cz+;;DHso@IYuC)D?ThGM2$wvd9WZ)mdOaPEMOdWd zF8;YVemGU%i*Pwiw$OjAnIrYk;rq2yfKTl_0&T}SZ)j3R=i~I<0lt*b9yC>CbUJw2 zCJg~`A3Vz~oxyKws=jk7(SsGCL}?856oZqHLH?X{s3VsX6w;-QzPLPXoNBwYXKaI3 zrYMus$xiuxq{q}r`cs6T*3Mr}MJ4iNA5xP+k2oRJ6G8qja`e_zkjY8cVy4G@={@z1 zlfoUXb7sshBgdpmKgW}p^G=U}+HxDcF!0KZ*hQ+>K^TyY8pGR9A) z3^kwyX&>dQ z^M#6GX}^t_mikhsHFOs}b>{ho>SE`m)l~g{ZmVdyb}>&N%|r%XiS*Tn!&!k#l8Xm7y|R zu;ZDn6O%g`VYrT`hv|`rtLH5J!JU-}C+YAsoTPXcaM*8++S~0;d-Sw69JNN-gJx~5 z2Di9zl5fFt-(25toaB|~6cSN~#8#eD>ou-CrvuoD(C;oYI{!72NKb5LDOSjOC(A$z zy6&DE6=H2SyZ0WIy}$eehuFjB(q}~ zIb-!IXP#k@5!dR3m&7*&eCPwP#J`Q(nT?MrgyIi+WiZ)LTQ*m^-Nl`GHbUybMV z$MIk$+^G*|b*E;(KWcY-Pv}uS>~*>ObiJ_qwAom9e5n6%6^8f>lDviR=ZSoG!PQr6 zqwzNKditHCS?i_eo0H%K8-fkA^bAa(1$E7P74fR4d&F(iPc;6fmgu!#%ir57dn?`j zq@GuPj_gbbR5q(X<@?qTdfP+FQlqvt_Q-FnHL=%yvmtw#^KI)(Q%lnUWN91TY`oJl z{FkxJ=SG_U4iv*vk0&AknLrIth6%Q>@-k0j8P`IrHLDwL`u^e5~Uqq(vr9v`G{>S z@|{Q)hAW$%A)Yf+6QcEKR?*4_$emtylyyg=r+psoy5S6yJl)mU3Ql)%n7oott+*j0 zt*fDAk#Dh$zOs!X4bA6t04r_*=1ZdlqjqOylpQ!*{XRAqY>svRM)SsM@T8h5>rFj--C{(K~l2N1b0Sx6r%<-Ex@3@Q+0K|NQ*$P{w_EUBHD zCGc<$M__Rf^ubzfP1a@C*Kule6UPMe6R11@`tP^U@^eV(RZNC{?-|o!S7=uFCaq$^ zS|J5R;CxdOYt`KqE?h{jC}S|}o~&?JUV0C5IXGeOPDY(ja!!WP6Yz=BIcfi9`dm`1 zkCPyVy*)kHAtg@6V~aP>2XW#mvN9b-1y0!O^aOhnMO}z`h?PUtR<~xwHKby}5-rZj z%0w;mlA3*7fQd7{C)l{gc#z$~1RK+!rr5ZD{SNl+ERswoQ`UylltcV0o&-8x`ik|q z^O=+6cE0aZr0=9~EL2XmcO5BCdn>HW*_yf^JSENDD|`C994NtGdSP7#N~j64r?nh) zkCo3kiAX{~_fKsMu01(yV;r`p^P4vtoB8Q{*LjkU!v=ic!Y^Wof!NX`AJWV)%5f-euiI88# zISD70a&Va5`$On~wibB^2g42FdRRs#omPj%WfYc9&qq9}|KLQ365sUq;-Y%Z^APHI zaMn-AaggRZ zFn-IRqjMlPlJc-_qLrfey=8MM14_TBM3u(2g zLx|NO#Oe^DcrnCBnAY2g;Tt&-#V@@86U{9i&y&Sl`c-wht{cd!3g6aq{8HkL6zauR z0oD&AUgpW=^{Sx?-^Nuc*9~?qOb?^K%gxeOX2X+d>%ywSw`uz7w@ZEyIR5~kyzrh( z;pz|~<(BWegigNHY7O7T9Eooh_^u!fTvjGjB!?qA9J)mW%&a;oFwfk8{|OTUx7dZMkDzWJFtq>O&XhHi8P>VskDzj9Go? z!rjdxI|I_IkkETmg=?!krS<$hhTV>z?}gAnf&PlkJ<_D-X?m?;_gIRb@5*?8Q+ep=70h(dst;XM zp3SPSNDBmHqam}XDu9OHS> zXIh14`|AqNwxs42d~Ey`@hTjfISFbsc%H$m#wuKeUpr}#BTkNs8)3&m%8a`wy)lN9 z5Z33bLN1M+Qw`>oT{=2My6)dj__ZZ9=g3@RJ*mR2@gOfzV81`gQ?z`qh%R^T)^YrN`{x6&9Wb&Sd=G&V9ma#t`XXZ;I!mu4v;LCI#LsK5z%oSqQJcpPFD4x^`qYba0N;5nb5 zjHfneR^idYlaW@&I9-x3ZxRjTsq@Yzz5ApLlu+_z&uGfJ6|p*29%r9dl@bvnkn;=O z#i?}_4z1lEW~=+1;p$ogF+CbL>;2Bre!DxY_Xhh2?b=~}Ewf=>j|(wpnE1nmI3d%j z@Ml=h*;nB@yqm1*ME%_mIpJ^?2|8r_P-P)-%2tIxi*14P!wOa5&ujofJBhlIdo=x^ zYUzMwRrs@$g>|%amaSs0HAvGr45U_tKdZu@{UwDzn;}e6748gEzOqEfXL|7dMm{vK z@TcEB``N!C@0@yTIM}K8v(cd4%|`VRV#y8bw+B1-8C33|^|+-jMGD;QWk~Kn{3-S1|6idiqiYVvL9Qg5fQ&nP?~pK z)Dr`4Sm%>2a-WIj61Q(ro8h#qo09~&hrSR3m;0nYd$*6P^Xe|HGnCyOW2w}a$cgun z5C~_85@*$IK-qEX6=`rj^7UV(eljlqCHkUq(!oRHv_6AYhWN)rz$3J}Jg(1vxwBw~ zh5QKAVOh(wZ}WHA7XF!>0{nI%`9K=R%emZJ&O?*(15u>bo&1wg4BTS3%xmgeSzxIZ zND9YuVjbhNFJb3_@8{sdJz#Sie?LYmsq(csw9BBpJZ6^S+ls?YrCxAk`z~sY z0I`FAw$H>aE}J4BXHjnlbr_^o%RYAFK!)~EcO}o$y9S7*?_TG#P!`WBzyG?FyKjLs zbsb2&cO6@l0_&7g>Z0K~wS&@3&M*iECFXPB%2x-JyL8_30iO3zd*sw!0^b>(Ua42q zcj_zT_&qE3O4>aav`g%*LoBVwE06-KA(V#SqQ%eA{y9ANEyW7~Htz&fz7UkreLT+2 zoJD(I;|r4qIk%~S7h!qs0RC;@^d+R}0q(xT-#h5(J>d8?{>J2Tt+V$MxNLnZ?CBY74=nW+2@oY zEsezcXsqAV8uvNv%M|yVf_r(Zr-crp3eyHH6-@&=SaUmdL8Kvq&Jb?LV6qN5)$d+mbr}k zD@gAky^Ay{|Gh}Q--ch`<`e$=iTYRZocX^*A|GS;apj-NW8GNZ2YCMBguK-Wd9_F$ z`%*_D9sTxfKN}PBniKNKqZG_o|JWY;x0a}9X-Ykb(KGg(@ciet&#~u}t=RMR#Pbw< z;<}9F%ISuA=Ht$C?la;?9dPTqda`NqtzKXE?r%8v#Ba;HzvnMRm~ltz~ZoOM}-c_bd;{S=At_+vYS%X)-Mn8br^6A!jWc!a~BkJ|zP zu#mO(7HK{s5^S8K1(Bh(CIYr`+px9Vwn3Kh8(Optu@}V10%Ak95%z)&(e(2fO+L%< z$2|7V?HTjfGnd*+yrGPfOvISj5g>tCSxAi?mr>>l(mP1+BE5(7KGIbr+U{#eA0T~* zw2DL=<>N`bnLntP(Hk8+D9&MHyv>sZ-P=>dq~s+eqx}M@Szd zkrk>DNeXk2n!ewnH4)7P)o{iFgwq_QAqu9pXUztw<4nwnH3=8~b<(iTcMM zZ6N#eHWKmT*h^-xKbMh6FVcee(N--Wu^;Rs=}3C9ucQ^}&OVTy>=*k_vE`3aMcR>W ze71;0+AJfH7R!9V%+HXHlOPglS_xWVL!=^g;&UYSh|iXgh|LO;k1a7JmX=%88B&;( zq9hU?%djpHV;-fGoQx?pDZ#p=1mO}FQkXap9} zNof~(Qr~tUg*b`kBOgQD$L*}8{Fea04)_HoQT{7~n2Wqic@o1?pB=RvNOhu22MUz` EKd&R|>Hq)$ literal 0 HcmV?d00001 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNet/.indexes/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNet/.indexes/history.index index 6251796d9f7a1eaf03f99e1e877aaa090131d8bf..44522926b679d72def13b4850944fd988ce206c1 100644 GIT binary patch literal 90 zcmZQ#U|?Wk;L|TiEh)ujPn4fkRoWH!lsXXZ0sLdbx;oUR=+A6N;&sU?KzB3)f2*>W~rTrIO%dc9(c86l*P zH(tZfeR65thJnzk^uS69Ojw73v$=+XoRJF;dvGcoVos0T|MMl2cz*JfoEP9d-@t(I z)fVXdYf6PRfhz-!T0;ZA6qw1l!WN~{;6A}&K*oPho+%S! z9u$t1v^7cZ=l4fh9&sR$MX!FIcgKGIuc7qV58K5eqdDL6y6=x2I&TiZg`X7vI#D_;GfkwsR{1D zg581n#&v~mJ1eXNJtdD@-|KZe%$14T)|JEpCw8UxS_^p>?Yg#FqEE+-*qBO-_@hJN jRv{wQ`1i)T9r{;5m(%dnfTUx;7i~(->?h4NoHoA!2;?F| literal 0 HcmV?d00001 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNet/org.eclipse.jdt.core/state.dat b/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.petriNet/org.eclipse.jdt.core/state.dat new file mode 100644 index 0000000000000000000000000000000000000000..132c264d1dad816c3a1d5d709ebf165bb019bd8a GIT binary patch literal 46680 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 a1;l^?s*@ix?nD+82MeBM+6Odl`aA&l1Rojz delta 101 zcmey%^_OdcH52pIjkXeuEFl}+k4=tb^kHJ&GkH0q&E$*BJ9z?Cf(sbHfO+raHO#7$ bceCt67TgCGe9U+pS#UpC@HW#?7LaxTSw$XY diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDF.todot/org.eclipse.acceleo.common/acceleo.state.dat b/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDF.todot/org.eclipse.acceleo.common/acceleo.state.dat index a7cbb6930a8266c4d29c493d34d2bb6b3a671ad4..4cc647a1f016d053917c8ddc3a7c87aeb6d62782 100644 GIT binary patch delta 9 QcmZ>Eo?y=s|6%%401z1iEo?y=svf&6101oa0E&u=k diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDF.todot/org.eclipse.jdt.core/state.dat b/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDF.todot/org.eclipse.jdt.core/state.dat index cb968358ff297ad3a66ee1a806e742347e836164..7c0b3c92870a49863fddfc8638f57a796b3830c3 100644 GIT binary patch delta 21 dcmX?fi}}zk<_VUZj0_BnHSr&&^el9G3jkgx2+jZi delta 21 dcmX?fi}}zk<_VUZ0t^g{HG%TUp$nbf0svRS2bKT; diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDL.design/.markers b/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDL.design/.markers index 89e1accecc8beb366365209c26e06f14b9b5a361..a00c5fd829f65f4afd9ce1e29e72790914041eed 100644 GIT binary patch delta 34 ocmX@Xa)M=o4HJv>Mmu&!miQ0Te@ymd^kHI=nmnCxEr|aF0K-WPP5=M^ delta 34 pcmX@Xa)M=o4HNVIjdtveEFpJy7EShK^kHJYH+eeaS|ESNd;ryi4G;hT diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDL.design/org.eclipse.jdt.core/state.dat b/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDL.design/org.eclipse.jdt.core/state.dat index 7c062d63fc2ce1dfc811302373bb2b81a794732c..c39111f16e2416a3db4fe694e2820a6ac5599dfe 100644 GIT binary patch delta 25 hcmex&iuKda`J3IK}^3EThx delta 25 hcmex&iuKda`J3IL3L3HJa1 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDL.edit/.indexes/e4/fa/f/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDL.edit/.indexes/e4/fa/f/history.index index 7c39acab3aa9960d7c476ca3eae95eb22371199a..4b5467a85012008f666dc9ff8d1dbbc859894427 100644 GIT binary patch delta 38 ucmZ3)ww;NUiGhKEd18bGBlE8Z$CZKFcUExs=I-k!kWOCIbMl#tDW1 literal 802 zcmZQ#U|?WjFxM|GO4cvV%q_@CElA1HFDS|{%S=fv(htus%63Uj%goCx$;{95EJ@7` zfJ*6QC6*;JFf!bF?mtI~K}O(MpI7%L*^4PL%GNcEKtoOO85x{fSelxboQi26x5F7m z<+rK~G9prUPZSx~{yVDlGXP}Z1+zGDWO0UbKfvM!Qwz9|#hDEH!Qu~+j=i}9G)Hvh zb?(q;56%KDXRyN(&K+Q$3v{qx?|TUbmy5TWm>}W;{K9`h9)XEJJ?{iozu-yKS7hI*c3;?+#WWA-Rw3m-H7=P; zi=;lfgT)^_-n|z&jGkP8h;NX-v;$fE<4%Zpz(K#Q$l|PTUBTuonD!?RS$q-9Z-%)2 zR-9j2ge_sP3Y?Fa`wkeP(pQ!~Xfe<={rn%2FcNmkTOxb96YA-P!rLgGwz%Q~cGQNZ WG8be=%~=8wH;8{=gDk!l>R14wOeL`Z diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDL.edit/.markers b/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDL.edit/.markers index 95cdcb497cf1c6839a8cb05f4fe586cfdb024a99..4c54e14823400ecbb8ab92ed508593e18364e4a6 100644 GIT binary patch delta 36 mcmbQiI)inB6%&ihMjKW}p7;+l>KVX*MRv0Xb*>*b376Z(*Wfq|33VDiU)@y!W+8;t-@DG*-( delta 42 ycmbQ(#5}Qyd4dHeBLf3tO(3(f$41A0ymT diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDL.editor/.indexes/e4/fa/1a/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDL.editor/.indexes/e4/fa/1a/history.index deleted file mode 100644 index 4cf709141bf47674abb28492e835f2dcb3bb979a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 86 zcmZQ#U|?WmFx4+EO4cvV%q_@CElA1HFDObaPR%PxEXmBz(+`FT`{t*l=7eWfB^IUV jWhIs+GB7$!{uD4ri9tr-Sf5w-CfSQ`QDYk{=@XY+ifivRihb= zrYlZnbYwJ~&hNqKI9+8jqtkYcDU3Urrca!~sKRQ%z`!6lJ#aar@N|VFMm|?&-|a84Va!5$>2S zIEzt-ksmI=GhKBy(4d<@&5Y*Ti)J&f;bIg6$!fBzFo68v1m;W+Sk4$XebzF@9!49u WfYx-MY@nU%mNV*X=UTzo$_fA}{%Yd@ delta 287 zcmX|*J4?f06o$XYn2HX93JxyylGI2=Y|@%mP|zZ@lhjGjsrn0CT)Mb92o;o`G{Fl9 z#-W2C5}f@HD%2n2mlj;k<>BzWr`^xA`U)(Rf3#s_?`+MCo=n%+PMljlM&u;qfT9pHBlArTr4*3UcaMTirPE~}PgfgPdI5P# z@*1!#4?<4P1xN0>`hH_bE1{;JDR5JemnUJ-^p#Tff5N1Ehpft5fW>-hHa%r2cMvF3 xp*Ged9EzQYI{xsFLUI<-n~-KqOTM1DVmI}zbYhO>H)f65!ER_#GWNoy`3H82RyY6v diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDL.exemple/.indexes/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDL.exemple/.indexes/history.index deleted file mode 100644 index e176fef65a7d48770362301c25ab544ba016e12d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 214 zcmZQ#U|?Wm;MMo7)GN-+EyzhNNXcQ~XgK})$Xq1`8NuH75)3XEZ=HGNU|qw=!0_OD z`O-N^;?f?rVDW}F4snpUz_C8B?oF~6BR5-v#TRJz-=7T<|GmO%z7oev0X;K_`21B2 z$l?i)jlkj?f`Zy-0o4m_`PFt|^*@!Fy@p`%0x6wfWbwO3`e1Q`Nk-pi0@cf&-bogl)dy@P delta 11 Scmcb`bcks}BO}MeSqA_cAq1uX diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDL.tests/.markers b/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDL.tests/.markers index a896f7076e6916e94226ced4b5d9d3a3acba7f4c..77720973e127af658c3bfef69d03b39ff479c2f4 100644 GIT binary patch delta 36 mcmbQqI+JyRH4}@%Mq5@!p7;+lFEW4ui{fTKMt4RQkO%;-GYS&` delta 36 mcmbQqI+JyRH50S!Mq5@!oJKz`(_zIyqss$Y$T!Z4v-0NDV0f diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDL.toHTML.ui/.markers b/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDL.toHTML.ui/.markers index eb13ad64dc6b584a25482026b3cd8c1656cba08b..4ad8bcc3ebaf7dddf6da97df441ea899aca3d5ad 100644 GIT binary patch delta 135 zcmZqVYvh}t#l)gMQRgpz{D(Pn7{Gu23~Sc41@#i>OZi$S6H|D~kvdi{|9hEJr}&qcsz=)@B_h2}T~E zz)Yw*?acwqE{tqo5!J~b8Koz0Wf5Uw=AC?+i8zlX5EM^zz>-!f8K7<&&Vq>y?HUC6{GBQ`^i9} SWGbT+vkHUZ_Fan^JD3277!#)e diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDL.toHTML/.markers b/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDL.toHTML/.markers index bad3a736a95b1ea69806593c9bde3f37b2876287..1d79d5d44bd19aa7814b72641e5a325a74ef2e50 100644 GIT binary patch delta 93 zcmZqVZseX|!^EPt(N2PqCH})~{mD^`{!A9nc%<@|M5u*01%7=^#A|> delta 9 QcmZ>9nc%<@vf-FF01rq5asU7T diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDL.toHTML/org.eclipse.jdt.core/state.dat b/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDL.toHTML/org.eclipse.jdt.core/state.dat index 425fa9508ccd1d94c2983b04ece5bef02205b8f6..8e66b80f37a45b9b9934b7b6650d60e7276d88fb 100644 GIT binary patch delta 22 ecmX?ii}~Cw<_T7uj0_BnHSr&2Uft--{T2Xe=Lt~& delta 22 ecmX?ii}~Cw<_T7uObiT+HG$0PpEo*lzXbqb^9Ta~ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDL/.indexes/e4/fa/1/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDL/.indexes/e4/fa/1/history.index index 8b0feade0d5a023c9b5558ab6eba65ada3670979..0ed41c538cbdaa57f6fbbe44e06c14aaf4912466 100644 GIT binary patch delta 104 zcmbQrc$9I1kt_3q2`AYtH5g=s1+IP)UYYVNh3|iS4I=}?hl|ng%#p-1ZvF#{KhSY} bh%7Fu@F#wvyP3p-DyK#ZB=wRKf57SiJ_IL{ delta 56 zcmX@gIF)gNktm~sgplzJB?cMsUn{q52$SK@yS31CV!4^b22EiUak(=KO=}n#7yt|2 B5|97@ diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDL/.indexes/e4/fa/2/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDL/.indexes/e4/fa/2/history.index deleted file mode 100644 index ba5399432ac75aa8b86ffad3f59bc433e4ac2fc8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 197 zcmZQ#U|?WkFwie9O4cvV%q_@CElA1HFD=Q;(GP}k9a9nuN>Yp55|c~viz@Z963Y^S zdfo~f&ro8J5&yMv+lDY1evuqy>l#J|27_mM+Q{PDTN+G3;tU#i?FcT3RF?dUIR5705qCH5dZ)H diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDL/.indexes/e4/fa/20/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDL/.indexes/e4/fa/20/history.index deleted file mode 100644 index 25a41770c00170f3afdd027c6f590694922928f5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 764 zcmZQ#U|`^6P}MIkO4cvV%q_@CElA1H2Ql=6Qj7CTi;`14fgHW8#Ii&N#spz*;~7c} zGUC5hZrczh!ylfjY+b_$G(s1f0l_fy+!B*Z@{1}F1~DyIk804;Y=}Vy=Vi5#EtuQV zU<$TC1)Bu{Mfu68#l;A786846P#h@R3e~TTN55-MYHn&?3BnjAf&1(z#>D18ocDp( z0>yb3Va~(v|A55g?8J1WfMgC3;=3{%7?1+LS9r}=;&|D*9Ad!(Zypqj)uG{%u!jr9 z;%1n|n%Mjmo?nz5oLX3#nuij5A3_9C4F3-^1Z&`c3~@3jI2K(TiF_{UsX^WS-iIeYOXYz zxk0IgrK!awQ0EBrFrXOck_$BsU0Xm=esXGYF;v@u6aP_sAp-M-0-9~%`9;~mAR7@O z@L?Sjik0tSE=3OkWW6Dk1+WnOAkT`TUl(RKddLT*7U!21!9(7G5iR6kURA>4W|!2o z%)HE!%=|ovkC_?bO|Hxa#+$(J6<+g|I9?uG4hg6OmZ-id&w+>s+_FW9kDD-GqT2=y zSl67?+|)d1v@ksoLyZ=5sHqO`jZsWJ1v3>r?BJ;RF&!Fq%my~UE+hM*3hIjm WuTjHhN*2TyA2xp0LQYjFQ2PK|L;B?a diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDL/.indexes/f9/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDL/.indexes/f9/history.index deleted file mode 100644 index ab812b4a869c7d6467b3923714d084da74ae318a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54 zcmZQ#U|?Wm5Y_i}4RO@<^mEhqb@cOea}5sB^L1ljbcp^Gbx@H(MtJV}-4Sd4AAR23 KU|Pe-zyJVUSP&!t diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDL/.indexes/history.index b/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDL/.indexes/history.index index 5051bfe73e1d2865cdec45846296570dc09dc136..9ca97ec090a09953c2fc96d3f8fb221de5d0c9db 100644 GIT binary patch literal 564 zcmZQ#U|?Wl;L*>^FD*+=EY-_T&S78-*t6t|i3Wp=@ST;vpi+tMMJ?qqg5RG#_y|$T4Ky=5=2@qB8&UD-2;mUXx-@lpvoX4eP!u`76V;VKWF|xuuJ*$gEMmra#90a ze84W?`7k?>#~fs`z|~K}D^s4$Wc&#+p~adBSzNvJ4Oo1_dl?B+B$s@i{2DCouye*& z7yyguhPSp5Ub{dGo2=B&3b6TgMA1Ur!*$*#oA zq7(+!17G&vn+-Hl;P(oz`AQrwdBaS=Mm{+7Xg{(Ojx?!3#AB~4M)tk08aKpg>Kx_B WPP6Rc1dD&rF10`wpYVYLEDiv;Kz(lj diff --git a/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDL/.markers b/.metadata/.plugins/org.eclipse.core.resources/.projects/fr.n7.simplePDL/.markers index 86daf9039cf1ff7e2efab8f23a4489e11ff70bdc..a53515e50ca9e51e18c60f7fd34f9032ccf769e4 100644 GIT binary patch literal 2482 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 M2iwAC#+SeOKLTM2C;$Ke diff --git a/.metadata/.plugins/org.eclipse.jdt.core/473783695.index b/.metadata/.plugins/org.eclipse.jdt.core/473783695.index deleted file mode 100644 index 61d4e3c03ff621404d79a83e200894e4c1cbf46c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4122 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 diff --git a/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache b/.metadata/.plugins/org.eclipse.jdt.core/nonChainingJarsCache index e4e1736025886481973d76885249f167caac663c..721ba91fb0a5c00f1d7e830f5b28414691324265 100644 GIT binary patch delta 113 zcmdm_)U3kBz`&r(kTp4w+jXP2Im_fgPDlCT%%aTF;&?MX6FoycBLgD?Ln9+Y14{!7 wy{yC{hJwj~><&5*HG0YUxw-jydWp%&sX3|ndWnTOShP)k$Yiy7J4-bW003Pe!2kdN delta 26 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 PWR-HJb95mb2lRgdC_`16 diff --git a/.metadata/.plugins/org.eclipse.jdt.launching/.install.xml b/.metadata/.plugins/org.eclipse.jdt.launching/.install.xml index 6d14388..f077c48 100644 --- a/.metadata/.plugins/org.eclipse.jdt.launching/.install.xml +++ b/.metadata/.plugins/org.eclipse.jdt.launching/.install.xml @@ -1,4 +1,4 @@ - + diff --git a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2021/10/40/refactorings.history b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2021/10/40/refactorings.history index 295bc38..e2b163b 100644 --- a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2021/10/40/refactorings.history +++ b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2021/10/40/refactorings.history @@ -1,3 +1,3 @@ - + \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2021/10/40/refactorings.index b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2021/10/40/refactorings.index index 176cab7..2800c1c 100644 --- a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2021/10/40/refactorings.index +++ b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/.workspace/2021/10/40/refactorings.index @@ -7,3 +7,5 @@ 1633509120043 Delete resource 'fr.n7.simplePDF.design' 1633509911075 Delete resource 'fr.n7.simplePDL.samples' 1633509916235 Delete resource 'fr.n7.simplePDL.design' +1633700610254 Delete resource 'fr.n7.petriNET.toTINA' +1633700784924 Delete resource 'fr.n7.petriNet.totina' diff --git a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/fr.n7.simplePDL/2021/10/40/refactorings.history b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/fr.n7.simplePDL/2021/10/40/refactorings.history index a86098c..ee9f5da 100644 --- a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/fr.n7.simplePDL/2021/10/40/refactorings.history +++ b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/fr.n7.simplePDL/2021/10/40/refactorings.history @@ -1,4 +1,3 @@ - - + \ No newline at end of file diff --git a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/fr.n7.simplePDL/2021/10/40/refactorings.index b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/fr.n7.simplePDL/2021/10/40/refactorings.index index 2047baf..34dd602 100644 --- a/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/fr.n7.simplePDL/2021/10/40/refactorings.index +++ b/.metadata/.plugins/org.eclipse.ltk.core.refactoring/.refactorings/fr.n7.simplePDL/2021/10/40/refactorings.index @@ -1 +1,5 @@ 1633447567750 Delete element +1633694834445 Delete element +1633696885403 Rename resource 'nouvea.ocl' +1633697354847 Delete element +1633697367306 Rename resource 'Process-k0.xmi' diff --git a/.metadata/.plugins/org.eclipse.ocl.xtext.essentialocl.ui/dialog_settings.xml b/.metadata/.plugins/org.eclipse.ocl.xtext.essentialocl.ui/dialog_settings.xml new file mode 100644 index 0000000..5ca0b77 --- /dev/null +++ b/.metadata/.plugins/org.eclipse.ocl.xtext.essentialocl.ui/dialog_settings.xml @@ -0,0 +1,3 @@ + +

+
diff --git a/.metadata/.plugins/org.eclipse.pde.core/.cache/clean-cache.properties b/.metadata/.plugins/org.eclipse.pde.core/.cache/clean-cache.properties index f08cee2..30ad952 100644 --- a/.metadata/.plugins/org.eclipse.pde.core/.cache/clean-cache.properties +++ b/.metadata/.plugins/org.eclipse.pde.core/.cache/clean-cache.properties @@ -1,2 +1,2 @@ #Cached timestamps -#Wed Oct 06 11:58:35 CEST 2021 +#Fri Oct 08 15:46:28 CEST 2021 diff --git a/.metadata/.plugins/org.eclipse.pde.core/.extensions/.contributions.1 b/.metadata/.plugins/org.eclipse.pde.core/.extensions/.contributions.1 index 5d15d2c7ca344a274550dbfca65d7dc39a043f54..eb2a7c472b777f9f36b50258c726726765590da7 100644 GIT binary patch literal 23483 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 XJJY|W5p_8erQLgD`npYD_kRBm&PiL> literal 23410 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�%zt}{V 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 diff --git a/.metadata/.plugins/org.eclipse.pde.core/.extensions/.contributors.1 b/.metadata/.plugins/org.eclipse.pde.core/.extensions/.contributors.1 index 00e849ff4b1f0005429a08fd38a47563610f2fb9..218787a5824b0f6e89570fd99ba912f277bbc42e 100644 GIT binary patch delta 379 zcmX@Jo9W9QCKd(;CfHw z;j0%#RjZepl39{p1kqy2$be7Uf{{TOi*ATsoRZ9D#wLsmGWkX6da21dn;YyRVi`>* z%g>RAk|vYm=g2aG$$Dc(1~G^Y#hJMUIjI3IK6)vs#hK}OAWMu52+12UGVr76hiJqp m0d%$`T*qXNIbw_!lmESFXx-wJ4c$?$kK9h_Z(S0BTEZL2L7}ny*zWh z;>_HFoYVjpA4UciL#z^$Pupp1K4<3;%V;uLVXho2i=nXrf@L_Fe~vsOgfy7!KS!1k ML`rV9n`_1h0Ke@ijQ{`u diff --git a/.metadata/.plugins/org.eclipse.pde.core/.extensions/.extraData.1 b/.metadata/.plugins/org.eclipse.pde.core/.extensions/.extraData.1 index 16e023f4ce737510fc74b93fbac90b3283e22eee..2abf42bb6c5d85ce2037b7b36122d09b47728c6b 100644 GIT binary patch delta 134790 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 CKK%Uv diff --git a/.metadata/.plugins/org.eclipse.pde.core/.extensions/.mainData.1 b/.metadata/.plugins/org.eclipse.pde.core/.extensions/.mainData.1 index f1920ce85996aba1f9bf316de2af4403142bd172..72132c085832cac2bf161ad9613cc4a3781d97e7 100644 GIT binary patch delta 477110 zcma%E2V4}_)}K4DyDYG0__0}~9J^{eV&1>5B}=;x$a+qoJtxiK+Ur0+<~&j`%g}8T1koST$i=cx>cJw| z-hES98e`XG=l?&DiQG!(^F#-dXeB178|){}3`C34-@cK~VPs zyd?;}D+R$n2CzsFbY?&cLC_BtgrM1iVBU@5_7;TT(SQqr5OQ7+Lc0q>lUt}*Ge8Hx z>=8jo$Pt9*{}F`L7X%>(d=)uA2tunA01D9>g(=Jygre^Sq1~5g z^#s5GK`1R1gfjdsn+ZU{%H9`*a`a5cLxRw`CkhT7>_cgnDnfS=PnXaY<-9sHaVoP$ zsquIjfF>8O06qa+1$+v&;k?E)=woY`4(;!a!h0>@4L}Qau_$Sf+S~9bP}Ec12c+ll z_bplwWDJp3ssptLk@PliCQ8ZEq-vi6`WbIAsKOscLKiB18(4pyZL22)$!__W}xSDaL@@z&)7 zZHeT;yg$(MN!lU67V@5vCO+46jgPl(4v@J>+{U{~GWdk)_TUND>3xiM95=*Jvlkvw zFH2uQKaf7-{YkaVD=b`v$1#AhfN_BF0JOMD#NP`7RY$}I(Uwwgjda*Yql4`Pqv2K2 z+zx2<|V0b4!t`wbn3X)Z{Y&Y^2E-fG+`G zfny=JBXERi6M=2x7A0d9z>aa-k}-?}6{N$L%h(F^kI3zfw!CI&?i&ex>S%6zwDqNc zAgX$x)9TT(=;`Q8klJ#Sq@%DArlxB@8$;FV!Q4XW=*M2sz6rTtS;(zbI_hgR+{V+l zfbWpHjoU9Bt&52K5og-#{a`+Muq4eh=L!!bS*;TFRU7_cR%Rtc)5L5GzLkZ$_NYX=H~ zk2fEsw6%qz2Oztj8l<>vCD+O36n;o4jVFdRL$gJsUwCBS30BYF|drF zsI~emjo|Y*AK%h7U4-Ejo<0Da2Khxk;%Q>b*hp;+(D(V^r`q9R5!%B*(J`HSQrA|R zCIvotgoSm+xb2K_+Zp!V8TQ>7_T9NZ0B%If-7Q*xU1Wlol?w;SJ)`VGRtA+xe+Il{ zxYUTUKk#eAWu)df`Qc!;t}~dVxAg}NA2%dPwT5pDR~n`A49*$18$R(s`O0wBLu#2c zwzXcmX$+=K)?gp$H`83hrykkPnBOqm0wp)oQ6ul0(#oJ{@}H*mp^hy@opjc6(EKQP zT7buA2Dfz;|w7CKYl7bgw0CQGM6!ldV|I_as9C5Ar# zjrAkLK~8qIl=>}M)8=>mbhJAq+FKeI`j+u2CU|A!W;+TCKl)S~KZ~?8-YVV5=T+8A z%bUDqi3ML~PP$ux{bQtlO$Qm{>?B)>;d|Mi!4@jm6{4eE!}S_?VY8$Q+iqDbbLP7% zSw!iN`KC&Lg;|VC>~y=PMN(Y&1*3&0x4`6SOV*j`7W234i-<^ImS8*4r6s{obKftF zs!lTXn!f(hipWq4a)pvSx4hxbw@e5Nqno`0ys4(W=p%g*nP6;b=d@?nVqaKPDKid1 zdRC6Jsq}*>V>Jt+lv^=6s$XpIqey=*?YR{MWSbySQf3=!6_& zUod5-qrYr9SbFcISPU=NPnc>w!rJ4o=A4-AWll_WW2yh+|+IL3^|V`DwDRPzhvpbNqH~< z7pc(ha<@*-$Tjw~lWme99mu$2?A18=&CH+JXVUI0lkY9@AN+$a^p=WqOwwmrZH%8c z;BRt^qWbunq)s`$QrGND#xEX9zhV5c5lt${{o43dqhva|%Vd%&@@^Ot8_>d=?Q7K{ zgc&OurgxBr<$q;-qG9smiUXe5@_plqhP35U=T_I10&{O?YnRB+x#h?{W^C*Cj39Vr z=R3*K8R()=X+Xgn>?o~XVKT8JQc7Wa<1z5%WMT;0)WjZjC04m%S5G6&H>!h#CBBiNi%?&Tv`E0qQ(yjY`!4%L3Za?z(7;hW%-*Ug_xy%na z&G!9L?$1J!pg>M{D@9H-sY!>9#veH`AEmHqM^IJWDTdPDW@>3`hf|hR&|75ZxV1s6 z6zOIKyzEKljc`jNy;Kot!SDi~dt0?i17Eo@!%nhgf#m8=Inwx!w`5C^r5vPv)t#c4 z@i-UBbq-ksX?%u|?sjP=753B7{Xg|u=}2cE>3-*rj3+!Z@4MS2fLTu3i7tHzZ5#bH zVN}!)(*)u^om5nnYC#>nTC{MV%nGxm#Z~=f`;bYtVisoa`=P2iGoreRh%-H-TMo1Q zfb{&F7H*AJ^u09ukt(^pWs*$<$=4tGB^cw`J0m?CW5%VN2q24E`F9KY+Cj7lwfk~k z*B(|D+)O6qxc3gC$^|{kg5U+9k<)BKNM9M$MEa@c36>-s>J`iqq>p;l1P_$?a@~8b zWB}dzTpdQMqx^N!vPWZs%4Dv5RLQ0dap{Cy%wnt81nFqYGuDtby-xM2sHp2-BmJ>L zN2%{<0_oIfrj?ow+!<8E#WK^KwJ4t;T^sl(J4}Wj;>_%jbbnC0;9fFQzI(@X?kQDN zcL_qI2nC#GD;$DsIpRHBeLARjW8%IogN-Z*p8TpzaOIcrJRU+oc7DHAgW%L&# z%?SOossLS)d_`FbWK~JyM<=pMsczI|*46g>%;>v@1B!|czha#qCI}sV<;#C%r=@6| zs@3G_Q^4R0!f${-0Dl26r(y;ZDzHYYPy?_gsR#rZz`EAXFHM|iV!u+xMDIx2ogD)I zgx#B>aZRN1v2EG!QthNB>^EuP^kC`W*i!a~jeAcnqQ07$Oh@Og`q@PWO1makuNiM; zf4OoM4)NB}krlpb>D)|{bY!Adnl!#l^*4(5w{&Z28q}sp)(IB&kE>8o54BFZH$7D5 ze|$nAtB^jO+7vuWK~khU zfoO?zd#s<-f2zM&;p>vRX1rfuhw)fK4V#2M#lH$a7phb+tts<&PY4Js88&3pxN2;w z$ox82a@zD@7T`?i!va0D*9a9hFe>y4TcD#_auXR``Ny7%G1#hQl$y`%r!qp$sPuPBKSZ_DgqQE8T&hY&74#uRX-Na+K_CC zgOW5lss6D=tk{-%-cK7zcRHvnG*VT0k zX)2}88OY8#2wSCdOSRJF*`YSJO+#aKG~dfdPc@xF{K4!ay*am zh;2k!J3TnAiKIb8Wz{}Xm-&6!MHlXy^K029C+=Dfc#>sC_K}0QM#e8Y@F4P7nr<@N z$4)ksh}abcZ&aF2GWRDg+&AYhl+&(C=aC;fY!y}XB4uVJ?x9O=@%jVftF?K&x8gS`}y$9QdbtCiZ$ zSwrkQg`c+W4vv&=u2Bg6rCN5!p(u#l8>zpfm5QETB~9OCSNm5r%(gy3rI%)|36x^i z61(Rjz4JmK!s>ckHN5IpvHMP{ba-`?bhU0Od*G7ByKfyWX5Ty0T$*X z%3L>v{ph61&2(?wMD~+2jpiRkGt^j7-hZuM$bNQGz`dFM;>78#lfK{_Yb$&1#wqMq z7wX)Bv7u7>(;DfAjf*h}IxK}E*Pub}@7C*N>XA+BF;P0H<6=ddrokv0AW zT*2PoCwPEoH=e_`c$y#t&fw2DM~Kv(2L|sPokrDTec~e1aoi9NX0)5}yj&(M0@TAt zjh(`0K;t>8UMdDrMSrYP{&{Xl5DM&-%~vT7mS`HZR5VeWK58BI+r50H`hUgD6QNFs z$AWgy_nQ9bNNboLZpVmX!cZF2VD0 z`fx-LtgoOC(b-WbQ~Y8YQsI=Nc;dO5mG^D(x7I5Bmkz(pi}^Q zFenp%CNQFgCIoWNMfjRfFe5TB{X^C7MVY1hq3Xyf!>Um+J^;-4!y^GRe^!HY8vgdB zJp(M^T5PHtVa4XdIAO9<`c@xrU-SUCB=ihb|Kk(EkJT(_c_ZRt%S!p!$qGf5rvR$~ zPXo{Zyp$G9Ksc4+CqkC9fD3?+0I*TZRj~Bpee67)S^#u004*Af77d0O1ObN$&_uuZ zINJSdl(+UM68CVM;6Vp(7VE13q*~twybCxEcpq>YfLw#FbL-&;R!xoJ>+!q^fDp#y z$1RGVE2U^B18u>Li=rM23)3zE3ZqDTLk^ls1M&DK;4Q!*02(Cm7~mbidw>%FWSIB? z02wBtnu!+ysA}TJP_>4eD~_B(j42p!Ml!5D-Ak%}`BC3=w4doaZp>1v?de+d zr`gKQTE=pK!CunyWDKP=qqMm%^HocXbZ)!1ZadJONUrDBFWuT6uR}u?EB zP2mBA(f}kuJx0|-&woI+pqJV=rLH0@IDMzL7Hcib4L$~Gki{>I51k4$Sj8E1w2lu; z`LJhRI38mG@c`I*C9J5jIUp4PTdzdhRH8*HG2AQj0j&YWfD!=eRoMy974Qh44`2Xb z2w)^&G++W?3Sb&wHefyg-Cg+viqQ%NBfz4(hT*J(p9*P)R}YyYAE$T?CBwhtBBk`* zgQfkiBuVe@$~2AmuUv1xnj}@;N|DU3nV5_4+1HY!L0{#Yy|6dlI1f2otFMd3q^C0b zOGW#M|+na2K<>y$1>vjAPBD`qyL3%j|)HGdIj7JU8jv*Pjo29CHaQ(f@G= zn?t|jlhCm&v|A^riPRVxh0JI>^JD3WekLhVwktd}eDG2!$YJPPvJJm?+ zauA)0Wjd+mRF&K@%AB%OJ$f^~7>mcrj%V8x7~uk^s)MP{#ZVW-d}lx)xoIxR&` zYO0mGzBkkg->gR%+o)DmvUE2WX=(R;gLD%o%l(fJu)>||AMqg8O}cozjCFSvt2nXB ziU~{K!vlMFDe_9WsPE~*-?;gPS`nA%v5VTMkUhD0s2nZt=VX2+>ohduYl_=AvLmL0 z!%C>87uq1bmyeq6r+Rx!5vQ!y*AYCu?vQtMx^chM_0%IQUfOy#h{Y*RA@cMpX~+2l zYXah!gvKI4@zRD5`op)liR`f^f*pJCwh}sW2x=y?C%Ln)qBK2A4h>3%P_hT1Bw46= zL!r}yP_h0N??9>Me3-QQoY9&B1t}gBG?xyXYsFFLnqgpLxYcOHO z)6g1BOmT$``hV3&y(3Is2=}}kB989iYWNiVpbS&+Uu&X$q{PcjEN0l7R~A3;bebCC zdhTb}+|8f?ec)uyU1<|)hOn7AcpX~J0=HU=SuUeTH5k^p{I2EEc)(8!?`JC4%n!3y{Am6x zU%!M7-G4)cV=TjYxHOKo(dq3}`T8k{!${L=AF(x2% z(MsLE2r=`($#bow^{sM|#Z9_Kt!8V6G2hmzJ_Y-y zGW%7@r4Q8thDz`P>HM7_Hea!v2p*Olsqv;Gfkt2H_3s917lH*V*5HNGt-C>N0b;MN z(vq6cJaHpooJH~v-QLOV~=~^gSIsC^!Grv*Oh=mR|Wf7A9k4Cy3 z$^t|As@wW1XXN*xoMo}TqJ%-aew>){8d&xN5ItGn0ANSPdH{f38S6m+c4n;DQn4NZ zye2*PDTuua$6F{J`wfS?*CJ_N5o;=1U$;?S-_=gq{ks`FhkuEd=Kq|)-sBX{DP8?J zj2*D?MP7-J&is)j{r;0Lcz1o(MymZ&k?Mfsb|sgvU#r+*{v3cRU;>9T#ANF|g^r93 zw&2XgU)u9)FeVU%n@@CBx!oUD*C=WHZ&mzCwDlO5QG=O>1p`7YiS*A9-vEnMZqr8M zhS`CU{NzS2_5QuP>K(|xBj@=x4^%8xeo4u5`;zMkk-t>-N0sV5NWUjbzYE{R+aS?= z{Gke@h(E{heRAtbzzJFGxLu5$wBd3g-uI}(U@@df3;r6bJq7s>0HPuu;E?4 z>S(c^_Nb%yU`z^~+Zh}vdH*v?bp}e#a3M9gdFxfTLQu7`#)$3gewKj9E)#|hl>F5n~?I%70=i_?FMW@ zZUk%~gUEu|dcO1(!#CP77Y}9$-}G=@FN$oLYBTg~RwOsU%XYMcZ~3nh(e$+!8>Xs< zSiK^)g^ST{Z>BP1_XT_WZqX)oN#%me3(fKCjabjLv-(P_TN@};#YR}MpB9C^8Jn2H z5kyUf)(G094Khi0kNVPO6$>&i0iS&B&N;}j>&n$53dI@TYrfu8rPX>X3Hi62F9Yt65ulXGKx$LgMyAEBhM*DM!OX&3s#>G0)*&BIw97O*FJz z!(z;Qf2A?cnfD?n{VhM4$3lN=n326n23%)hZ*UJ4DGi(l|Jy0rQs>VSsn&<}Q^7YS z9-v#e3Io>y#~~)Z^>B&fTGm|!FP3;vk$6jyIP`D{_@h25_`Afzio_vB;>g1!7ORee z`KZEtL}5PW!W=}0+Q#EGDb#`P=fd^>sl$JjI@Uo2N1yn%B6y64LIWu}h?!7x=iPw5 z0c?TlUGTjt^U(kkZnf<4XQ}Kxw>+-v`E8d#mZ&-oW}LF|=6R3zU_@OrUjwa5UjpRfcpue1r&1rvdOPiKi8fAJ{j;!f9^^GqVq9qM22)v;RZyL>{jtB3?^8r|3EB z&?6?Ewnn1%>ig zYf>Iy;K~xL5GT3H(^7pKOxtj9Nf-af8-jAEGa)bXpJ=SEd=Qr!n#%lEp=?ldRu>iGQLNt z)Yqx(XRfTolFpZdxw$U;m;9(nUb@nsBLhRIGK}>NO;;h6uLl)Qhn942`)uGXrf1T` zNDR>or6EzL6l&GW7(nyFStn~26!4vu++4R+Upn7eiJ;+8I6)7NU@0s|QIg$I$*u?} z$%PV>w2_h=W$8E~iW#Uhk|nbiik3WwmZz*Z0pgb-8_Bj%R%|FiiFrHdEi&9DG@PE< zW}IBoN3(M44jiHFaPT==B6mA4!=vV%4w9p9>?(HL!XO&rXIo5c`Pe|QF|4O`7ZmPt zNI4bm^Bcv^k%ePL`G`dJ=h)_r zp%L-SXf4BuBFUp0)P9hpWezRl#9!oyDCv zI0T$UMNH)~vl-2u9Xy_u{u;%Xf_6itro3b}By=YjVEwqvot5LdvD0n`tfev( zTTvyFOm2Z~S*LlFtWgFjW_lf!Hix38!HInnD3UoHCBa>^BPpz{Wv!FusEJ*R>`B|E zu%V%K&{F5*bZS|vXdx%9krsJ#q9~P341ES#aLClSETm{z=cF~%A`hdtreHmsek{(H z^u2KTWmR)#4P6hNi1{1qT*q}5H{nfP8lW)1WjdRxRHyi&9k*K1w^2|$FwUToYQEOi z9ki&ZE}fZGfe;O(-RbD10NFL`GnmSPv2MH3?o?K`(7s;QQO686E);{k41?Xy=xDIA zMOgQ?rz2gwyv6om6qyO#O_e^Y%49o3aSY!+oXcfqxb=JcFkS#P_g@tsP)#<(PAT)s zxuHJ(bW@83J-S;{J&fp5uiZH zyEP$P9Kj0hm|-{@g`3WDxmwf23O1A#*)hbKqv%ovLV26wKT6mf{G7Y2k z-I=eQhz++yN-kwM=^Mbj4W(ei#uifI6!avuI4b}BUmi+)YCaUbKRHBbkiD|u2i9X!a8mvrAtiPR+ zTNfMP)<8$Pv$=+W&^8EA4Hyg;4#1~+C37*nbxoXO-Hdr zC3OUwsVJSM^jP9(^zw>Q_@rq{F0<@pxrt`G2%D`m>Rd%)wldJ? z*)h3i=ex)^;T9A@{xf`i>GTNJ%dh~dus*58sYxYbjLHRy=zK-(LObTcY}q0^Q7+|T zJ0|D3#4S(ET-$U@p?w(uTY!~I73L)k+X$NgCbrB@lr=qW$K+g|aMKIlJw>$~`j*Q~ zQq&hgR5_02SVJ)RVJpFE#SLkA@>0~0@8(;rlyTggs0{`B9VgM*aV$X#KOcgm(uGt# zF2+h#J=H1-8_zU4G)f4FJVvmFQpR`~r&U=l?HbG9#E3KaP}M~rAM!n6_N4{mSyT{T z=VbFY9JRw{OqnF#I;6-R@xk=Lc-9t87B~SjwG!M>(MTvsTM(<|S*oeW1Qr{G6Fh#< zm1Yoxf*pwYuL7)pTNqsMwBRwv(RmhBD%N2n-*WCmNhJ2iz76v#06<~ z4Qs(aYGggbb7|ed54{S_)QI^e*yR}0{RgWDuWJ-??TtvD1{>MMqthzCURfeIf`Q>Tv6Mzo{ zArj$6{PXy|CoAY_<-<3Th5V{A?VifKb%;+Q5mGdTrNuwbKU5QD zcmaT z3!btmIISr7z@}g|tR>)SOu=?78p@o`iV+6&oqS?4sCp5}FVguz-WJOXTnxdE{14CZFY(556TwT7VYF(1w-1ee zjCE0M2g7z*IO%0BywXK@2X>26fg?TX9%#qqzf8!K+H8-b-LtTcNSnnphWki|aqw3T zco~!KlWsOX-*r!ZKdovu8&3CUv8L=ngXD$tbg&Qp;sbw2M2lgkg>%==0>Jxf=K&S~ z;2rn@vUVBZ3BU>fN?DF^Ssnq10>l8~011FZKr$c&fHgvS1^|(Kc@7{CkPm1DC=e2a za@bdSF#t_pUJ57&bO6A($~&V*lin?KHf6hnPk?-I;_rDFVgO&U7YW zdWtxNq*>0S*+@bYYUenUV2Y8ENSfzNnvbNeNLt`bT8Jcoc9An_F_QKnX^ArlPM?43 zNxRIM^f(Tg%t(5|nFJReRfeP$&ZH-i#2bF4GwCTLVT_fB@uX~RIM6FVBNP-Rj`jl@ zrJ&J33xMK_Uz|A>=mel~3W~0c-U>89L7M^n5GW3OICGL9#J~raCo5=kpuB%l6cmOR zGYV*$f~EuA05n5EvGR&J4KzzZvw{8tG)FN#ZZGrX&+D<`BfUW{ss-S4xxT8SJ6|_CjAAojHP>joX zZloO*v=h)?Ks(E5WEY??Z-JpVroqEzD%r=l-z{ww)_}*#*$|B|4KC?wEYmj#um9J!b zP5dyk0pk*dG4d()i-{jrHXtuk$c3xe4HLiT-GKbWethqsfSLH+?FOV3isb0dJ^^$H z&9wi+T9(C3Pc`Pm^(y&0L=wBh!fDS2Z2pHSP1o@lieLFOJA?~eJe{JRwwNfr4tor< z*0PnjC?a!5Dcnf^82dDGQj9H$*crqLa#EaaaAE(-V|*bUeNkp(G{p zBy3hJ!qWBZR!lCP*0Y7M3z*eq6|5Ifk2ya_M9h$if$q<2)(pLz*;x+qDVl_Y!Z(&(L+ z+0*kd8wwj0cOm%W@81Y$K0-_jkD^|OZ_|AR_y%wr@EzbT-g93MfQ;{EKs{g^;Ca9y zyxa~?<_CY}*9XuK0N3mHB%l@m89(Up*8t$sb#PJh0x(M&>Hvt}4DaH8t_~0gFaUx8 zDS$Kp{IDqtfa%u+_ip+N_s*a!7%Y3qr>GfR6#60DcyP%%$`2-^&1Gnu$y^kx3>LW_}6y z8t@;$w}3lT3WR?{JsKw_7`r^E63BGGM4vPy+?*(Ydf@c8eqQYvx5J6~zg0*P} zs1$^@UVs1q(%PN_%)5a9E&|Z!B_@CcfIcfliAx6op2kM@OMvZwodC2(8Cs+42h2ET zY*u5^?f|=}Kz~;B0jvU`U=o|As&)760HBs<$y>#!lG7?UuiEX_AT# z`PnGmXwHPsxiwSQT`WQMs30`Mw?VhYC2NFc<*??js46AeOn>zX@YSNZo6SVpH!f*t z{${AT=C(^3x}zETUh|zx8oDPDYdpQSV=^kd#q8Qv{{n}IHmB3J6G-@(h2xF8C?L-Tu@5QPbmXr)D@#{x} z_Oj->{y?Vz9fj78rdyr8qit>K$8GyXP@beyds#RSp_4xaT1!Vxd71FSiND#-xdvaE z2n1;(9Tojdb*Wxq>gH{M-=>Vw{)t*NWb>)q9iZ@Lx;Y~-z$WOA@!K3#^N*)ox^L z&``&Xq$#C+5{OMoq`}$@ueiK*{wmU*=f239rh5-*pTOtn&=_%aew=8g`(H3UrHV$4 z4q2wcHsQ295K*?&A`lIph_IN{$sh)KAZjrfQ~wQO3e|7$3Dc$mh4(R~DQG$zi$Bl| z1Tlz%qbY0S*GW|L3gsEyjOV)k~6hklM1v;k-%j14N1QwIw z%iS}v_4q3E{ma2xy7mc7_!STexX-2qI|GBcE!uOpYC)>uuADN~TFo@*YM`F$irR;C z42h^$8lQ(gY;!cP71#q-{ug z!|`1Mib`ML}WaIgn4n{tvGaMs}_WD7Jh!3Kx}&zD~lP4@YkT9Ru{1 zf_?^cGtkc!6f<(}d7!^3-`YL*Ta-!ryCCFw!(+5mKK?X+lA5XxF`X8zmY0Y0;mWrj zMgZl0W~73S0t$zjJX%4KWge=WJXS%`E-k!(&XrN$c|c*Kn0IO7_dZr`25HNX1|{jO zsn21SqlLY-*a)}r3^c$dAK>wqlw}B1^`mKU~2Xr0KI|_OiD9Vv}PeJbk{Rij+1^pi1MMmK>f5VrT zEwtMrs{CywLT|PnMy>k>WNL)g&%mB*`PUjk=$W_CrE5S$`{nedoo}-&T|c03HHcRD zgkt-$GBzIH!IwUkB4WuvrsF8`9oEKwJkX&4{+>H^?X9=cpk8{PrpOegQ?LlI7_bDu z1>wXC>gfDCERy^40t}pjXA~4QEcgqsUO~|}h3Pyl!qmZHwS$%LsBnmaBE!Nu9xc(9 zlQ`I_8LsxD&F?Y|H_gJ6JcJ^Adcs6S<6=UzB}n^|hg7`hO?3Z8V6d(Vcp4%pFO<3| zo!?|=YU{YR-k>12wgG&@TJ}qAF)g-Pi=>uxx4D;vB0GB7XSlY=uMM0*+jA6f9Nml& z)aDPM7Zeo3yol#=Q9^t$i8UWB8SASI`|m^MLMD&|N^s0R4~-cZ!eJ!WXrLw<)`%pzuX)QKPaS=+>1$ z3k_%~`r8_<>_^;y(eNOX(rc}ed=!^kkc8H0U%JKpR=si&BRe+jI#9im(n_P-~^@cnNe(tm2y z_^Lse4uYm3!3PAiB;w-+622hZ0Ku;z0fVqC2n1aNf++xma%F@HqI{VnKacu-z#^Il zj+`>3re#{19B7XphP&gcA!Dm2Pi8`hJt?({2jQUMiz>|IW3a{K#L`7mFkiBHXJn=G zOMNxfL&j8(7>0bX!`;HGIn{l@%1r;@EqwmrVHfh>bZeJaBJFN2YAO0O8)do-9{E>CQT@VqVOS<_(;l z$1i?4+5oGJ;;(TtV%3MxbngNiOanh+YFr;3{t?a(&s@Of!!sYU!Djw~LPOEblx`Jm zqQw{4GV@jsO!ai_B0Fh*)&prmM`!{w`xneH8l70!{CViFY%$2UvI+`#tYz>isX zGryH6f2q^iI9T_{jdP#~uC`S-e;t{wuzWK4qhFu>gRkINM1CJtxq{`S z^&>V8#h?GTzlJKedYS3!Cv2#Bw5-Lg4t}F3>POU}J_L1Ga+Pf{ujEXb{Qj9!-II=C zQ|jZlMrO#PG1t&tMW5qN*qu+=bo!*5m#?2wWFxP!tppK|cm>muYizV^i<$B@K_};J zGW?ENtjBe>!s744m1nz+N>l-TkwU$Pdf}6}H`r`*0%yu`>oBap&=&_SI(QMU%shS} z&5;8ZV6zMDWx05hk(uA?%*w!xVkZ-pV)JjY6J}fw#5?^sWp$FU4(tCJJ7|8DlXBh4 z#+PF@kAdsGg=pvv3HTh@+|OB=`8^Np?^61gXl*zcnO#k*+D7}5mKO)`G|$< z`UPK;*)k)>mj(<~`%K9x2hugV z`Kl7+1=Fs-(D`*5@k#Sd51co+k;>uVw(!q9&>cUwpr)?B!9(@aitEi^cwqdT{Cvgh z^oLci^>>a$>_{M#l;=_0to0LTnp<&M{^JEsCTvk)7HV7PFZMQ%0690q%}rpZ0s}Ff zHv5ZDm`8b_kCdY#IqDs+6DOO;c;La+xpnq{s9AtG&^*oq6LvWq@$;DgahiFa2PW)& zIG9!hij(BmGIMj>9B|rFYBtELh+bODV*E+{0{ak-+I&>9k(lZEh>m-C`T; znV{ZDbbpVRiqgly-yb)KW6h_)ndiPPz#fVm$xSqhhuIa%2oi(vLYf>x4a!GgG^Zto z{wyyzmcVMOhK?jd*Eo}?r&of+eB3{h1wP@W!DZ~$UQx7RqZj5blQ`1+3(w7cnSo6h zc?y!F0ADlubeYWL)@j(9LE)|R$i`?Ry=@lf%P%SAWnorzc04w0P{>l+WI@mKVV=i- zB*KM$iu{7bRq_aLNIETd`p3cIa(P_kWw~d6nGPf)W< z%k_M~?kdG$~PNThQMEY0bSaB&&?UP*tzV-YzwJv|j6E-?Sj zTOr3SNXz_9u{e3km+hc;Bn&uK=5z}VvSJ)@vzGpe6sMcla3=n9Mb1XW&XF8W-pCRC z=}43~O8$6EUJJMO!&cJ$XmnrU69`DgMvD{7{3yQ#e-+NDDR&8HT4Ns1N$xW@_LnF| z+-c@-YqfA+KNT#L*O2(`Et&a6f`^iq#%H9BpD?9bxlV!AFE*n7D?c^69i_Jv$R&MP zo=Yh`K{PX>t<7K(b&6NOIwOF-o#*4r!`~{lP9Z)63#(@v6l6Ug&|!3;8O(7oN|B%L z7NcXQ%WiLK`d141Cz}g{U=qNYB|q$DALp27RPPR$-@%1< zIL3lyCh8@>@97A;v5|K^OPps;*iapMPTYO-bzqIDau5WnJeGTcCi15DdUi(kkc~V zV*qSK%2s`_mAHuAq2ktP!tc;!>2&9iR}gLZj2Up~=|g*4iv@U}=02y#D}!4eNb5$b zjmp|~9K#Qf4JbfWuqlCjvfajUMIWW4=ocUQv_M?WR+FI(l&#{{|1?{pV71&EWKr)n z;ym=E%pfUKuybi#+1tyiY?kPs4pLL+BC#C)M&@1X*qyO0qucbt4#U;&qwvkhVzC2z zMqwk~At`)at|qBi9AJ4{E;0Yj8E4yKM^yGaSjNp3JFD@@XOvdOJEV#>1fsno+lf8J z&OQo3!vn*9)YmTrpY?tX4sGL)*abP40{bc|5u1peeHA_}k1gf3Ng$0c6SZ`v9jxMT z31&2Zg~N{rjx7}8hEk*lDCxLhYD-^kz}`AGv;{LxTFPeezf^rXFfI+7^k(d8o6iBT z=Wf0LGWMY5?>3)>d&=TJ-l7^YX~NVRP|qko`czXco($qqyhrN5_Tqa%a7c})@*TU5 z9mH>fE_k5cD)wnk=T;cwXlFU<_iTmucp~=d`9FR+)f9;bl-4u_mlcz7{DhN}&PXr6 z$kX@{ul%Ewrl~-uVYhq$XX8hfu>mp7@tlIRRa}e=6cfqcJ!^l2Yv89=mbw+9u{HFo zkP;8T4tnQifJ8tNI3Iw912NN7UT(gH;WxT^T6M8}yAa#v$iJYIxXwE5q2zm=#22j1 zL6+C7?$Rjcp01eRPj&`R%75qSwFz&4rgsq&=z14%sui=1S1!Lx?yeD)EE*FSMiIsU z4Xv&e7lg*k*2+VDcTUt_&U@MT*Z`{9g*OFmb`^tZVwG4Eimfq>$%o67&j>Kk?!WLk zh22$fjCZTv4F}NfVjtBIX-xvT6!a8i^&!q1z7Hh}i*dl@_Q=jf)yJ(!uRq(xh3=F@qXv<6< zUHjBbnlNqDQ2t4Jh_MZ^&G^^wv~<6_IIzh$B=Y5o%;`OH)OeU97Zob@(&!#y4*Q!j z{K8BOw+w!Yjg&fHH*h&E&G!rQqu+ao-Qr?-IXOQLfiM{PzmDBumys`dya*;vz;#mBB>9b+ z-RFJq>7fB)P~AW=KdKkhqWmbUkUSqppQuwg@T!4wT7#Qk3~W{3a87>o-<0YHVhi}( zKrvWMUPk7bK2d=}@@kN41)*yQSLSkr+YxCUxN`Y?u^Ud)%F$5eIG`)n0AL2?T7WOW z55Va<01ns60|9!7+ZvUj81kW)cEqsp!zNYBEs2xsrw3tfUO=}7Beb7SZK}l@${8tI z@cdr2IF{a2o;wT{i5?v#r~fioTuj%L=QTsbku-UaTI?I#5f+!91<&l- zI_QbmG2&LSTt&BPM6-xqxIRXlE0(JrIBFSAgPKQcY2#RNm{_jyKq(%_DLxL$;c?

}t_I2$j+AW-}jf3-w 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 z%0D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

%S{lCsj0Nd6omdQN{GW99BL0 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

e%LkJ#mi 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�k#c-=j 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Ä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%0DO2n_?C&27&yu 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'OxG+c%Wr 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

$F5VU+G0^`?c4k}-=bRG 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 Vk=ghQ5(C3SVNn$yMA&ic{{g6pzdrx~ literal 35408 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 diff --git a/.metadata/.plugins/org.eclipse.pde.core/.extensions/.table.1 b/.metadata/.plugins/org.eclipse.pde.core/.extensions/.table.1 index 832f543b00f5b98df118d7ec7ac587296ea17827..19107a2eda20b418499aa0b33ec745300ea9596d 100644 GIT binary patch literal 111903 zcmXV&1$5g;+qQ4Vj^o6!18(d@iQC3bQf6l6?QXkehAnQHnVFfHnVFfHnVGlTE&kVj z@1Jw7GZRUcM$*hP4~-<*^#A{U{rWj-WQgPb|NWaZuIT@j!KaG+Z+ER7|0`#A{9ieI z%l}F}R$$BKtvhv-^HbXiL!fl%AVY*h{P0%$og8A z!vV6Ki35Hce@&LNJ@{RBne)G(TqbkDUrKniL1l{XiSuUzhJ=P5C~B$aW+PG=VvAUbdrlwl7uUp}R^vQV6~%Y`sNc8!N*W z>e&>wsT{1P-cVtiyTMI)2M>^USYtS=psD5M9lnopG5k`{wCZyIbyx0YMHKmJh+Ot@ zin(<~F>iCpd}@}=57V%Hvs|GKDIZb3X8TFDKT^zXt76`zQvAu9ia);{zEK~h_zRh! z87zXkvOOv!+v8QTJ&A?7Fdc5o_B0Nf!eV$T+p~1Q|Ie1dGufV}hL&&;KFju^3XFy4 zvb{_L1K^NsuTnq@p#C}t8o(m>CEJ^#Fca>{_D??O4OeA*n;g2rcG41x&Zz?@6)llhq;^YbKW zaRaVhUM{D>b>4H0Za`mkyph?NMgHj%?#b|4> zpB%dgp2$(W6VMmJYQZe|3Qm%*P&uwKm}_iR$ec_Hnctp1l0z}?!)VKL+EJM?Rh4nn zT=o<(vd4FWe`NP{mfdfK>F`kYq*Aa3e#oAtBV3a`Z93W0ZvIyFE6^}Z{hL87d+2Pomm8buu0s)*xGd5+JN=fog|U5bM>3cEZ@kx@~K zjO!;)r@!RsGgFC6)+ur61Accz2~Vpi;n`^FA1U7`;YBJK#CAXBV1^a*e&;^T(DB^%YK+D_Z1I}miuZj^oP%KUuzAoOVV>M~Zp(c)EA$0^f3H2fko$gpxFYw1-{6GY4~xSdxgX^Pe*ZWvESCF;7sko` z)Bz*penwlK4S-*AKkp4+zkM7r(<$hBh_RIZG5!fpC+ibu+ zzKaL$@jdtWex%$V0-+bs#*b~`iQJ#+0r&X%PoRze3V3e+&XxNszxz5~?r(PB-oEj> z?=9hl+&_3WKW@qWvnuerUqxY`Jjw}ct5;V1Q-@_k!P`BA>_$fRQ#f%)TS3?=gG*m?PWvHy5VC?~%uFXc4(1ALUo^5Z|` zH?NcJL>cHPe_%1nz3@VQEAr`NE@&vfttsVd`GdWbPh>k4DSrqu@l<^nA-{be!gI88YMHp?Hz_0I%A2FBhp#>qw5v$vK#$7=W>d#;>{8*^H5lOo`<;wBGM z+?2+Oo0=Y&mjhQw&iPUpaw%mZMY(#yfLE*eZqH_{2E)z!@t56D7Z$@W#a}6ltlX#2kv4^nia{p6liL~w zO<*RxlV`_td3IhzHau3u$+ikP_D~@w>MHTJ3y#avv6O-ae?Ts#ldscS1tH@-u4pBO z-&Ta9mwfGC$kZvF67SoU_~4lmA68T1qgJp>iH{vhe3A$q;g}MizEa||A~05o&lkWO zCB7)Gkeb63Qu|NXtB^Y96jC=H+9{;oP`ILy`styELK=*MYYJ(Y5qc?TNGJ?f(9oRl zl=u3G_t+0!%AOnjCQmEaB75HBvgdO_GuS43{=Kpn2x5-gq=-C~<(u3{zA2yOn>tdy zX?|EO-}E91`HbxT5~JYwfeKEnqu?Zuf>Q-6I5qXu&lH@NdfF=rh_gX91*h*vITSW1 zIAa9dP;lnI;l0eJ<1(95$!y67!=r$#`RBPjZ}R~1-Yoh4T{DOp=7sw3m$jDlvRkhLZ6qumu*+b@6zGPQp#YlkpdI|j+rp#U_3t#DVS zj=7)~tYs{jIVKxCpcrUpk zJn&SmNMw?$zg)>0$Q6}KF1J-KPkJ~hSM)5oV%o`N{3TcH0J-Ao$mK02SMpkNrAPxG z*^D_e8Du#K>P(gSn!*p3jKqVPwKP-@8sU{;ZAMB7}tsx^QjSO29{F49n zY5DI|L&sr$>l>=L9$|{>nE(eAl8p)SBmSqOhGw&z%J?!71yt%;`-YZl&c5~pk55!v$3=$2<8D3_u2{YL|WGm z?n&!=!wG3aE5PR4=zy)#rcgL2ZFa#~MV*1OM-+9AIl=XtJW-eBaUYP!gU;<)Bu}&* zI>B{$V#)yXh=DAReI<{V@#cLmPx6|;Z&LJ>Cq6lxkjKZE^vA$Pc@pZtF?kXh%ZYR4 zNeY3sz&UyMo>Yvd)DC&l(1tXO^K{|zq@OBJhHvs@fk|%o*bOip-Q5;swlhXptfw7;9c`(;>#trhT!%N1*K*j)LsM8F_L2_Vhb)oIK zIalr_^5m%}PhPH(7n#+C-*t@y8SW zm5<0#r8ZoY*;gJO$m~yorf^=4syw#@?!W2^%B6Bt%LnK`)f>ZCIcjv4Ik6z{d*(@V zQgt}M_O~*p!tO~m4Q|Su+6zPFs7c#WU!Z&?N3Fqf)Q*L8v=IO>FYATu)|!&9P{T3Y}F-ZC=P4* zA6xU~cxkB<{s5lE%Uv?Rsw*wy1ubg|%-76=TAmZSz8TV7!I6;q^lvLchuQDllEicEQ3k@3$I=?_w5f?tt|)fJgkTVYL4E36rM zZ1WNd`@5RLTC`GF%l--*kOo%c2PlpY;Il&KmRG>+aHs&iVXFe>pdZaC0TbYyg7VZ> zP{EAQ9X2VbkQqG^pHGJj@^y5<2?adZsDMZ57`OD123O^1SVE4!k^%RXf$^Gwd&tld zro%-=z8Nc5wgqx!_sM)FrOfXGVVTSyYD!y6!eH14ubGDiF%OMr4lM=fubp{MalNUx zqJ9Kj79I7)6eYggKwJCMzACUw;h(lC{Btqv>*6w<&Z@AHXBE2jjsjlHRziVha6=*e z%PVB`E_tinm8=mMX9E>;`-P0)_cB5z%dj&S*=NcKt;Dk*rpQz+TwCVgRt#_u*-IwlxNpvMcBu{TZJ5VE97Jmjv32->_J;bZ0c)D*zr~g zJNGMLR~EqT-*rI=yJKM>Tvx)LLa`*k2T;!aqtlPzI)Av!_wO z{Izn9YAWaGS#pkvhZS;;Eea>)99I#J%Q?P0+>moZUAQIZ#J}N)3IZ=D>!Q{1!pUx;2ctL&I1b0T~EPzUMe`>E(I5us^CI@D7XlAP0`m1 zF1}L1C0jDKwll8g%9R71F(>32Em!W=a^-0$SKhXAG8^U$}SDCUlrzK_o4*d@ccTt?U^8R4yDMEofuvXBf{Mj6Q%BT<5PjQ<~U zG{Q&M=&Q^b(?AtD8rP;g0iUTOPcyZGX>v4SZpqC2khvK!M`j6uHZVixtjw)hTf=mY zt0i-`a9~c%hCIn01p{HN%sH6zatwhDGUw!aIg!md5AmBhax`WBYx+>;T+I2onDcWT zlR0-B6o=DtG(!&ONe5gf&o-I!hC+7OEl2Z6n2bL?7Iwlfne*po8~5;cH|qOkF2KG5 zrGUApAabnW?{HA&Lh-;n{r48i12Pw;jfL^e7e;?5k_*r+id>VqXkKUn%(KOQgRaQs zzmds3;T1l(7O()Bwp2ldo5N`Z;cEygG7Y{fs3^K`(HjaXmK)wMzREJD?#W)LsO*LD zlNA0Ud(i=KLiXbLFN@EUy<|QZCVT13iaFv|%&}la9F11QsZPkK(#WV=_z_Ad@y#Lbw(2N#UbEqDO>zy;<#Km24aXdvGk zL;mn?@<+JjkBpb!l>sivA2nEhcOw0^soa0>RzS@;3aFJ;o>l0WYkotv=fkiZ2G6CK za5=lxkh4dqyltRuY1qTH@%shi=L>N$rYkU}zcHqpDKY9e@}eS)k*`4njFqn;{;cU2 z@iQ-#e<8MY%TBU(9V2VEjY>+FR!Qk+C@DjKC1w0eNtwzjDRTzday67K?-hBO551X& z$eVe(g6a)}0}5}ST;UxCD!k($S>{%R5wvF&ZDBqMnNNH0|1X|EdnPL}W)l1GPlnu- z+n$+yD`i{Kl6?o27+XhCPgAn}Z`i@U>#{A)&%Sp`^u{9x7a#|>AoG^OZG{i~PX=Qz zhtyECJx0-?e&(}#%x5q0Dc@1zvKdOqxj+fI4k-bjbwZX1g`H~()9?XfpIEv9?=Enl zJorUC*75QL#V}WHP-N->icwQVPMV{Lo%@t7L8!&g==!-uD8|D2s z#@|$h&dUnJnM=)-M-)2WLA|OR>2fiqf637TovzqxnTsRWiX)GTf9HM}(Q(Mhh7mEsZ7s0Lw#*DiWm`T@iIFLl82?;}zWYk_-{u}}$Vf6N z=B}CYG0(Fe&k`H2C9Ky0FE!&Ffu$}W%P-4PWC8nvsetZY1H_J#f zRYuy0GSbzSk-mxy;wwf*7tfpc0lu7=yF7!8JdaFUWn`W!BTGlR+8;8qrInFA44%oz zaaKl7{0_Nh$;drWMxOdI@|Kj5FSU&PPIxb)0Ou&UT}Gi{G72}5QG{n+lr|O%f?G0* zUzJf}n~ah}WR!x^J!O=sC8I3wrJP&FZ!Y*Lqddp{zFx*3t7TLeFQZ}u8GkmEQK_bk z%K2qfvB5VPRiPT!tj=6pgLc=XU9~F8sLgwO}$jwR`Jq}*rqyHNp{6x5-_^bJ0q2jL* zn_ELn{w#AGJ|NS%bTX|)j-FddSw^Pw`1aPeqr|3aou0Ohle3OP&c8A!($-TkGmx`i zPbvH-vAbL8i6eAY*sCnW*`CYNf%x|;Vi2$YrancMjv1*xR@j^6)Z4)gh5eHR9NP(9 zvC~k6y=|hfcWJ4gkfn1D>WdZjp5J%w3dAtp^ZO6{zDpvEQP@X*|M52U^Rh5Mg?*~2 zu+O2?`M+Bp>YVdSLFzr>5%ui~`?sYm-BSa{|NB&7U#C;&_#XKb_RS3^srQB_3j1Cf zzRJ>*HuapKupivt&pgyG%hGEy^-T)<)rC5_2EEHrf3I+%6ZakoKNW7u0-t5+Qv^0B zJfMTZ%{i!llBI7mWXx8%!xNw_GPEZ$@x5HXV>|wl0lTp*_Tq4vKc z@TaueCr9hN=tLvYbp})JqP!z}nZIQ(drlGiiCy%{qKHE!m5>8FDhK|q%c~XboT2Ej z(TWZqj{e?QmK%S-eOYb=!cm~x!VWti8J(8KaukYA7FZk3W8jLYO; z5Ys&zro^KK;4`@q;}o`KzQVRzsqdkj0i16L`ott`*vW~^bLc8>D#-8IBY$));%7Zz zEfAlJ#us~kgpA3fcy;DLNAvA0$dds;~z$*NGO z0Mq4LjXt&dvV3a{g-mFmkcm#f)}KgBYf>(STrdMR`lX84>T{G(u&O+>@Hcj>rzB!n zzD!dT&^MI=`ZrR*025?a^tdSRD3>A%Fi)Mi!!x=o^OuLxwqi2> zi*521zs|PJl<4>0sz}?hMZWcu`TIQT_>{KeW7<&wnxJDGM5m|#=&AFTVXp^4DgJ+= z&;>OWuz-76fL~_8D0!|#Dms!_hpQJnS9DZeu9Gmzg?k z|IfGD?xq~=E6QA!e2%g`0e@XN?6z_xuuihDjM^N;=9>j7lm zOvdvjWMgH8c5%wqYJqHRPBX4QGNxC+XGJ|PEq4TZU_@W)vnY4S9f>V=mND|1)F*{ZBkxhxmTA-{%4srJyo52;vD7tC+MzYq$9;rV_-XsR8%M&8yB)z&&bta zr(6y3E&N3cs!>L{8e8C^TutW5)pW32&Fab3ocLAqUvm9TtgFR3xmuE|)vB6Yt+UD1 zhQ8V6p_tMf6rx)8JKI)bnr{)_H4(T@I<9hV44d|L12g}%0O2%f+v&9GKQCr!*jq7e7Bx48d+=+g-^M{OG=zqHp$k@a7 zz1?K&Yb0ZT9zZuca9hT~b21Jsl5rRv_{bkJj-uZleJtY`+mF+R6X)*YPsTlT;`@DMJor<_L+=Kj_(`1P1i{%9|6XM7r+SIFCSGMuB1Zqltf@PC(z@^+7h#!6__M+xo8Q|mBY z2_1)VZgN?#Tvq%k@?frwQpBqX*!SBN@t)jD+QZRIc$Fg1~PI>vbtXJ~G zYFV$Qgz>Uo( ztsFDrp2A1s*TC=K>GzKN#)s0WiF{f6%9qo`z3ftiyD;~Sulm|mg?u!@pRx^ZB-<$b zDJ#y%voa<7|5g0;QZO9eDE>w@IHrV~(LDQFGFR+EJu?t5xHUovx2s^++`y*UuB0)G zl!PoxBsVYd(mFYp6b8zrKH%y-X_!8Gg z%XFnG?x3HrSRZDxW~QEm1O|>ZAN_DRYuBL*DPma8#;I;{D=66pO6=J zi@0P+HuQ09f=uZ1nZwY}^FeF4g3cZdXXTmQ0N%+nr=L7?BVoQg^YGEm+ab^V-+^Nn z;7?p=1?;g!`G7bYIl!L9LWsHyIKIp2Lj-3=k9!_Kk&pKqgBJKHM zw<1Hyu?gL)NC!FMj{S;svfau5VR_-8BEyTqSw%+Fhr5c5ibeuwfw2?HtdoD$nhJl17EXR>hyrt@xXa=bPAEkMP;PcR+b`%khei zAy4DVAw?UZijEC{ra%rhrb0l~lJZ8Nr$y`}=Y`z8yH0fYr|9taWc`SY`gn$GZpOck zt=^6N-|i_D)+3$5dh&m--{6!&W_6ISUsc{Y`75*WZ!Ap?PZhL`9KhwZ6|nKT0yaHY zz~=fKhYadBmER13=g7!?@`Z*#bz%V}6>%mf^U76Xti|BJ`^Emb`xka*MtP^W<(-;_ zoT+Gerx&7}DDTWNT+=Bp?>K07FL~!Ir2JRjdBi8?bdq;LLCUxCE~=oQxvk_~QiJlD zyvy7Qnn!;B@*|X&GYgRSbWh4Q@}8|j$$EtIaSB>dM&1kODL2b|sjq@o`sHO_ z3|cu(-fQF@tuo7d{U>E7n8Lh-kQp*ReHUA#~7oJTV^4}M8` zShg{&`xwGn5PX)lA*E#-8$^k%IJUj~?MKQs$ElbpD-`{MewXeUV{kCJ7lCX~f*rEW zEu^Ry>E(7s0(s)DDKc$jj=Pr=`*Ds;J8rJt#o@#z#1P5iOydj-43DL7d=1xL+Ou$y%(xyjWo(oeQxtZ^ZZVJmS_ zwo=PvEB!^bviW2yH(0jcp2_wHzLiSE(JGy$PtTLN-bLEdg?5mW9dA?QWIJ=ttDi$Vb@~2Q{ESoR)Sc2e$9-#QyfO*b=EPgnQDS5U2`^fn)dlU_UWE z8)J8GdLS2R?|8T^?aK%pyKfM4cw`{2dAfMy8JG##krz4f2EWG%+Re3gP2nAL&h*a} zlmYpiF<6d_LEJxnpCOF33TuIRuVOwRK3);u$)8q8$Mb0~*KFcdv$4zP)R*~uR#}46 z!B5&xuFgL0Z$Gix{eLR#d=d*%|W4qSjP_>S_r>^0Fv$;+|V$|QU3cGOE#9+tgs6!kuo_;c$mr@oo;z3dGN zQ-4KCjJx3(*@F^f|0`bhMy$sPLN{&1Z=0Z(292kzA$!wF)Q?f(8^%{*w}}$p&fi<9 z=aRjJMfR5EsiU{HoFRKFd_J~CvbQcIdz&8AZ&IS)wzJC~OioL?KV@$}mwH*s&$4&q z|KNU<%Vh6Fo_jFo?aX<*459vp^1STboU(@`QC5+?`)tLHwJL7f5yee!s<;^$;f>;E zo>bf{a#?5hV1EI{&1nSxDsJv7#m#HSwvLLM{|8*5zCv-trQ;T6rG8&=i-KW>;udqv zl1hpj7o)hPMc_R33W{5{PI1f0on4U<-YIV71-1`S+^SQGTV0d-ZpE$n6P_w=?Ow&L z8_%|nid)}BaT{pshTG(Sv0eyYY2=av_+76na@8WZs=#c8G^pk{p6abnbcN z>9B?*XEi0f4L~-YlC>7O@wKpbLhman481HI-8s_*nd>9>x|Cr&;3IE2Sl(8p<+;jO zNzqx+DfcKMRiGk@KBqr7k|iXgEOy4te)4kcwPXpcK>aNx@e#)q=|BU@1F|^pQa=aC z*n@3=xbaM4QwxT`I|VE(1&iR3LKnuu2n8&f2~QQUI5pRArRex1Mf*|%`l0`Zq7zCe zI&pxkt&+*wtC+04%LDdCmot>C3%Kc*^;2=i;Y!BeJGtiKrg2;tFIcJnDNAHc{=dZY!6!I>6u-S8$LQv82|b=1qiQSh z6PLv&%zDA)ec^=sEAGg@GOhfpig2FXoP)TJtDkh3{6%u29b=dq#@vv(dK}cJ&DUt} zLPe*(&+&hA>^fPJt>$=QTFI`<5=GwTkwnU$vbbMRNB_vg7#Ld__HvH1*b>R)823AD zr#=wSzs6UC12Wgd&t8*vcwwO|o>*C;J<`!Y&e2Vd3H9Iv`(I**WJb2PWWKR5zp%FJ z4gPK~>mQTTPY+)}ms~5$!w#}M+9=E8ubl5P=PD%&`Q zLOvw1GUv9D#ErX>pN*a!Hx(avWB4LJ`c81s5GcbOJVlY2#*u%3p0~0#xd%O!n4XwU zre88QJVb0@IPGt#h?1P+B6C0aHkLU0-LWc^gJtn{puUfCjx5PHOULm^Bqx5Dg1M1( zbUIF4}ibG&A&sos50P#;1Ke4}9kf*T}V~ zj9iQ9qnXRfF(nJklDRJNlDfo4rjlnp^*^197*9R=)iiR^rY)pS|EkYiKfMARqE0NU z{ua0^bAyV|o%0QqV@7A7e>WhO&@h(!+#pLz=K1(2+PzI-cdQDxlRw<%jY4~%3$~7s zt=&+@ctgfF>ldT8QeRE^UT$=;sF&XZ zDf4zYW|juVdcz^W7@aYY@i|uh)zjgT{A*a_yEec4>&nS|$-_D5vwp_H$#MMtr5v*u zTeBEjfAQY_>cKH(*gsR2gh?EOE|$RiN!%ozYEF4imL%+(Qj^$er$t)5Wq?ohMs0=F9ka*%D?m zE{`%656Mn^$=(;8r0-AJ`!mOnXZ_?x^np#I6}P#t;5-ktu>WM|b;e^Z_(;BEam5@r<17D7K_v&n7X_7CqoC3S0Dsdp zyP|onC>#W~>k;FhM0~%x65sHQPz>$;r^-HH4WPFT3WdtD4@S2ej7~Y^g<^C;G1iHS zvDKG#(K}fe`=B>GkabB0wqw67=?Z&gT^a}N;k2yFQbPyWCF^oxxyxD4xBMx`6U$wJ z4zQvdECP;Q$y&3Ov*2G@S0zDPm;`TST}?h`a1Tnhv5vvI`Y5n{O;zBUYq{py5->?I zA?YbU%Zkt6x~>xR1pH0wSs%C_U-^3MzgY>UsxvV7Ib_EdfAqtuo1Y%R_6MxtP^uuWZf18MW8iYkac?jwsW7` zS@*d8zw(o;JJ1Dou$E}Ycg2Kp>`r`QJNbX-O1LEJuDr0GeVb+7?F9bc-4I3q_pqm# zV#4u7>^TVhzc(5<&)&td?xTI-oM&HmSOdJP{iR_ce3kV;3B^Q^Co#DM_T)(TqCiii z%mI=)B7Nji&tezv+S=}j<`I&;QZyGUF<%WF9nqQfjib~OtEcMnio@jxN zxELLB@h0jM0X?B*3MdU-V6GfX7RcPn4u1f-(yjKuYnfYnlXV^g!m$X#xGP^Jw@Y$Exx&cWDl*;DgLviJ^6^4!h)7 zjegfH6|{i$@QQ8t3fA-=WYvK(%6k#HN>`qgzH&@|~`mzk*8x#YMp+~kvk0j@ABYEWyTi}C4w$Cqw4-)_U z(**pFtrc=)75>Lu3XW*UdW}j-NL38_$TuVpYc#3?^%1N!`eZQXKFYNgorsv9g`6u( zM#juV^xTX4q)W^fm(U+Gq7P(>rhZ$xoCbQykrmx)eJBj&-R%VWZQty`|9zRCiMN>h zp*!`XpY+48gm2ArjeP2~$f#Dx`hH7g?Y|3qrVS-IM>mOi-eJwpU2>`Kkq>>JbwBsX zbxt)~5v4QIzM-_Cv@Dr(OIPA4u}QO_LtGh1*;JOS=n+?#|Fh1LCEGITYFR+%ym~{r zW?|bUS+cYJ8nziZ2ce7ZDRglm1uSa=_*|De_`eyjW^4Ht1*|XwzQJpMD>_{pMW-(Z z*f$yWD>@@yXrdtR0GcA4*)gTRmBav27T0*v%obe#W==iTsUq=()uIT{jz%A;hTYyXbk+5IlV&|@6E+-?eLtvFvz zS@M^VZn`<=2RU|^2gbs%Z!!c28Ao2gc<;vGT_+k>AI7JA(cE5B>UW7Fph5 zN54ltUcuj*AG@kR6VBHSdja1?^#trc_ruotq9umkJziHTW9jFT3& zf}=dsrE+ab3FH-RCTD0%Te-HjmTOyOxwaRUYeylucJi&5#^j5)LeF_LR?p;Vm-Ow zgJPrqRcy>7#TwWNSN3o(+*84V+|Nx)?zs?i_ASQbHoir%GaiPaU-Ipsp;=+1?8AuH z^{fK3s2`DixC0(3fLKaEubQ%tU@hGUzBx3q8UJ5UK<`-U7i1q54a_6G$G{cYM-#Wo zi|@D$xglkUg_U8=eA!yCUqR(E!7>H?76HBBp@Pb@exf}4eoqVJSN#5icUPMCHV?aL z0DQzwI*(ma9DOAn%t9|gFF#AaJBQwK9)I`+KTJff_JEhj(zoPTP9eXN{=3gZ9wl*& z$0uZZ5(>oOpYZ;kjDqztJr$5I_w=+(&wNl8_R7TkW825~X7&+N-5<{R_ENGQ=D=|F zkyrPe_|l8yKs@_JXW$wy4$AbB*wf3wa95^Rje+aDHUn{s13P6q=z$@ek9ftwUwp@G zKKsZEc#{$uz*r#u`G%ale}bS29EGwJc4m}w zS4!3j5wprnJRr*z1=Z(0)^9@peoOx)r)?K~dUsmIJa#BHmcAG_T(RDvicL;`O+lYb znM|?q?2EskSl>#;`q7K7yrlmXm!&ZB;1)i;!pMUnyyM&0qD4B&QnWAiW^!cn%CTpZ z9D9)i!|BH(JWvbJwMH5+7B0#>3O$XyIrFF=GLNng$lEcgVT85j{4Hd##q=1syp*~zzK&d=3U-i-^d|AcNgKwXpLx3%+ryrF&ku#W1sgo=IB|>#a|S^bTYx^F)k^ z@6<&mz+rf;7#FssYo}t8@okM{gA@}*-snc=&_|4wP1z~;Q_>F~Gp05zW=vUGgD@7z zQ8~3xrdIuk{S{H@h^I=tFh!1(d^xw*S{_M!AuBmNnYWmBdJg!81kwMF04?miXyj`8%<;uhUHUDu3t7uwDKx z#7^&A!*A#ZV(ja_9+xN z_DdYkkhu2!HQZBk#dRjPy#(uoOU>YUepSG4=vn1^@x8TYN_d?E-L#{8BU3{~o-ym_ zx^7X_>j?CQh48Q3G5Ptw0%aFCjQ&v;{o^9^=omC|rdNmaWlshSlQ zDycf_+p6DEQjM`ns`)3p=lAG@Xa z@;Ls=%e&1FP4L_7!*6p)o)tUDvuPmPpuGzD@JjI~PAf8Krfey@un%AUO8Uf*xw4J@ zFOMxP98&xl@{(`=;<%M?kyti4AU)>E+cSegH{d_q_*kKv$Qx`)t_QhsF-N*6=0q0e zLi|&sSHeHCBR}k8sgEbNHolwe6D~8}hsbdhzvfZ&r0M8_GXkLk^ns;tPUe}6!T$+vSnnP~HarB)zr)8cS33UL!@m%cSdBK1^ zH;>$+&*Z}G2?XrVtJriUu_;QSduC3DpOAB9=66kwDV{YV@vnL*{vYn|W^VZg;s@*U zM4rKAfjMvU0p=&<*;3|#D@EZ0x_m`+P#ZKxe~WqXut$z4qHJjeY!~_oI>s*Ad+n^E$yT_DT7S@l$5h& z;ad%sFV$rE*Uq*Els#qndRvz7_(Q*A2l|<>esIiB;&Q)iJdaOGyvp~=uzeCX@U6p* zjK@5|vem35Tdkt9)waS5^ymfX&<_-Hzpp%9lgTp#KgrU!Jkze|Wa0RBx+-#35{y@% zryFZkZz*CId8oUiiJ>r;@%>e^cY(~w=|9QwJEUkWbIMF`Lgx4uGW$Y-`NZD_e#x9b z9#sm~0qp0yJgfKy0P|l&^gW*Mah~mHxGQ&T6#4-A!YbCP4#}&aVVe~7#>)2UupI8N zA9=It2>a_RXgD(F^9;F;Hh`aU9V6G}_y@U8e3R?sFS$%=dp{ zQw6~x#im9-P5o7|X}T*mZ64UBU|$LaS6HOrio_kfeDlNmJB$S4xyktkWb#(*JE-7F zl@(n1tb(hOE0TOQJW)Ujzk;h}S8(-93a(jQ!L^=CHiwj0L`ov3Zxw4-)~@F{j8H^M z6Mg5iqI3PO=-l|$Zt|V2FQMo`ca@k0T_`7gd>MB4%~t3nNk9%@S91S`jG=FLl=BEV zher;g5Ae;Cu};?cO=ccTBM0{vb{^jZKHPv(ZxvAbt^&%CQ&*Pw^Vs@|98b>31bht* zU$Q1}zkH3!duw9AS^1g{l&={%i_KWG)SU0y{+$(8*4+@8lnHp2`O8%jK; zDeK4pIE3BvixNNcC}PCjYg0aybu@Y0-M7isqp}jRl27$|k0ibm5lXIAPJ9rz61X-# z&VOmgzh`CriXZgrPTInnw<4+Fv7(D+S9G!D&{fgJo52x9msrWzJ+43n1G=^UflLXk zLrGwLO2PyofjasxT!iRd4R=;cY|qbB_ZLltPMqriYz1)6*DKkZL?E>kMjXqlHO z&{9)@fxjuxYE@v6Q-QYH3Jm_BK>P0s3=K!-qvxF<7JK5Z%=6=*5v&B{_=5Z}5KhXx zFgc(DE?f=ha*N6X@_o?*nHOiFj}i+=g-x0YeKPeq=A1>$IbRfWDgaxFT**IL!&L=U z;QJsCLX`O439POEz&BPuyinrD!uaR@#V>0=bJ7Jl{K4nQ)jMB;u{u|=>3S+QeM(rS*bG_VnPM}xS8OIXOjm4XA6#dgmQZk= z;R>!>Ou_Z$E4V&>Got`Bqp!4}U-XvlB|>-Uergy2%p(uj|1boIqdba1pCk__s=8v_ z#19UP0sJ%v@!uRI-f-|AwjY!A5Pqved;`Zrp21|s+pN8coE?K)Bp)j}6iUJnAh#nX z2|B_)1sX2;8|&+^|E0B(sUqKEL6 zdYluc0Cwk-mC{q>(bM{{NqW{2PD#&w@IZQjf9=H&+RCv3^OWQWAzx%Td{oe!@(Nmm zZtO8BGAr{5-*#{$C&#blAlS{E{Q_GOAKg)t0v&@D=p={TepU8~loRL5K8f+g`X=k> z^RkX1t}^DHOg-Gpsjn4Lu8ksoTZ5dri|m*z=b2D=B zP0owsfI0foJ~=Nl$6tOU=aph|UiCp|Ij@xg)XHsmA6pGCmsn}d5z|WEUs$%o3 zS8U$Nd@CcbyzS5v+s$Gf8G1+0a+I6o?3Ir`+ET#{J}bE49Qh}cr#q)N&yaO&TN1FT z{~t-`0NvR4w(UD<(6nijwx`IXotbiM+qUiL7{9S?+qP}nwr$(`uK)XWt!wR_)0`ad z^LU5SmZ3e4jEvu~D>3ZhnH8L+gMzc&R&b6U3Z}+MRQF=YhAjZU@+RVGwva=+HLIfk zrd3P;V|M^D<=?J~3Cs_3=R6Ajw|diGWTKre*~ZP(LkVX@Uea}e`qN47AJAi*hA(~KVk!Mr{ReT&hv=c z71YAG#q;LdOiJ}oN}W%lhJmOfs&rcwlrmC5?S`0Y|Ebi(yLmtn#jSu0 zX+~cT7$%>HOwsr4kO;&RJUNeEMjd)|v!F;~CkLkE`plQoKb10| z^L(GIklVy`-sZl)vr~Ta)5~uKImRnp@;qbA&C^-lymjQwNB&BF_WL^a$PyQ1DT&^? zt)oouhy^~^SkVu%Kvy`ybtXo>Jh6z*tXyC0b<E%8&;h{>5wo=|mcsMCkZT?705baIAjERY4efxBilI4pOq zIx_di7c;1r%!9+BoKzeAa_|m0_l=cv|6e%|jDY<>9Nw{aG9O z^JP9=Tjn#lWj>osX6j)%53Z(tFZ21rir-XQ@tb=oeoKDnEXT}ea?Gj^bLE&F3>ATT zYg>@nwvK>(a?C*@m_xnYIS1e$%YG_;+XcmMx63g%KWw4TZ|{hOT6|`VnAc9h%ZVpl zOI+_da$(lxCQgudN><({Sz7^eMz+)}Cl(mnZ}579_PMOtr@~Do^qi=KUT>Aq8=bfJ zH6`>}ss!TJ6Z+Mc9X$}W6uoz*oP9gVdG5HJ7Xx9F%+wKdUV13=>w0Fy zxf4gjcUfkil)D+%y4f_~8aFS<^Z!l}B^D{75s{dj7XV)?nVzmGJRb=DkuSIaHTtk{>*gXEM6W zs{p9N`NdbgexHIjP!Dj!C|Pslg@>}{Y^vamoX?!cWzAI+s1Fo{-6JWv3fK%ibI6l0 z%Fs5HXD+o`xPBh4muEhoOk3&!wB!9&f3E_Yl>q8%{IfA;Ba^%9&@V|#{z*_qiDy!ukpDk14pO@9UW-4nFoj*~f(d@BMMNWgm~7bprC>1imw2o9q)^&;)kN zKFJNlq)sN6YH~y1|5Lcp36%mUa? zzB4Z0U96CM=*;(v!x@Dc+59XYbC%HX}b9!6O(H-O*+g{Fb zzCf+8aX;l8KTFODd4VxuVpe!9=cHQbN!4H%_P^ZP(ao| z1zdQefQz*ls~N{PY^u-?6u8n*< zr9l5JtuXRO!Xn$zUqHJ8s1NY&r^2GB4-kbt=LY*)mKdpWhxv`K3jTr3;URHrS<$gB zk?(Q2sC+h}hi}}3AMPDKx9XVKyTSp*ZhNHI?c_@Az`l|4or0=%;rANzTc2gAU_yRo z9Hy>_rDAUSFF5{x9D6<>7H`cO{r|W`^rky|W&53tZ8uTKqaZo)&vqNHti?=Xta@)w6g70+{Fo?~Q` zFQtG%`O6#WYjIc%U!-r9VVU&Z3dlX*k4QgQ{|7qj&mdqMKmSU<{wFVd zl>Sx#bd7)Q0H2Y@ag68_x$1LV8GxK3Tb$zTzOY_#zW*uCkx8NNnNuNZFX!f!+~cOp zJ)U>_Xiw74SKQ|S#r-C}?Kjtv{g3-h-1?usiu*eW9`KnOYyWshDl_!w zGxgVWQ1Pa9iu;n2milexd-R7Z-X})!7AO5Hv=tO@&84`n3ADtj+Nir_qi&l$70a5@ zqPzN%AN+MAEj9fe+ZFF;<1@OfUrELLr-N>=AO3Pr&*q*!u8_w+xj&i!_v4gCEI+7_ zC!ZAZ6n*x&2c9Y9CG`w2|%2keovG79nD%`(S4#-}WT)V3HE~}oEy;^eM|JClxUOhX|M^>`e zs1B=Tryi@lW-mA+doA8KUCoN=#=YYEL(0VcmT9S!nVb!0Pvo>s@}Gg9bQZGttV*y{ z{hmR*TN_H&nqea`Ds{29`k(iKjt&f%Yt0;Ur6r9!VB_WMBWCs zv$-F+%!^wC@qy&o`Y(Bm%$7?2OZly()8MuImtALB2l+2A1(V>p{E?acS7HxpH;QL> zf@~8T@Enut+1rmkads2$$~I{&pGU)e`nP18oKChWm1XMF7>IeB(hsnyP5mKLU+gb^ zS#Meb5Pvd#I5k58fq1y-TV$JIm2DU8zl}_T^1^uf#C^5G+#=GE7iIauORSN0vN_ z+<0AqYqFzv6K8%4ef)NEz`lN`DIo9Moel35c<+S*@1x&8$OQcr_z<6Ki5c)1Jp&v4 zL+p%?@+t6fFf>-+6Ke84*{r~)_@NdX@?Bd|zU#0T*I4nDmMXp)d3`a|mu(UT)Rb*T z4)_jgRqdjN*^Ys7?nb_Aj~?FPi=sNBQ+3>~s7~x(k4FmZ%Q5t$4sd^LpaZZ=kn0{e zIH>}Og$=(oLlKpcbE^;^RAs9osvcEDHEK#$&j-1x72P{yO-ph=v9vDxwiK)kcRE(fFexn&2O7S_jrDBJqkMnvp-#yc8@@ zM2q!`XlYVJD`J#d)mB97cCcR&ZTMc>G>T|f5tb@~`a==_#VMjgVHmFnjxVB6ey7($Mf4^<^$sz#zp**|$q0*N`-@%b zFL6xBxHjsZ+5SD0UBp!|mfKBvfboj_T)Ub03LorXKHcG!?3NaAPIhZy*d;sfExT== z?BoI4?c?CL?7ltVt?Z80K++Xu3T4dzrW8~LjyZl-Ts>4e8wR$1H)>&aB`+Y*zq?=_;)|u}^>xc4d^H+Xt ziG4W!PS)ftWQ}I5Onr#9sY0)%0b*7hDWoi`rL0M%Y_U>y>@GQ?Imb`sXp8>Z&XA-1 zJUKd)m7^oRlAS5=jm?mGFLk%c1vT&8C-c4_s0a8;_MwmOF9<{7tjq^O<%o64(dmmE zoj1zS<)j>4nOCbD^+0!@IrVTV7+d?Y6f z;WsnO(VcstXFoZ5p|AJeDMz1Qa`a0fM}HgKmN^-5MagEu6`7N>kIC6ya(p_;*>-Za z8J$~>0e$2cI6#g;qvRMoR*oUWSPo?$hdq*G1p7TQryQfO4UAqO$Cwpzj9n$iIP3u9 zAILG$B*&yoa!jr*#}s~N>S{Tr-IrrJ$2v0#J3?CQ2jj34e8dL8xtu?jZ4&bljcy+O zM&=mKVN7#a01xF@!1ovClVcIzU3^WBr7k&^m6v0ABRN(KlVjytIaZyPWA$x0)?Ach z?PWQz89CP9m16_#MwV?lD97fFa%@>5$JSkPZ0jY*_H1(O;CFV`mt$8W&U+`$;XRp; zwuK$oPl$;;M*P(=_Tv~e6OLzr9&i9#N+9PNf7kAIa_m_qb8Ir;n#C>xY%Ov4(&Dg( z>`gDnzL|0yAdWWf2rbv+;2b%)j*i21b@fSkAS% z#rALWe`0(bcQ12{+@mL2z)x&J#evx1liXYQw9Kcv!G3H*HYg8l@APxl*@vyDFkm}6 z>jkdOS#+UuelP(ZVK>5la-Mth{25tJgvuJj*bwtsR{Wqb@5xP%ZKBw?2*t){R%}9Y zIHK4T=w>OKDK-_)>4`kD#wUYA%->W^en0Tnej{(?7xvn3*ZkFVqeD+Cd@T>M7)V zb%p%MrI4R#74j>YLVi0H^2c8xfBh8l&n`o58Kz(v<_H-+No81y$*^{oVH+yLzD$Pi zMH!AAGW_<*@INTSc~V9I1YVNiIw8ZoT1L<;8Nt0|gv^v-tdtSDM@HCr8Q~vgc+$#9 zl2L{?uZ+m-GNKB|NLpS-GDr^5ZDhpo8?n1(#QV!gh?9|`tc;W$WTfgVBlS8NX->&V zdrwBXt1{AWk&$7WjEo0lWMZE()6a522D+z_Jpg{o$niu*&et+>eU_2?g^WCpW#r}m z`EJU{e_cia{#Wq5j6$zu6#g!wDBCT@@fXi2qXhd`vXYEai84y}kb&-QlwB;N+!z_< zhs&riPDaHUGAfOhQF(}rD(qv`t}?3Clu^B&j2dNR)MWiy&1KZ)80vJ9QJ3GT*F;AB zqB0s}lF_h{j7EKAG@c}*3CGv;oQy>Fskx7g7RhC_EF_~9-)YS`ZNs@G$G~X!Kt}sN zGCCxa(UEJ^iQn%$NJf_xGP+)qL41YLonz^lAfs1)8NI8^=))XE&sxY^AgR0s9dK3N zLO0|sOsr>-iSia5EpM^z@)j>4Z;9ga5{vCE`A1%AGJ8v}m$ytYdCTG#DNB53IpXQc z;}fZXkFH`rdC}*+m5C3nLfx+_=j5$AMBZvi;HA9P`CNnbYj%~lR(pAC*O0eP6?yBX zmbYFAun+Zb%iG|%ybXyrZ8TZl#(cL)LwTDPkv9>$bmDz^n{|;FImg@lue>cL$=edY zO)J)KwOroTo#btUudvNFdE54vw;lQP?as?fo`sj^#{1tRc{?nXwyuf&{0 zd4DTBUnN+o@ch&y&))*hD7-)kg%@PLj)KgIRA`;T3sc{;2(=%JQb(xhH-#5FuJGcs z6kei@!b_$D^2SRwhC2!`T@x-TybN`U%20o(EIDn&c7>NCE~Xr{jmlSs%L=bh11>1M zVm0hA$z;D$ME0xbr`IaTetnGWH}1-Q%PTv+emgm|_PZZszmKl_pqcCskqsXq*F8xm z`&0h^44dNfayik$eJ z^?$UJ{pVWQf4!FdPlD`!`^)~1SZWiwnr7n1smbYU4U?~}qkQd)Z0rSvjl(849zWW6@;fIyR@lTF3Y&y) zZ8CnfDa6K4Wp2%BtrRxBKDmMCm7wY-=7QrI&5bIX|*U`1y30b5nBiVFI-Lczo$1ZyWTLt_A&Ahy6@ zJyo!2EBz&KLScx~j}<73FvR0(;Lz+oli6t z<%x`u?HGR6E(bveH&E7MWoz`$3(wq^aad_EolXZ1-F> zz%Fq<4Ge^So){-B$8c>HoP+POU9SKaWV^w3@wM7+e39)Y@0?id zDK}ff6gUCI>)hgAymgW|prn9~c>67SWEOei!sUs_?sErQ&7HAuRJOZGfc5Wg2kb5P zssQI8{+m1r6XZz|Cfj{G5N|+@F5CTGvONd~_V2+V{=ZYUhsB@+aBL5W-Fw7wJz68% zWBfZQ>(UN_b#PC%Cplmeypru{0eMoHX%D~~*`7r~7vMObr-DBGe+4c3^@4Nsq7H15 z?WGHv12Lnixu&o30mtwP+t8~I%v)IwIQOrA@PB^yO)ppm=VW`!?+~BwNi$WpcU+ry z*`Yq*hf14Wo^(~@Nzc3z8926#Yvsv=Ju!20d9oCeCu>7_vJpd?y{<;88)3Y%y0DKr2=0LRp6_5*sj3Wm4R4|H^i;IC066@5(U1)#`BK) zp6?SC_`w3imVLyI^6{PmKM_aqng4(OqQEa>6!{1}IaNsv=M~rQOKQh2k1^#TJ zz+b+wQGvf}D)5hBg#!Pw{@+&${72nHWr7QGnV8?%%)GVcRdV@|W9Rc+F3T{vtoYHa zC*-mHT`71#=xH`m4d z(eC6hO|Bp(FmGo^LPEO18@Y@&z`XCF{pAYtgUND*^ZoFtaz%u~bh$i9V5wY5 z_`M`EENk@F;I{EON_{0;Z5WfSz1HOdbr=&h3rM~zC`VmXm z?~&9WyYB#e0|PU{cWKaJY4Aj8NKI)dy8X~I(lBBvhWo)yX~bMJYTq1q4&HC&N{kqdGTg?qB+;{Bd$BD}#ao*(Gveu6D01K%TV2HR=mkPUpE zD|_BhXb)Rt&xZ__07oYKe7D5&& z)D-xg!Y060Rd@osDf*z_-i0G#DRm@MM{~5I@-MKk^3CNRh-ccCSHf zqeF@^qaQYsH3c=oQebCFlL6|&QJKxihvU=n+^wLN|%PuUx?kI zMqXZOyo{euosYVTom84SALz?PEI@oh5%lAt*aM1U)8Jk0DEdZ@V(kH&MsalN;vdD?Wa42C>;Ul{iVtE{FX)WPJBb(m`~YB{gL`S zQ_kh& za;_jxV_hJ$0csZ9#%9_lUJ-qNNPV`{fLZdn>1Mmcz*ODNwm0E_&MS9N5&V_q0S)P2r=0~a6#9X=@sh;>{?(h<+p0d7rP>SP5XqJJ-BU(C@(Qy} zVw>v~aD!)hs|89T!}nI~t{jTpod=lDY0qf5rr5pr`JL{vR3~S?2KU9|A*_Flb@wXZ zW@^^m0ADy4_(TVsR>Z(B^1Dfm?x)21JVTDng`K=nGWn9@;2XVEzA4%=j&Q6AA%L%# zN7<+ST-h4%zG>1?wx*014#t$cDHS{|Si$p&QJKF0`2)LQWO^6?N3e5p&qYyVE@}g| zMk^4rnv{Mr;*J+op{+~X8;D&=ZiYlSEo(IM6f8^%Bk0ee-6W40nWoSJd5Z9!e(wP4 zMHHDsi`?;kD$nO**pRxEFc}o1p=by3> zPhtC19Towy$7f`)5;tk5!(l)!`%(z--F&$(Pf7k?5*gtu@7=GpiNwPH*A! zRC%g(rO&hTZwGz$t2%N<4aR3-hgLzD09RQ?y@^`2u;*K8htpQ3-6>D)R>;^JWwL;E zAoF)HcgG2QF(*?%D_9Bd6@MzLTpM{W?l>vePGTyDHBuDuMNxN3$iC(oa!G3BkEROR zA1TZ8hP0JvH!=1TlTtekAp4n@$y0}YtT&MDPoYKMGd-idkAH!2*v$LEJV~DVOKD%? zXK>NKArE$j;AvGAyoh?Yi>Q|vO$=W)xJmx+t(@}NR$o5b<6)Y7cKEbX?H@I3M|F+sn)Jk$kW1{bl-;NAc?l!Xw46U&dJS zpWMMAKo0a^Cy-|yLhPJDKJeg6vJ5Fqf2-V~W9bip&(!ukCr?*oxvsP1>GnTf%hUaq zJk&Gw^vnV11--a$h(GZ3@dxtb`u2s3^7Q*IPyh1r3_vyeF5GXLFMa?RiUk3EWgzXHB0 z_M@PNVm}p!$%_5V_rLJ{ueE@@y6-M%qgdq0*q_mg{q-N5Q0$-N!1()j5xi5J(m;2` znf53SJu%LwE3tIU< zuyxt%ES9}4zOK65yLFKV>a~>T1-7E;C*+;c7O<1e>?rT7)Z8B{Bd*FxZnNzNIr{!wzN3Pr@CDb8i^cVS3 zJ5~@^!@M)W#03O%pACtCjB*d9zV%RI)rJhDrS|vGXRObBP~9UG?|w;cRWrp7BmVDv z36ArloDZuI>xUiv9l2|ds8#j|f6BWqaz6eo=M#KATm$D*VwRt>Z||+pK+b1}<$NAb zA3wqSKlGo=`Jxmt#>M1(*%$CRd>A9=s~>W{u1)`noNpG(`IhxRM#)Lcuk+mq`os#o zUnl1W;;=pv6a6teOr!rr&QBNR{EUC%Q$9JrFsICy4fKb|`Sp>U--^;dBlG82IltQh z`~TcR1Q!=-9#nSO9dB|P@h;_=BP_(fGwk5+FR^|ce31Xfc<2bn<-h5V{5O|@1@hnWQ2tvp!ch5d z+a~|*R;VNY9pv)vAogizVfpVG0+-~!o4BYw)UnvJoa^>pLCuNN#g`xa8{gExO)>_> z$rzji@K+5PC1WW5vZ45dhOL${9RJUV4KhYZs#Zhq8& z+@tS`|K^2eK-}l|%ZmSzoH&@7#J|juU%PYiYo7%A!*lulmk)UEJ8YF-M>Dhp{O_Ik zUuWWJI?sUj^6TmX=H5-sc-xYEwpOPV)S6iG*5l!Wg4$+;5eh;M3u>QULI2%UP=~w< z>PTKf$Lk8}Ony}7o(e)<4CkO6-bl{)|3h%Qx-;^ z{(~QP6h7k7(`1a9B4aFegmJZGjISYMLIoKUy|7Kjq+T*6mzFWb0_$Z=EeStlOgklG zI{%xI0q)3{IYP#)tnd)~(HdFPkQ0$+7j~l#vZhTfYdYc>(vydtZaJKRKQd99-IV^c zOd0Trq=yXoWX<#QmCnu&p1TWkN47{bc>0?`8TG32lJ7HsrDTo~r=c<%3@76G|Mi$5vO)dK{3mT zM?0YKZQ<}yVHfbf`t_5oeF|z`rj~7uFCasX!nUzynrv(L$hMBy_tE$n)|HiQeH%E- zXYO_8@ACWGN-@*o6*HH4SbDT)Y(P(Z(GFc>mAtbXz%zO0;LD$j4}UH`=6UqzHv)2T z7vSq&SP!1ayJ(HPi~0UyzQ1I>yu_e-mp+$w8Q)nxP~H`lDDpc6;)KW zXvVV5!2Au_$|)*)7TKHSg>Lj4C@Kdrdd<$s-ke(hIT|V|XCeCafSB}-eHr@>%H4Gu z;~Tz-#Tn=`Pk6Tl^r?%mm^r+=osqlyOj(xTpIB0w{!zJmkYli94qRuvL$==ck9hxE z@=el;nAO+hGz}(hH5gqc1ud~-Z;^#w*GGRr&I$Q|EQ-wONeT~E)#+6|qeCAz%&%6n?=_dbpA7Eo?dWds~%_DId=gS6lf%DoN zosu~P?9I2y-ohVFS&@eqUX?h2YO%0J;nmXse$pD$n0c52 z{g(MwEfOjZJMa|!4-3FLyMARY~0y?N&gnJ;h-FRX#@GG8nR zW8j+1msp3~UGpV$u}j2TT^<0ZWxf&y=!#dC@~%Ob9~%VI6gv(*eB3(XoDM0B_m+EH zDESDZ$vvp4m_E}K(-%Md27LD$$(!nXN-_PYqtmc(c{E=x0HpO^Wd7jjKM1-vK-)I@q| zAR}PIJ+cr^%I9bTbOoOOqtt?Xc~Swda==;zyk^}u*iny>A94(v>am^jIc_N6Ep?UN z4yNAf}qi)6t@_J5S&wW1#kfBZ@ADwKZfDgxMx4|z3d>kU5 zQ{;}G!jAnZFYPP&oX!B)aZj&Nz-MaDea3Ee23zu(lJwuxB9onY$UQ;KMvYYpuh~uR z8PDaOxm)g8*ngH}kY_3Oon@uuS0{6g%-7;_FdE3|-xSuu= zPq&G6R)#>L%$ps+^SAjfdB?=nZK1z~7`v?=Y2|a7tj}b!p)1?o$z(4JE0I-J1M?aU zxP>2OBtDc^N(e#jOfm|4_EGtyh~Ry>S;p+;Tu)?6YytsavH6pK;d8b(?3T~1vRrra zQJeE%zvRNbN=G06)hp!QSNPOkJ(OPOS8zm>f(!P>N3#c?OfFz~RB4%dqSyE2dr@O} zf8OFf_(RrA$cq{J0`HxS)Nsf|eWK_TN{Fq64TgC8;6w0UF_~{ECObB!cF7gjO)_^* zCBIs|6y#5>Q0F4@NO~(_a6!HPaI)K#is6{*fgmWo7SV)bm*?>uw|v6uh;wGh#ts)MVKV@rWll@n<=a8D#EYgq z1B?^tlEO&%CUbhepT3(M@3|k+UxdFhXJG8efIgaGm&_SMBXc(PE88^O7aUKv$1-Q<*s|w? z6*A{YF2}b#+!MFBA8sh%TTTUhuLPImbIuRYE6$Av{{I7;&JSuW{S1=Nd3>(tI{?qq z1-^G-Ae`WTqZIIq{I_4^gIy$V>|!EJgun8+#5i$j4>H{ZiTFBu9>#lgJbO#ti7k7= zW7%8f0p10z?Z7zRnsK~MD(DY4WN*tmq3w6s+u_G*pA#O)a?&JgX8bT&@W*8Jl{MQS za)Oy#F9$xEoPW`wE22N+i^$X%9`^O6Z4V&=3!9ka}9;G#@fvI2R!Mg3$g)=t*q)G{f7Z7U1*$t*8q%1WJs ztR3K-Oxe-{KA;lh?UtnONhxe&*|yOBmbEl~N^0JivgZe$mF%Zw%7HwWgBbeK@wwvl(lAGS!+efTATmXSt)DXr?S>>B`bCtYr|%;Hd-ia z^asGGboNc_RMUW|L%X{$AFW9Am4kvbH`iYa4QO@;0O$D{I>evbJl^ z=l`{Q_dl1c9X86^vAj(AN&@F8-yJ?Pr&FifvUbTSYuA~wcH{i?U>|xckSTvQ+B35D zVqJ0#P5GD7o|3gsaasG~Q|mWGrUFsGcvPT0a9#_%m8oDU;JEs2kaYm(VF1^=AU@-Q zpJXZ&0US#qu2CW4ln0!Zbr9Pd#5ow^lBqCbY~e1z{ZjagOhuBgoEYUHe7vj^&>JS1 zWh#bTUTm^V#RcS473bO(XUs2A1X}Q&^gvGdGr#_Q)dNAykb!M2X zvpCKHa;k9>fnYGf?i?*e&KDd(R7y8=HfBVHdd{iE`KEVO62X;{&KIGA~*gm_xi_jZ$!r0jU8lDG>~7qWsKbDG45@<k>U3Q$$bD>@4$BYi9r7K9(?|L&`I}}2i7~(N0xoqqxKa5WV?NA zV;}O}e)i=E@9_Nx;EgN?!XQ7al;t4XJQhofz2x95I1I04IaCvlFb7{f1zQ`))*k=q zdSbUWyq9V8OPR(51HR9VQGnh!23!7^n=*~fBO7)?+h)drv7FPfdu1AzjL-O@x3JE* zp0H4+@&0@+Alufo^xFa7B{tNy72oW(95PL)3yhZ&Uh)~=>-Ow2P2|~~*bR8TC;pac zQdK|?oy7c5cl;GGnjEb$ZVq=;q8d9BNlw7`eCMLN`B;?!8ZO6;cB-f5noDt3++aD)_sqoIoZd zrfuDQdDi1|+<+f_BmTxsqvhGmJZmSZ$9#r4;dd8AzDOnC3uk5eoe#KA@k5(_-;n7K z&%>WI&<8Ha^q1%VZ)I2}(?7FFApmsvi)ZC~DUWfZS{g3OyKS1h+o_Sf{gS-cdc8X<0x{*-L%qApq1(4nT%MiC zc)6gh%w33qYfuB<5k81HZpH3jrPu>4V1;52;&VGlZRkTy0UhZua?P#~^req7UnR%n zDmv6Pbf{~{QP+@>uW_!f7YF=**YVBWs0+)1?-O@ozBwLl$b2gX$Y)IV03Dlo=yHuf zXMB%5fyVmRp1HzdBAqtdjVfa z`^AbX7^$oWgZ$+C>Gi+8EJcTW2K;2`{xWqBzW%yQ;E?$eO|ZCO?%1ICLLOW^^_@zeJu zXLV(I=m3l}E5FOKDhqlmvE7}~aqF06u8aNg##F`MBnP`9H7qK{D5ml_#Z;AI$P3Y` zK$(1bACSjra`2w>iv-4M|B8VA;N+d|WXuVeAyXjV3%nzfD>E?myFSR|W(;v}k|~I> zBZy}vn0II}?~ssW@Jc451gw%Nv=;1toR@P?a^{%3pwL_7!qyzEs5(6R1E*4>c&Yq`T#~uO7I+|Y z$r?aip&|d|H}t2>rLsd~K-VjsM}ET+8M!wJ% zsL|9TEf6=>vz`KbMk{dWc=SDdOtp4lmomxMi%p_uDyT;+XL324ACt31B{^FL;iDtJ zY$$rx(0OniI48q6hxq2r!z1|)e(aWv1I&GA9)1+Q$UFkwYXr}5dX6~*=Pm>1;>E%5EU-U-;9-&BE9(p!JUHSw3YA@aXi1E}kD z@rC>^X9DWcUOpoKtJvzVmWAo^zjj~#*SVjrGvDM5d}KGn6gjblBKJ`PZ{IgX?xzOc zfli7%m=*pi^3Zuj9-gGgBe{U;yXN!?~wQb^0}P@W0-g2G4pOb zl>2v(g3P_;>=?sx;u9MTVq8A0z!srEOz;Dz+@2_SNI#d{NovdOjg(~={xA=J^9t9-GZK_R95; zu{s&DWHRi(BZ&VRK}~@M#F)3h*AP33xlV2>E~O8@fsa1qonnmo%%Mfik;7+c`zY>6 zeZ^!6R!k1^vD;B^q#JW@X*J(FtC-LL`q*MZ@dbx&R*WgTV#1O_U;2Y+pDQLjmtv=M zfgynJ44Ep%MD5h@m4IK_Oznh-9MF`y)*Gp5y&sUJVvn<54S+e}h*JrR!FL}+9ixZH z$;mr&4zRsAD=M1!e;@1|J{^`T`b{ZCf27XZxhaZ%=!N<)9=<60Q9U?^FJQRB{R{I< z+~HYxrO0uOvF(?^w*Qdh8>_hPT@}|OhvIsgxes{;wvdC`=7ii|v5hpiuVCtthxfp@ zFlsa{W7}vG=bE?yOB433wcOE#<&Lq)GSURZH+AgK^%%?k4i_O%wA>p3yi4|ClL;Iy z(>@=WUBs9kohCo(cRAb*iS@wt_AE%j&(BB;Qc4S{bJe!GV#vh{e#yM^FIPi*1;5J6 zwIqk2#dm%uEx+?h=7zir8l985adqH6ZZb^frpPW$kpmO+1Iw`0nw$Fr_UIPaby{G5 zYS{?>$=qtN%&n7fZ>`|oIxpWo1LWH`Conf7^-FyFmw-?59WYJd7pd29X8>czcnP?e zxf8K(si%<@edUAvYF8uvs+59`-ctO7YckKjCEJZR#BuDAzp0AsIiJgOl$y>*$eX*& z7}t|Llh*qb71ovgAV;YUb8?^BicfZ{0#}7$uO+tLLha^n)Tl@tDZh)4o!MW-J2_{2XUD%JIlK#3lL|vw;_C&ci$9w_p@w2%MK*M zFL@76l=n~uAdm4dIhaS{;e)(K_sDyUTuiR5_XN3%C*H|>a;Lnf$Xh&JMcy;`d(P~V z_iRo0C@;1%@A>>dPUi*W;){*tz2pXbM3-C2dnGH}l=mt*qu0o3ydDBm<-LLL=w>Q7 zDKBQ9Kc^~Bk_V@8#d7liI_bL1P zjCG%Jyw8uw`(mBEFPF&ss=mChk^L z2OFXnzoPeB8aOQPch1)jGt80qC*LP-%=@b@e3tk37=$6=`XvNNXwhr%2l_McSJv($@)x73tWhNI!BN{K=1SmR4jyYB-|E zz~+i{A?LV8D$>onGbj{zuLh@3WC-ur5NhumyhDvKiVS7l(EW-G>!--@c5qOU5pxvj zsjtW+Nfqf0fM1G?WIlo@mkuu&lk?{fD@&o(u z@rH~~9OviNGQNzH@s<7jhJXHhe;GgO%J|t$#xE0a48J*-e~!ucyHv)%feJ;x4K=M% zsJWv;eL`TZLM=xWYR#umn*)gZ@^!;Mg*u1@_3N%s|1t`7HdJW95QPR-SEwrs+)}7} zokGby3JtES(2&#$WnOr{`8$XYLS|oG96rf!%?kOgtt-EE#4)VfC%^UW^xn~K0U`E6b$zb(`o+44eu*rfcnMFVpG_7svIfE_FiY?{+!@GB0Zw0Os zGCOlB5NG0wA@?fglU%X%V;{&Bmj&+16`v7q$(4`}kn>Z-!A-eRrUBwlQxU_O>Y7}s z!-2T)G=Z=Yu=kY2&sXx7Txmzim5%SFV;kwo(9yJ9kMgWv;eR4ExoH)UXDhsw zt71DoZ=((%I&uYa&?=G_SBY5tN?YZsoD81GRfTP0R}Alo-Zr|2V((>A?EUlD<&Ycp z?YK~=AOTVPI);L+QTM=Ua>+cm<9I~dNnh;+*$N7#=+6d zt2$;AJ~(3U3vE+yVf3OoQ}G*80Ms>CuM0}n?5<+@BY^xCQBOxocEznjXtsXZT8b&2(Rd4Uu@e$ z`j8KX(#Iyyt|0yE(#L4}ZDnciq~8g4)6WIyQ=b9>J7#vqfmm!vP`4)K$gPUJv+*+F|&md-c~zhZ;vyjYelCFpbSb?Gci zSN8oI=ejFC@2C_6}r9OV360kI{0id$pH-aV~q!mZf(_`WvKG9kDH}l_^PCSOC~iz4PI#Op)Zf zwx5B`lbo3y=q{5hAoE~v3V*1mh$e7QQP?G-JpJLKqLQQn>_A>C5JTs^rKrd%ut8B# zM;J?l!|NX zm0w@8;v9GQZfCwX8;CK@QVRWJJIk5#(62IFMAn{+oQ=IH7JuiMoHCDZ121Hr&=5Gz zVbc_K7kk^?3$m|`Q`CKIXKM#2>R}DqSBiQ}yN+}5G>(?qWY0sW?~Ts>0$bYpL5h0S ziuSRh-ZYhc193Ox5ZkfkMt#6;vXSFQzqfB}tEev)+B1s!imtjToua;DpW8G-Q9t|B zzF)xF$uQ=xW(JTY>l=?1T2s zw`A{vOy7|hjK0J!^&?(o)hOV(Ud`&_2R?PdJmmx*J!LT=O* z;!>#Z;d7PwNPeHAC0^y~FZo=HgYF9WQ-r#=HYg39fH;>w#AN&>9^(dn^Bc@ranlWD z6oTD9)F6K{%wM75B^4UcU49EvAa_vPYzMYP>?eLZnRD7jt;##pmAr%P=^k?i-W!5_ z;-P|idq>H!~+liFO)$=BtaQWoCGIh9)0Q?X~R z`G&278UppwD&i+GpP#QNY%ud!-bFtSC@1@zO`KQyY2p>sx2l5r&1ZibE7ZfhK}l$n zpc^(TgWg3B;_Ib~Opd)P`hVxI1jjmC0soS6j5BygiT)H35e*agOnuy2Q{;0yj&YRh z-}?yLC!Y4_az*@F#PMSz-ATOQVrpD$h(Mt3?(XjHQ+MyHySw|;U8YlacXye(PrXz3_jR$p zwQoY?=H4UwY&+Qj`^>3_3Y;zo<7He}UdF{)uwl@j!|2;KYWRjbV5y?*^hx_^;#JNm zNwz1{_sfq;kS=yWl}`@+59H@-?a~ly*@*+Hwpmxp#KaY&+VcjN8qy_F^cP2 zNJ*}&u#9sWz%&b*ghXI|3_f+LmuUj;@S~6+ktq^-qcwd&mMHQ9x%VMN8q22m^a@sPhO#2 zJfbZ;P*^1G?NNUuZ4JF3><6db%6)pb z+-LBeob4j_xe(aS`}QmBU;IJOnsfXaNloA9ulS6Ia-VN2_XP)FJGi)5?n`_gHJ;p8 z-0+ve9GMhGTy5A(?Eenz_AiO+f6eDkNh$Z$dVtO28a9yYv*fV)W;Vz89o~>L^IvY>SC#*7m-`krjoSs}zT<`Wa^F27_q~;J-)CQ)`yb_guv%eJ z_z3>vH^1A$F?Q1TQrL%_e8wobA2x;8az8pM_hWRqO6=cwVv$1643Xp5QaLU#u3wrV z$CY<-GVeQ&W814#1@Hs){;cQ;th;Y;|8M%}cmK#Sq?jB-*UB+0QjX!h;Ik47 zFSvf#k{)lC`w92r3D@vx72uxy%RT)U+t$DT@Otj`&zuVTRiERjNakBz;=QyRVr$*c z4$A$U@i5r|*$gRVGnV7{4RVHTK^NqnO8a@vXJVgozcj-!xnI#vUol2Jnn3*uasYg7 zmAGu5Vs8>((XEzZRZouX%yrKv6T97>F*mi0wZh0b?@E3-wZKoY{@uvF?&K#$>_o>O zaa?iVYrqM7Gi87n{w&iKMBG(S7WORcH6Hm?LB0P{P*&pp`d&k#r}Y1UWIh^{UD16K zX$#D!J=(%dbO81sOxX=y%ISVWULg8cCH5ougS^&1c93Vz{vC_SnO;I1S$q@NFLOd_ zp!NZ_5p#f8qd-^KDsy5eREEXyNoK}Va}vi%)bUt~k89~nnN#r`ahvAUNjyHGsAUB? z9tN*uPSXI0iAqb%R@xqLRpxYgVWG_FLwGIu+sl4&+=VfeSc)qqRNj@RE574 zRq-V`^^X+WG(oYybCH5(!zp+#i|G%=HYaw`v}Nz8$jH~{OvvV`Er4VfZKXb4cNsO1AB{@hS>=&;5>9T!_DGz6XtXMGdi z0`AFTw?j4a{Jaj{@8JCo-XBG*LKM$Ok&~Uw4IOz8 z@z1UJt*yhMFV7JVkvtYU0ks5LQ&*r3u?5b;$i0efyOiT?$g7HN?^0|BYBO}ikGQ+B z9Q&Au_t%u^Uo&zXvN4Q=Yt&+=Pxm4RC_UrEXcO(_sGM=cZf6~GiNiAwTO>TJp>*Fh@L-G3o|BrPrxoZ}nDODA;!S47dz?V5+P(xClU+sP6HGo;;l9BN_frSq-V;SVtV13vb=jIy zkF8lb86PrFJ&uLhGCo1Cd@@6U7V}`O0xi)4@xKIG)lr}|aYe0HD$u4nd{Lk+Yl?QY zmAHO6{=T0|{ChCp*GEQYM|8BW=x7TR@qn1Gq-Kgth5cX*Ynw5r8H34{y3U?%H!`q3 zL4T}4&E%To#@HVy5VJ>t*eS#xoFJB9h(bq|pr5gBF3)HpXX|0I3nw{ z%rY8U!W1Ab#)zNFm|nqEnvv&PR8h;(ai-!YdV~&`xwPVkT}Cf>M!p<2w#yY2aTWhi zAN_?~twZ02~T0<1d% z=_;bH970doBUjpF&>a2*{Gc6MDKLP0Gq47{S76XI#b?Jing`qJBy6$Mk<%Y5Vg@-Y zGt&aK0v?p%9-uF$9xBt=NaPnqrop~5wvHmx=2v7o)}&*XAp0sZJ+XCTUm-Ut65FeZ z8icDre-rJVJj(m)f^pMi;e`#t|1kzAV=R|86?wg>=8K zEk4%??SS7qF}ac%V&(KNgZ@7nNM!`D; z&gNI(LLp$TzCeusMeHXR=PH1&FF+nl;L>viE|&x5@GE{;2(*K%6f%y&b%l~{v_g`@&WMy#7!Eb=OGKp7*j-!mv7|w&e`^_IL*zflp2QEQ!*z}`%Ks>We(+7!_w=9l!(gAR9}K*nejj@Pc~-_0 zGh{emk}+i;WF8saj6nymUB#tCE|$?_LtaB-=Q|iqeeEX-or2wK*#yS9%?cX!Te7Aj zXVh@8sEocXiu^%-WN;%zOr~AV>P=f*sK^|#aEmrl8_*k*dt@{HX0mK%*6P898Ar*N z9Q}>9osPCWn0C*#9b8F)A=osA>{MWA8`kQ3W!$tymIc^lwk(!qYi0N$%eMKlY$q;e zJNK>QSp|kA!CnQ1H-?uAj2N!K$T%R@;vlhleri}yYuPpwd)<#ZoG*6y2d5O7vw?VmT*wbK57rrkWw36E3ALxi*qEj(NbT%mZ#0f>8BJb;TJth7mANCiu3Y14lhG9xF zvLDKAbfvqs_^$5?J?B&CdEV2fx1uMd1Z*ev_DYI2LvKaJqH|PXzNqGw^MhHgbgcQ( zwc(hxQ#$IEru)k8BnIhSDH-1Ii8a?phL3X>8Z6!JUxilQp;~|N;sm3eXNuB8-Ujzs0aTl;^0z69IC8{!`L4V z?@+{%E{Zt%Ti^UoaX%i)BjOu3{gB64n3#;N@&wI5-jm1ljrLhip5SiCJ@OD2XxW-W zo{-hZCGv!!!)!|?j}1HGwn6gPgOIP~i9mPVUQM1zp5MMf9>-N#c0|bYJKkwW2YHg; zMc$Uj)l`<973GP^j^y)Wzss^KqdX~(Bl-L|^tRn8%`!k|+N{B)`94D_M>-m!~k->Bs|lir$gsXcKvg)5nkAlBX2*?PGQ1DbpW$Ri1Ku z&hZ-ZR6s{Oeo>yvk+PhqB2QKB2Yt*_y`n59Ip3O$9Vbu9QyY8VsWS4^t%W=)Pknyh z=@RlZM8`dSP@cvuWg(Z$)3gL~tvrADWjPx!Pji0H*|G9qQ?s1?DNpMZvYhKAPn);M z`|`BADa-ll@^s*H&hxpQ_#GDt%G0GhlIzrs>wGc2Jlz)|7t7Ogpe&b?%Y%Q$a%r?Y zy&oc9%F~zoaJjNP{Z}9l$un?@ELZZ%Gq@e{FL{QHkmYKUJi|Dzt8?WU!S%crCC|u> zNUq~(uFtjG@{BWx3f{!_Ciid7U$Wfd{O8ebZcUMA{yXG*c@}h&2;YZ{qc@}q( zc~Z%*9^xS_&-gu8>6g#z%5$CT`+UDVH%`m)A|TJrK}fF8ZLa@I-goyC za)>++yvT3zJiIT6PbwS-2(3e<|hp!1e!+e)GwIJTA}Y@3Jsfd%nIz9%OCJ-Z{$+ z%&}eN7>gYxd41;G+3-#_Vv}svzhw)t$`(q$%U_qc>tN^$&lMY#QL&vX!3XS8d4V-l z7eCOJUH{1vT|u$Oh^4wfjfBH3;1s%ABRN?UJL6eXy|^KFd^k4rK63T$$J(d5O#SeE z^t&fhfBcu=$IJ3?~$H4}{&OS5`A&Uun-VIi{WZDrZs+IaB>9XXH8x^_>8|F(3*XE1d3B>RO zhzAP%Eq5aG?zw6B%ew=%Z|7qxhIJvPEqGVr7$8gPF29(SckAWs9aQL{obwHb3^7 zvU0yBp6QJVrpo=cw%q@vgB^0e!zTD1ThaUba(`GR_eX4opYq84IT-$t`^yTszqXhA zTRyqJXM{C!|7alh&p5zF`3s+|Qo$3&8D=WZSQy^Rnv?!_x&v|2#AxqIujsuS6uobO zqW7;+^noRc#$FqJi02MZRP>P%iat6H-Go}}>2n~jBFDi)IX@=JmB9-=;EY@u(Pc8$ zfemtHA|B!62xNWO%`yMa^jWUV{690c?#vJ5{Df^hO97YyO!&v^`7m2MsH{X++ z&(BSJ`;31e4|{+RhvLe!U#`5#p$+WgK4TZJg>9-2dES$QxK8Vsn;3`BGRB^L#{5Hm z#viHt9(*a@L~B~AdT~r_!=M{74KB*#!_rSdYUoBE#-15G z6o{j}&v;=WLmw~WisBUc*%TizOvoL@4_ zl`k5It@=W|Za!+c=6fSo{-QjlEkn=0;r9dOVw^ERr1g1WW6Ww7E*Z&gN ze=yhWAlGc3l48RZ=8U7yP?Ii}I(I4QM=8fJ#x9U!e7vG}_CQDPE5}jxu6{6DjtJtk z#$8tEacoUXsf`=f2R;8geVMwMKPxJc^=m@sS==wyMJ)<)E~Pn#A}|4t$W5x_n$AN#@^Ub|qb zA{O%e!dHq|#OoHLGh@q)Sc2}mw6P+VCF7i^=Wn9cnK@BO!R%LSDWfE76D5UoR#GUw z_Y>a~eWr$@&*GEEMIAkv{D~=TX|MMcRXeX7*y|ioj9|A{I;!OkDoA6j)}x}zaeib2lXR!l5=rB zH8cTYf6rg!J}{r9d?cH@j%;zAU?=Ufn4GzYvCGBSc#|4ggS#-^Vy{l5=0a}TRv5lo z8#aLl;mBctZ~MVc{5izP`^jmGCqFd)unY<88IZ!Js5*rdRrfDN)!(A1hSar~PW`>dq2F&bFXB#6T4@pM%SZKK>dVU^*IOPnTFTnJgCLkHG^!!;%G~EX+!Vj zDpG>iOy>W@EsU5VA{+URwS31Dh35 #IVr@mXA_$Az$4GR~a(ri9bK_RwD)l`{;!(?8`^&OWG+bU zrGmWye?XzquukT}>0z17MG}Dg<)U%W3;vP0Sal!|ym&pp?q7oUmJET}GM7pN&t)!6 zK6Yv9I+Y=}xeT9IHY;q9xm-F}r>JeUWG>Hlls_hO1wOmN|KOp_70bbHnJba&T!}pC z%H-r%CJ(+!TlgY#)d@0J!+%k2zs%M7{_5nu*B}R*y20ie|H@pG-$&at*Ss!sEpnx6 zos+qCb|Ck<_D`AX;0LL*Pv*LOcU{i6o&(y$9huR=%=NFy+~5!3vl?=J8sfufluuDR ziX(T(+_(%Z;_*##^bNos$UEndtKS&77R~U5G`m6GekK?VpUBs5rKnw{;IpE3^ZT2h zlDS25VBXxlO;LM@_u4a;e13jc%R@4^iiPfQRZ)Ahz#~QNODS{fJizs8!~fcB0&=h0 za(&x&fYtDn*YTPAJHrZ@+mU154u4Gh0u{O7IXUKY4^;(zUpHRgZ4bxa6m@tp+)&gJ#-Ag!ucJ+2x}uI1 z0M6rhM&O!vPXk=D9<;sVx2Q8v9{!QJ7w6v#AJvKfA-Pun<2RfPm$`RoY7KDSefXVy zvjaKg{kT5;rpeqtBOH-=KxW_`4)g(Sbx{FF{q&wS=KF#225&+hmgPgVyp}h}`mj#kkkZI^@`e_c`ov?lpSj+P(71@A1vIf{V8(g9WXC3nRuxX9xKn>9MN*X}D z-hs@Q1D7ia-6x_e_M>jh$=xl~04)yGx=B`3k=4<8lTt`e+JWP2+#1aj*;kZaYU3lNLek@t1veb^2oJLP3e zN6*bOLe9LzNaX7wXa4eX7QpUT&;salg@`vVjBlzaYn`G;#8%oTXT&l=>)V=~i-+FF4kNsYPUf);H8~*?1f3nBqfaS8s#scT@h8(1~ z#DTr#wQuoLyuBxTikfg!LI2^;_-`8Qfo}?WmjhPAOWCpE+ucS5z2|e^&jfzohgiVQ z`hm~=a6>^K>+qTxvQv9E=;LN;&M;;jWUM=cJW@yIqkfr>m67?lONJVZ*~kA>?3D6~ zol5M@G~)E0JyhuPX9|6RukOWGg}x+r_*H=C$Q64<{l(Xnfd9Q=o%;sA#eqw594v*d zfSzy$Kgj>EA@{x_W1oI9_KgSPdn+dgeD{@!iK&tZM-*3;x^Y#B8?O36an+^+F~8Nx zMXyecs2b^EtKw=pU@bgQTrFZf_7kUZAejP>@fSS7W`FA#ddxwY@XHxQZ3glK4I)p{ zP#lN{8c8htDDoB!7vQT5M&fyl_%V#cagX{_rqK;#2+9qO0e#S9f+9RWN~STq*2HT~ zo?=l3FHyJz%j_`aHnZ{AiZroLw#?O#x0*@z>&uPKOf^KcF z4B>GJnI>6bpG=ec@f>-e)_6d7n@rr>l=>X+2F^DmJMcK<6p*7C%6e)FzUistiHDwp zFEWG?j~zz7@qF@N*Jg!L@Jlx8AsBb8Mq*Q0cT2YQ#Q;0~P7883V9(##RB=O>DQ;L4 z{^K$Dj=w7DkBv%d-b+a>Qo{o!wVbM?R)v9B)7CSU)FvA|RT5)U629W3_C$WRKdGb+ zBbC%KKfF>>rZkNlO&mD7S+Dc(0)B=@m2uzg%|WQm0W1u@U<# zHAm-av5Du1I64k+a-*J`Wp!k62n?4+VYx16C+uetIRGjaI@rKkvhzI4c{k$L>=; zBd=!-hkwKFAFiM;ZfK0(*U4+%D4B`*t^6fkvs?D~;;@bXGd_N$hF{(fvM216J&=jV z%nM(!K_=Q^u!6qPPQSC~y>lPy7UG$FjAt2$SDikW>vWZCb5=2{sEfOLfnwHBuVpRI ztz!>|m&CATJ}Y+?=De)r_hn1RIaHUk0(Ps4tVt^_ma`J}hDu%K8h2K%Rb^n6T&sOB zRjxI(y*2DNNPl&$gn@)XL1qo+KUFV`TS11@9Ro!!-6l*+We0UYCORrQ-2$WOdl3;QiDk zns!CO2aM20!3XgXPftP~lJj~l{A`RRv)*!yUT}Q~K2h3mB5gl?4A&≺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 lze4CiUv_xFfcMp>Aa - + - + @@ -10,41 +10,31 @@ - - - - - - - - - - - - - - - - - + + - + - + - + - + - + - + - + + + + + + diff --git a/.metadata/.plugins/org.eclipse.pde.core/tempp2metadata/content.xml b/.metadata/.plugins/org.eclipse.pde.core/tempp2metadata/content.xml index 3840ae3..de104a6 100644 --- a/.metadata/.plugins/org.eclipse.pde.core/tempp2metadata/content.xml +++ b/.metadata/.plugins/org.eclipse.pde.core/tempp2metadata/content.xml @@ -1,116 +1,25 @@ - + - + - - - + + + - + - - - - - - - - - - - - - - - - - - - fr.n7.simplePDL.tests - - - - - - - - - - - Bundle-SymbolicName: fr.n7.simplePDL.tests;singleton:=true Bundle-Version: 1.0.0.202110051703 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - fr.n7.simplePDL.toHTML.ui - - - - - - - - - - - Bundle-SymbolicName: fr.n7.simplePDL.toHTML.ui;singleton:=true Bundle-Version: 1.0.0.202110051703 - - - - - - - - - - - - - - - - - - - - + + + + @@ -120,133 +29,74 @@ - - - - - fr.n7.simplePDL - - - - - - - - - - - Bundle-SymbolicName: fr.n7.simplePDL;singleton:=true Bundle-Version: 1.0.0.202110051703 - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - fr.n7.simplePDL.edit + fr.n7.petriNet.edit - + - Bundle-SymbolicName: fr.n7.simplePDL.edit;singleton:=true Bundle-Version: 1.0.0.202110051703 + Bundle-SymbolicName: fr.n7.petriNet.edit;singleton:=true Bundle-Version: 1.0.0.202110081538 - - - - - + + + + + + + - - - - - - - - - - + + - - - - - - - - - - - - - - - - fr.n7.simplePDL.toHTML - - + + + + + + + + (org.eclipse.update.install.features=true) + + - - - - - - - - Bundle-SymbolicName: fr.n7.simplePDL.toHTML Bundle-Version: 1.0.0.202110051703 - - - + + + + [Enter License Description here.] + + + + [Enter Copyright Description here.] + - + - + - + - + (org.eclipse.update.install.features=true) - + @@ -265,20 +115,64 @@ [Enter Copyright Description here.] - - + + - + + + + + + + + + + + + + + + + + + + + + + + + + + fr.n7.petriNet + + + + + + + + + + + Bundle-SymbolicName: fr.n7.petriNet;singleton:=true Bundle-Version: 1.0.0.202110081538 + + + + + + + + - - - - + + + + @@ -289,61 +183,71 @@ - + - fr.n7.simplePDL.editor + fr.n7.petriNet.editor - + - Bundle-SymbolicName: fr.n7.simplePDL.editor;singleton:=true Bundle-Version: 1.0.0.202110051703 + Bundle-SymbolicName: fr.n7.petriNet.editor;singleton:=true Bundle-Version: 1.0.0.202110081538 - - - - - - - + + + + + + + + - - + + + + + + + + + + + - - - - - - - - - - (org.eclipse.update.install.features=true) - - + + + + + + + + fr.n7.petriNet.tests + + - - - - [Enter License Description here.] - - - - [Enter Copyright Description here.] - + + + + + + + + Bundle-SymbolicName: fr.n7.petriNet.tests;singleton:=true Bundle-Version: 1.0.0.202110081538 + + + diff --git a/.metadata/.plugins/org.eclipse.pde.core/tempp2metadata/features/fr.n7.petriNet.feature_1.0.0.202110081538.jar b/.metadata/.plugins/org.eclipse.pde.core/tempp2metadata/features/fr.n7.petriNet.feature_1.0.0.202110081538.jar new file mode 100644 index 0000000000000000000000000000000000000000..d39dd853c5a66a43546d9af617c23690844612e1 GIT binary patch literal 423 zcmWIWW@Zs#;Nak3xKra1%zy;Af$X%@#FEmYRK1GaoU>CL{SPZhw7vf;+VVTYIyuMZ zw(OO;Js%gSKW2Ow?Y+dI;nvIb;_7*&H)mB875tg^z4~6;lBY>`J-@JB<6NsXXEKj+ zfKTzlSzPvZI_a!&S3Gwzy{hKsyd`r`d(S49SOMmHUDh8|m@I@Q?Q2-`p;l(`)At`E zB;MJ~eqK3E^ykmW#@A1{wJa^tT0b&6@8#Vc_5N(?EWX1I3BK0KjRtp@D(kuIzixk5 zga4a**E;vrQ5ziQnYR_1c+E6>A7-+4en{TR+J{%o>U?(gx-AspnbPbToANDnyJ3}& zXmVgm%6$$|bD27)2ZtWZ9{jps$+DVfN7zFwq10rORib^XAlZOz zTXS)hL-HdVNq*6Nj>(yx(J8;KpN>e~!SPY;>5skN>(QYy1Y|a821w$#)XL@>88s! z+=yxqxR&Oqy52}F=gtF-_C diff --git a/.metadata/.plugins/org.eclipse.pde.core/tempp2metadata/plugins/fr.n7.petriNet.edit_1.0.0.202110081538.jar b/.metadata/.plugins/org.eclipse.pde.core/tempp2metadata/plugins/fr.n7.petriNet.edit_1.0.0.202110081538.jar new file mode 100644 index 0000000000000000000000000000000000000000..0dfaeddfff7a5a5cc779d61dd4b61a986f572ee4 GIT binary patch literal 18025 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 E0TFJH#{d8T literal 0 HcmV?d00001 diff --git a/.metadata/.plugins/org.eclipse.pde.core/tempp2metadata/plugins/fr.n7.petriNet.editor_1.0.0.202110081538.jar b/.metadata/.plugins/org.eclipse.pde.core/tempp2metadata/plugins/fr.n7.petriNet.editor_1.0.0.202110081538.jar new file mode 100644 index 0000000000000000000000000000000000000000..f1f2bb2cf30b7a594092c1a7411658dd367a360f GIT binary patch literal 61378 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 Q#DSlTqrmyX*zRBd0?$k4#{d8T literal 0 HcmV?d00001 diff --git a/.metadata/.plugins/org.eclipse.pde.core/tempp2metadata/plugins/fr.n7.petriNet.tests_1.0.0.202110081538.jar b/.metadata/.plugins/org.eclipse.pde.core/tempp2metadata/plugins/fr.n7.petriNet.tests_1.0.0.202110081538.jar new file mode 100644 index 0000000000000000000000000000000000000000..9edb39de016ad988c6ad7755cdb79678dc8f14fa GIT binary patch literal 7972 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 C>fB`j literal 0 HcmV?d00001 diff --git a/.metadata/.plugins/org.eclipse.pde.core/tempp2metadata/plugins/fr.n7.simplePDL.edit_1.0.0.202110051703.jar b/.metadata/.plugins/org.eclipse.pde.core/tempp2metadata/plugins/fr.n7.simplePDL.edit_1.0.0.202110051703.jar deleted file mode 100644 index a32f233e9e941650bb47eabbfab5bc9a25b27882..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24294 zcmdSBWpHFmk~LT=m6(~CnVFfHnVFfHnVFfHnVFfHr4p4`DoLMSPtVSD&+FIwjqRUJ zyJ?wbnGt!z{dgSraQBpz0Q`aY4HOjgn^CBc!ngnSK>T_yC8WqlB_=IQBgH2zCM=|& zNG&C7B{yL{KnvT6@f(Jnu|;*28ZS3iVEuJA9&v&9I=s^^WjwwjB<$|tfq=;jl-EHloh=^ zc~M_UVpOLY5!{g?qC9bzeW;0{+hWVLgyKq8kVETP>_hwR&>^eU!z`0n43j3_=r^lf zHc<=n$yEd#I}%I3-ar;}WaPXPo|%))8P*(!Ct8>W>4kYPyYnk=nyC8U8{UYfosj@%lv9QwI+ z%v(oy@_0>z9-c5m_TxSS$x48Lp1FS076kbAP5=A1Z?gYV3t<0U3xHo=1Ofd+M_*(9 z_W0KW!M{GYwRAEuv!-^nvMh@4lOCXj48HaVkM&T1MG0I-8cbz03lYPDkwvc&6i*nn zD|xsS6IUVqj#roY^ZChy#9290eJa{lTP@)Z!)^*KbzR&jJ+tTM$`}?+azv%CI>pJJ zf;&bbUj1lwykQ*SoPE1RA{ep(WdMR-nEY`ieWF7|6e`*G^?+|>qNM)LA&;emy9Je) z0M!-gl;k&_Xnb)<;KUuoo@M?w5Qql}#_E&s2EBK+e}14kPh zOFHKNt0}ntd%A-RS^asodkb>ygp3L6+E5H^eC#meER(U z?fUllbcunEuKjb(p`qkNQhgl&Bt&ar$=CFP@W@H)mqbS4u~PUHCEUl;6Bq3JyC-(& z2dB>OH){q!NYW2Oy&rSzxZe#)04*Z@`E|q#v(N`78$wDnSJ}&Y+HB;*N^VUOvMtsU z7>5?$isBiv0GW(wc>1X4OPEd;#aJkSv6|ktsgb|)K{e?Z==py8 zb{fTU_q0=^>3sJ2`TTPG_<6m-!pPXU+HhhlGn3ZX2nY?`QCtBqw=6b((SDf1EH+hv zn4yOM`}*1g_x0_C6ZYM$`}t|h7#LOd_gFt@z7y|{QEA|1RG^^lL{Sc=;4~8$nYLOd zc^`+JLU@^j8Dg%LdJ?nnvL^{56Lt{uNo{X`twI@#>9PcCWk`1Or!FnZAO7gZJ)+OG zr-mF0{XbYi+T4FHNxuKBBo&P8oQ(dh zO*3j~Ab3`e*h|$(YaD)l-rgNte(to`n3}r&|HY`Sd}u{h{|6wewf=D{=lm-%{v+^o z?EjFQ!`HSb{~vGu8i~I@-XEqi3ZAZKdK}As{dXk(14hkO9GP&}*~Q$nQhv`9m$@bB zGe`t}zI(w4`tam{gBVPvlmDHqi_CyNljRP zHo>1$&+6niU?|1y6SA>q-s3vXjz(w@;vPY(+~V z!W;jmA*MMx7(0C3o8Q;-U(*8SpWXf63H2Wl@~?0H^ApA6ar5UHTSBsPZy(<+2?PNk zAV~nUD8VQsFfvy_LUzTIdgsS4si052ybEWAWeqYgZ3txVrnxs(smpRTw;6FM@2#WA zENc;Ba4?4d+><}VH;P^UcMJGai2v0Bc6xfc-5l;e-d|FvmB_ys$WV9Ja2CMqM_ONR zzKQL;!-ICjicWXg4G*Q`mi4$h1yP?xUw;j=J5EWN78Av_TG?1lM`qo^<)|Q@o-nY* z-vFqTcYpQo7x1U}`E%m^%N6MKbhEkNfBb$)A*Vp{si&og^QGCWhZntJJ>Pm{=ZPMLS!RU%vSgcM@da7JJT+y0dJ##k9kEJCDVEWq%TALor z|NROG{tQF^xcmIShf)oXH%`~B@yEwo(gZcx|3{jDh)Nv!_v^s>SL^t5()lZG6kAyM z$2_Q3lP#M?D1OoKXm9UWF5o;UeSn|P%x>Yyc^7g`kEg<(kLqdrR^o%Qxc`cOkdD8XbAjJvm zjjyQpf&%%piFW<)r$Qzo!2Dv>;Ug*S{J1e?0;HG{-Sn&%4f zq3vt(kCM=!5~62(i>=yReJ&;du&(fB?{u5U5hZ!Tk zrSa!nTMC@gEIe0)pKgyB#kN$hF3!k(Hf{}~@6;9aR-uDTEUUmQQ^}^)xKTUfSiz~} zkmA9m*f9FRXbogl0dBzW<#HP;T7Ps2n5a4hN3+ECqeDayd2VJR^Cc&CFD6=@{3?~E zPa|u5hm5i?Y5z{n2OB0y(_U9YghKjYcZA^JCMVE*A^!sWQ}eC&ds2JNt?s71$~-(L zIJWaRkLHz%s+@3@QB5N$kGuG- zFm&?!S{z2RNhcS|$HCFkBzstCys7>f(Qjg>fHB3L<6n>D2Nq#O>*=kEZayp$uJx3L znEc+u#8%;G34U4iy2oh1a*s;VV}>lbw0=2h=sU?&6buNhrNETT$`N^ExVWZXnE9{C z{=NJ z;J7pH`p8DaI6S#8NSTS_ef|g>Eu zVA@XdLl_@zLoIS5(t;{gx_?Wn!Hv7VGClOFT8i$E$L$E>l&bDrEmvJ&sFnz{7C7x}|oU!)q z?D8o%B&B$YFVR`+#6f+g!z8?ksDTfm!ODYv4X6h$`O1ohLC zbXtVaKozUw?m2NYrjCH@u~f^M>H1x5fb70tKFar}3)Eg{Kdj5XYZ#9XPwzGAu?sf!H0*5=U-O@%9Ei(H(X% z!687=+iaL(9kTTk@?eErPF}3Oq0xAPVySGMx*J!jA*k?ic~JRX)Smop9F+&S&~p$$ zG!xE4V`4;`=`nUVwlWq?yDpZZKkQQVW~K`pD%7XjC3&6smKO_tdhv}Eu<}dIZ6{u& z4hi{%Xe7wtXf7#U$il`z{8T!%xQmy$r`dRGk#C4mln#ot!qt#!%^;X zg(qREjs9toeO9*AawmKRWFU7nBRd(bm*m75M3;RQmUjQVYDk|nC0#--wNTY0Hn|oZ zSu(7do>tQu9~>`ghKj;k-*@|qi-ldS_NcUzEs-zBl!G*Mb< z_8aJaKnOtrX{%>Buv;d&#;De}o@y6x;tQBTRkm}mt7Mm_B0H7TmKK4Zb~YQTBDq=P z1)|sqG~u#vBsQVXuiF6w(v@{fk_QECcEsr{-J*9-DJYR0sinuSh=$l- z4Y=I22Va8=vcQxbKzYW<=YQ*DkHc0ev)IdSjI?LVv%mH78*r)q(NNrpm!%9CzNEpv zJq!c%YFfly@;c@0#d!Ztye;?Qp@Q31v|2foo>4J!;e~}$>iR&F8l7nw)pMTUoqwQV zu1wRMTL-fmZsn)Nwoz~DD8F5LR8YkeA*7DpXy}#4W3(imbFbs&d3lb|4LV+?bMegP z-AAuy(4OO#PfnbbVk<7kw)c80A~mIydw9Y z8eKfbTq+DtabmK~*6QRD{rC?1Sohwh^?GNuI+w?V4!uG@#htS>_;bCMkrzW3q-+ni z4hF&O2gj-bQx!CGCG>nuS0kG2W!p&~4r_@rmO`x@_oG)ZAcbonSt&j;)JO$tSTGL6 z$bd+N>plV|jH8Q>zXHD^U7bIT^Pc{~g~B~>Cm~?u1aoGgiOimNq#lb2bgf&sZf2Jw zxSTUTon-9oLTJMU+vG!x{SE@_LjRj;z*8OYH5b%&&z);b^}rii%o79lbs4V<@21}a z;#|p?dvK-6*ekx84*tc2A(zOq%IK?FeRsGX=ZLGxn0Il6ifs{u66cO&X*{xR7f^i*&#!Lp=vncIeRUDZVNk&6^2eU;N- zd%=j|V4DM#aZ#6vG_RQAZJS#a3t#hR*q$;XkqWo%pq*b@Pr}@TBAyrd)JbJKE1XI$ zeF@J5ADatrJbyR<(S(9eWFX(ZseZYS|Jngy_;U{ad${=bbJzdL#7RmPHV7h!TnVYH zF+_#MP>AdB;^J5whG4Rwt5WIg(xOIfaL#*xDUvY*fqT*{U%PoEDW2>AUb4Ah%QpK{-s?@L^`&1DeIVT z$gkSt7J&?gNTeW=Lvp`{B)-;5mW*x__ijWQ=&9D`jAW|!o7&o&L_DQmSlnT9nvAvp z43H?~{Rd0V4lyB47BfU2l0z+2Pi08pP0>+gZ8YkT#z&F^vbw3wuY$CcSyGGxmH`tp zOsl(89Ebpyv8gYXN4@T5Y1KzelRHn)tyB;Yab;9N7RrJW@ZR~v=-EZ+GdCw>xI+ft zKTF88_=1-Df1p;Qr4Bd+OW@B%7|uY7D_*wh?Sfa!J9trvJME>)1~Vq*PwOl^P9-4B z5u-b^lLgsP#wKp@G`qZIG*Z9-q5}qZ`U!330g2K@$ki}rzbL$uS9mo9!rMABJA11}`Xr?i4BU0!O8^=&pWMONA%0GMcxzSL}CT3ASHnZvpRj}tIsRUdVy zdinffNj?oP!!e2wSL~OeGf7?WlQSR7NK411xoeb0 z^&wC$!>J=4+`Hs%;TxiNX>*J0*of!wZes!(cb)I|D@LADn37ov>u=7b-l5-7o0)q3=oqVVnOt z3B*|vucHNHqg*K?px`T`#K?&vE447Qw5eZ5sz^e3$}hUlrOJEalORJx z7pK|x$0WfFCJvm>n1AE`i2isrZepjbAwYY3N-*A;?&yA+%0TP-=y9O=e%kM|RjS`g zRzw(2E;Fp8Ge3Kh$jag=5R83LrZ{>ShNp2H9FZr%V(iITOg@JAbUWA>GlJBRtIXL$ zLro%;r#w(w6R94Hjbv4Y;m z$#E_Y*^)Sivr{AZb64i8Hq#9LcbFPnxd(7;mr9s>oGL0^feT;HZ$6 z{j|1<9dA%cD4@|wkNk|rJWkQc;8;zg9(;^ueH?#%QkI%Wcm^d@*FfbdnVsNOUODv)ToQeo zdS){dK3|;w+Als%_}&g@B%B~LgmzWVTV$f-n^Go>hwD?*0}WXP-+bU6Torym3GU%w z7Mc&uBH9YPvYgfZV_c2C3LIYh0^CnWI3>8y*XL? z^h*r*UQk}fPVONI$cz`n6W*E+C5SHxZP}@zrf~41`H>#A+H9K!ca=zw#kznp&?~zh zlxEfR=*ofCnqkzxQLs-Zq6=~(-ypA4YPM9kRJf!~2yD-~C(s%+KbGShdQrV}3W*>S z={QuLvV4dG)p>PTVjMAQLqKT7+|CzV2Q!c@r!n&h>;wcYnw7Oua359?>(y>F3U>f1 z$cQ~218S`9;1}c$8nHimeR{kt>er&^7&%cvqay_i;<^Fkx9Zyc>9%&eb#uhDi|2_+ zctl{G540dVD9rDPo<&i4IR=sk`b2G65ksS&f=2x3W_fq^a=#hN_QPK3nueh%l3!T{ z)LE>oy)O@Cg^Sk%OSgFmE5jI-9p_|bYIaeoV012&joJX|`Tz>k9uJc`?Ilr(^s^G9 zmX{4x&PfuN(Kcd!ZwNTB+ zAfgL*Mo+r2#zcbPOQsD%ZCc>$aR|_5WrdB5jMfak81PI_I6^JaWIo!heW!(FGdxMO z843#Yahn0rW2*HG$u7mBD z;Mx-ivm2n6q3>bTT0hmt&vi8JC?HSqpdp-?h zL6P4YR3j($Ml2Jz#i2g^IAGzS6(- zqa9yh2$3h2PSJ6K^l(|giMtpec3*+DXM(%f5iyY`L=0R>srjQh*h9oT(h#=nk>WUw z`R!%>$&Fo5&aQABAly;{e0RVCB$PkK7mpEDM9;w(Qn*TH8w`6y_0eS z=%;efsDC3$_mNNcTeM$gP(zHOet5PHdk1o5u%3#gUq(^!YO%zUkCPA0`Qo)3S?zoC_aR#>Uc>F z)vNKO4uY35T*sq)I2<;)6BTIN4A`nkK9mdq-#g?&fHeVlZR4vi?$<fD~TPtBVS$Xpw<{WZI*OogQs!Rnq+U&zLs<56H3h|7cAQG^@g5ClH zuq?$ZNb3j2%Q4-YlClyr83h~QYfau>C9N)BSOYY{WLnLjF#dWFFz8vS{vc2yPSM8@ z(r6CSI=xNNlO5*B_)j|5)6t8fd-gNk(*e2mUSZIDfS)6Va+_N(tsR%GX{@5heCdt* zG3&TZ@~1A^{0-mEuE1_d05n+mSr4UpZ5??9zyemh|EVj)ouqoLA*L8uyfR^qr zA6+?+>9lCo1rU4@lJhRt$lL_1H)2tz=1aqe!P%zL9Mz&RxU>OW7jB6N%VYiI%zt<1 zlVaQrW8BS7#=TXJfs7V{_FZcYj}djo=;av_?nsY%Q~ytb}lSxSm+oT_qc_c7^vTfzN`kbInAQ_>)vJ`rgoI;Tjk5owW7 z=yp%g@D!m%AKN+HNg3*lf{nW$FHa0~{Fb=JPijhq8aFhLTkxg;BlSd@J!ef`P!zks z<^}-Gd?MGlhNi&F3o`@!K`zmZBmj>&!Ae>mA5I<)vxX;KrYd3Jk+4)op`t!9*P5@fbHOI5Am6o?&MU>&G@OC60V?4Z*}tVsI7`+Me;q0qW|Y+z1og2zyCL+E zYYI^a3p>6J=FJ0iR}U>_Hvsa9;^nua+8ouAy2X%Q>k37pn;$JM0U_)o0>3aF*Mi6^ zoh63cDKaM9Xl>-%4L4W_Dt3<-|GsdZX=1DF=<)sozQ2eOXYhbvis>Y3Fp@>Q03+)x z@s38nh*0g<2hnoj{JVGYU95rjm#75TyVdJI?^)0U-%$-tXQqi7s#6@|lGa)VZ+sLL{BDe{|FRiR93$t#EPc(M&$Wm!$B#F($S%Y&~*z~IFR;4G?4IdTxE z5g=vUSU0CbLCUN%`Q`h+Zmyi>V(ok(F}|ae@-Bc3zOl@d2u)^h0Md&g?5u6jk~kwP zJEDkTY?2MUvMHWz;4n^b5??05C?cU|ft3Jn%GOmQLqH+gP*N{e&xJlqEHgcFd6N@7Wb}cQAE&_6i)TU(I|g<1I1LK~?v(u)1F8N$uu<0P>A_Z25|3X^9~5Q4URwQ-VWU ziZ^X_vP|%p`B&PW#O9%Uv;xZ$f@VFhzooiEMuyu#EY2WHt>SVcXj5lg!BSK?iiBz$ zZv;zcz^`%H+-9BYYMZ>V2zo|DR6~QLjP&~BdYlK{o+?*V!g0P}9+M^+zX{2HBK5k5 zp-W@l?^Yrn874WT73gOLAV!+Wwc=i-Zo!c!y0B47LKJrl5?r*mbav6tt_jrTZfQ>k z2!xq{0s{KyBu1X#ImJ+-WXNsOO=#=N*N$d!+!3yF!xFA(c`5L6TLfc#wzy=Np3~6)(3ZFa>9gu-e~LFPhL3xfEM)Fe{202^cd=L)n%|co zTAPpF&xZ0QJrH^3uDZ0RlYye|=3mP#T8hZoHG%gYhh66`jLbPeDYO7zzEmC)gR>Lp zwUZ)C$_H%h=-hs^apf6{ zPS)%4$3$SC#o<<7()jdWt|K-sfYUzoYsy!SW>f6R)UL4@1I6oct_I9;mS+|TyoSIw zDx1AFgWKch99+F8;?w*Bwh6M=HPBBI_6!7Igce};6&sCh8w2hO{l}2){LR7^@Krv zJxAr5WM!S|q9J;O?M=g$PT6qxwt#bWq$A zYVSscsuZ!P6wz9al*WvpzWCt=*YL`($Hx%6@$H%y2<05;GQX@>9neq*s=fxeEI|R} zmz)1jL^1Fk{@Z)0)DwRE!_$r0#+~ zrh^7Bo{6excG$hO`mU?N(sU|RjBtp)y9Q}?i8E>s=&f7F#7@xJtI9|<3R8vi>{4kE zEdDm9FyA6}&hCfx6V1EXW#2}YX2;m?;;+`W2~{cg6L0m)aONW9_yzqtEZfNC5ctD# z#s8|t8aViJ$M>3j+pPLjX(Pbk!hy?i7w7SW=awb|s^IRS<5@=K>GSJ^1_V^~NdM#X z>wLE9E0g-KPi+20j`Tl^N&d`*cyU2kLHfwH;;jG8UyEDpYlfLDm<-u3l@2R-35tg) zhu2##WywFN>fRg@X*_6ZXxqZ570)P^a0Owu&}FtjUT1RlJkY~ zqOt2M-IT7tW-r7Wo5SfXYP&yuZh<};Ic|7`@ zk^!E*_f`7n+Fahb?Ar3Zs5r%1V-HCI6>7Ow^Qa$1#;SdNRPLyS^VVG9g&suSsc9n! zB#iC70n32(lmpV-_MEsJu|CWQ^!*E%F3!leM~0s&cP|k}OSMcMZCD|YZf*2baM*{a ziJ%^!cvZ-OD_7PFYj}5?!T4LOgLPO>6t1azVGjdvED%BsgoV863M&xf`()v z2*qY2>VvRQ&{nXQ9{nOk6$6+ewuzmw&(+_GY_V|uZ~&GwcUvq&Uu`4%v$MpFSB&dd zwtg6%1Qp<#-7#Rs?9Rp3F206U8@9C~K>y8db#v11dqo-pHNgy!iSN=r6h{ zCP6qrs8e)iPfiy%OgPa$07J_zVT)&-pp9)HHR#6(tn<>aOxKv7D~5N7;hl426A@Q< zU{D$oGBGjPkZ8oZsaGlg%mEegh~roPa{RZZqQVb2sc9YMHQGep(jN5uU!@alq0V_N zjtG*N$LNTF8oQ`-9e--_pYOwuFwl2!j3As13es<(c4ZR&^{u}C`~a%e5boq*lu*Jm@%wbs0-wksRP6u}-$$&l!uUouMhu!H%^lZNu; z;Yx;QJPy;@rjgB-s$Mv0!Svy0pUldY`i}?rpOc>g;H9Kv3Tc|078O~Pz>DFrCf*kW z)_>P;EN~(jiQinPf-vaQR@fEZU% zKWs+6H^b>3?*%^Uud(yQ+QBt2uOo$oKaG=WGF;&lJ0c2>&INo34}3*_h}E_4f~uJd z?!#-_+rYFLWqq}Dxa3_eu5jSD;nvoIM{K^JccmP&)oI!qL^0DoJc?`L(-EKGK_82g z277A#gd2&u1tc&1qJ1iwZqXl9diVP!t`dDz!L!GBY~H~+3EE^6)}Lb8$>pXu_|+9f z@{XisyC{$&%h$9E>8*H`!hrEhHLTuIJBm$;SqUiX#%D|6r&hnE#dn_|Z>ffgu`HaM z(Q9~Yf6EP5*l0Hhw$pw5!ha-*zMfFCX3U)vGN5QidpwrZA}KJl8yFK=0HVdTYy}vu zfaoHd=y*+iI#0N)5aEI=RB&Pa2!AR?LD%+t?K&F`E8h9$2x#X6638qQ)|X?4K8+@I zwR!NsuvfY%f+vF>T#M-y7VqDIIP9?_Qo6ouP3Rh0zYg|tJBRU}n^(fWBRt3V>3b#X z3e>%EzYM^`^*((Hpza3Sb-%2m1r+^;nP~0yLwM)%ThpEjm8TFgqtmb`!_2Fq2qXgbhKd)Z%c8Y=t_)(X3^E!6XxJdJ{iy}BUBuRQ z9vBEUcd$#s+8HiF3WO9W;3o=1kk@Mh7}tw{#OVe?(!tJgy^Cmo6j`%>ht;b1^or;P z$nM)gO1(iVoXr&k0z1H+&L&x616y)dpUoRut*RG^a8Lr5x3Ng4{z-c20dIognp1kq zEqB1xYPOA{^~Z%4@^sJM$q>jR)>#tz#CY2+*qMX3%`oVZ?5ab&Jp+GDG5E%|pGCBt zFvua$SyMfc0XJMZ!NI3|Sl%tG3J;~JJ(L8kNUI`KhKOQY1@J}RYbpVmBmNLC*nG}n zApJSIc1SCz(@Hy~6_L=N5FdNsl^VNvXyI`#wujW#lZri_fk#N5WH1o#He|o!TT#DW(8M?mGR{Us?M>sqhJU;!`bnC?&GRP-D$}@A2!5XXw12_(Gm2 zI|c0e^#JXMI>jZ9c9Q0AA$#BEKEyzbRJ?=b-bZbJCVvXJ+&)TvNmfUm&ADo~1*y|P zV|k>bMI*FZFw7Gu4xrO zd+Y9RN!JC0S|9f>Qa}33q$|gtr(qQSR){4lC@ExU<|zBORw+WUKWel7=zY=qTdTo; zltIZ#$@KFgW(J9yk>x%Ixz7cn9`ZiuN)Ed6iHer@s{Rvbqq5$C|VW!-X8p#Su9e8KY(hGcWr&eirGr`BaR6 zz347BYQiUJK>ZyHolij!A)^f&hNvO!Q@5l4Nl4eFx&uPaBs-JAe-jAC)l)3C3I__T zu^E*CK@AmIIhH|=S1v@z_PHmGGEtUzRAI$PemNR!`eIss$BgJ85evIEql`y?4hzdI zGIt*|#a#gXHju_&{r4zQ-&%YY=%in&F!jZ+!=`hZ_+x}Dx$hMyKPb&T6vc_16u}-p z=`(Ym2Y$^zJ+k`R-AJhd0SXqeh_|V${&)AdTrN>5(CA@(*zRLe-a|v(SzN zUtVaBLS(5cnhtL_s*A#!l2row+5i0g4_8d~A|X%etI5joADXQGxm@jEB+vdtYk#j+ zOVE%(;6ohwENQt+Zo(y3zV%nnT?|YD(Qh0yH5W@?3|8gW_f&5-z-mY_c9}SVcf*}K z1-TJGn~_|}hawL0N^S6%{{3-M&%op3^$ws5aRE#p*rfU@AOrc9%@x^Cu!a)1wNTx) zlBKLe?6GZ%3kb;8FOCXjx#w<=3Ze0gW65&=PFt&C<2=##xN31^l zgC2G(&WAML>tq%oa7g-;ecKN~?4c?PxEcZbv*bYzpX;qEbU^M9e27?2ksn!t{7kA} z`O@p;yQzRmwr3(;9zCpCi$Vsdv(*8AdHD$kG9)6{v0(B|q!Trl?TC{Qrb-TM_RMQV ziIQSVQ8u-cO8KqIv>!7Mn+SBDIf!3qdN#rcK69=3YPX_1|BDWY4iGnkClP&XQ8Z9b z(qifAu^Uq!^c<$oTBiV)!w&DYv|g6(hpK@JQ@+21<+YxiN1v+Oca~KF%PIFqj_R!a zVKnvSwG}qa15c+Yjf1JuQ}G%D4Zc z)#Fb}DE|XcU-g*(-MQy8)U$OovKQ9-YPGX>`#Zo=G;9%+P`?0HNJ(fx(IQ@fAIh82 zJjfA*jHnPkq*_a*g0w|kVuZH_)q&BtEqCkPb5OMZJ_M3gcUH;}-Q63>z<$s$^LpL^ z6TQ>YA;mnV@1KyCDbaoR*6lFu@^Nx_;?w;G(986!$(PU@)to(HV#J*wbx3s=m>s9A zZ`p0J8rR0{7^7ScJ8Zt_%yOs)MazdvEEc*>uV8CsoXp6nj>g-D1RlOpHKZ zz+sdk#*o5dRVHO<^sp=Rz3Y?9mDNp@=ah5m6AR{Tvc)(aL`G<45udlLWeS zk%4-;q5z!<`N#uAVFGr!HmV67gW(<*)#-cpS1n5b zdQGc{WcuTq)oRhx2TeoC@Q|TzeP1p>YHIkXL=B-G=sb{KHgea($V_{D#68bnw%PN6P0MoM(P8&ARX~;WAl_5Y# zB&rX{MPe4BG*-$FZ%V71Xm+FFF4|UmFO$h8VyTsBEwDG#`4>_ELWj%*xQ+; zQ1Ek2@63@4HiBrF&1@^KoS{1$QXi>j=6TnrQ4u>U_klV^$*cm=mVB79L8N84C5|T% z?7Ks}y7Km!9-9p1TMUO--Se25;moGINZjjs3ihQshenRD0G2>eXC?OeZ5vzBo&c!S z`b-o%W0oj07%CkYD5V%Gi5Wb9o0$4^Zdi$)R8%zhy_pf%FfYrZQ|8Jr1a+r!!*Tz- z-y!O+L1`&m0b8TYb4N&)&#=a8$uZoa5-Z+{Z(O1hgWHNXj1*XiK1F1UVR zMA}6LKTuEaMFyu5^9op8=j(ydLvhx}u^y5#EON)&Gqx;|pDiuKxuQm&>8T-uH+seX7MFvoe&Gp8 zCVNzJHjZ6+OK6EqLE96Bob#%%#CNzp{JBWwI#`Q9|0eunVAv<$qHoK4Y%au_ci&Bk z=G?Q*DR~^5p7RLbgCgeot#X4r%D|L3@RV`M*S}97QLu&WA$6WpuUMP_b!$U(`ukQ~ zd^`Jo>lfmw8v^6m0hVcNq6IV39>J=0+`uZ}2-kxlAqcZRH0+xb9iIa|9{r@rbDa|S zV#U+&R9~6p)Zktl3Zoj?sazfkqsHI4Yzk-cyz5Z~DC9XfvSfipy>Gy6s7;|TNOAnbT%#o}eb%J81V-zugnd3m6LXmedhAd`=k4UqN0)&t1 z#N?)+r2-+CyNb*vMbh5cXb;fd4e|I1W0(W7-yE8bwp(Z#1Qq!+t`vKGQ5&S!OB3YYXS?W%(bD! zYnhQS2v@Zjbn86rrAgZkrI9iYWQo%QV?yBg$WrSsq+j2tH<77ij1727W$cQ$}A5{IYTm}fAMR59a+ z2w0$}!ZPpWnoMC-ODhx{?;;8Uw#BHd?3(}#WT3vC^;XeBb~`NiYdLJq@wh*mguEFNiJf>Kd`O)?a5_|pn!|Yc#ZTTO zXeQs1-t)Omy=S-0%T=xA6UKqzRuDI!ZlOd#B;x5won0;P`e3Qj=O5f5Qxfm)hW0L=SQZVEwk z3S-B2%AVn;>l~} z1W_9}2vEMx@q+FMUHuF2i990RptDPVmng8=N1&*;=aji3^XRcnn<#KD6h{a%c>C$N z-(W@z_v0!32A@$-pG@y?>EEJvBH9cHPM!cVr1q}TeVe-2&ZV9PtyuIme852J8FB-f zlE;|lctK*&z!B=o8IYj&p`ie!CTC7k9T*65)l$6WK&v?_XeY`qx=k_Ke2e>cUT&ahZF&9qp40%NC=@H*RlTny$+Qn%?S3ON zUor33))g7faznzLgO3?C)RE7JEp&nJAY;N|3uIIF%up>i6;xfWlQ|ucN#&v`GA8e` zTBheCcdODlRfwX@N_W0Mi43k`uD3gY{Y~DBo=%;ZNW<%;2UMcmCnalw$Fx~p(Cyf` zyr{yd`mV|8(S=UKwa{dLS*bHdBh!9=lV8E6ti? zil1>y)_`C@8{%bQlEeG_?tE_nVDSc}^y!s4Z}0oH`Rt%Y0z-QmLyIlYGu*|bf4Bx_ zqWg=G2&9mA$uF&l2K%6ZvW`@YuA1HE3ss^#6(~2a1XThWm(hs3tE2ojrXN3kYj$S= zJHuaDR}NBpzg|((_0*Yq6O>uy-Lk*f{cN|7zCNt%f?uDQ&{CP>2BKl053|}%&PrH4 zvRd1yZ!p>+eAF52a%yr4&zHn!46=m^HqPV`E$RIzg4TlUWBG$;l6y z^?TbDLgi*2%wmnK3f09px!!H(`Wa-RdQDZotzp=u*H`JGwcJI00dlOzC3=rn?;Tqi z6aPS~hEuQN=*0Wo`%>r`KI>CNbk6l?& z)fKvzal;&%LwpVCmT{OxbiL4M5$6)!Y4vM5;feJnJ5L_FNPb>1%+G^XuHQo^?uk34 z1%G2MUyv!p=l^tao>5J0O&=GoQBjZ@njlSj??|&CARwR^ItCCB=_19@6zMex7*L8- zFGZxP1f)w5Lr0J%N@!9fphQAZpF|fo+R;!POZLPM7XWhCJce8D&U8#J)$w z=4>(@_2TJeFfuxTDMhXc2U;{I_PAVK%xIm@y1fXCoRoG^&@?!$F|gtAT3%K7z$_KlrkGPb!36D2WPgpH|qyh17-?sD@p#=v@=(>~I*u z6qSX)z6sX&+Ll6i)aeDAOCQ&{8Na=X+lM;y zS6Nvy8dzDQ+ueBTQhjI84s$NNU9xY9|8^WpO$Xa&J%d`m7H0V`VUthGt44f(xHMWNM1r4 zaJ#HZPCiI zr*^N+Uzn7$)T#E?AB<3-a?1umHPQ#f0&?YCwH52kG_u)Uouv(dIpaEgySGtgIcoStE!;{3q5g6?xdc4J#3phD4y4sN!b z!%5Ga^uxy^nIODZbf09?BS3OF=FOMX{I%BS2J>3j`?P3sn%>z7$lIN*^4?r-SRZjj zbJTnhYkpoHqViPaAhu{WzA^+h-6CLPV)g}8{gPi?4MA@-Ix*~JkpB8~L<$>iCWo3} zk}td-BjT~7RjA!Nx^vUqimUgk?_@5cBlB8k1A7SX!||$~b}QO>x`QZM$h{6ty{HS@HpG%yPVC!U_H}S2V*i?fhOcA zzb{qJ^zPo|UVb3~IKmiOamE2~j9SqxT6*e(!C27wHjNPt`2qKdXX{4jz@Mr(jJRamJy*!Gn%O(`c;>B zz_m+*NsMFgk%<>Z<#K!lydmy@N0EkKxC~qK5)Nwx@b#a`6&wywmA+OisVnGmF>TH1tQ+Gq2dhH#0!}SrW zmAi)N{02BSB-tLuKV@!R@OG=XGELOyg>JedNR`K}2k03nWmNgWF1%xa>01V68Q5LK zdQ<8Zz)sAAl}BNelh*ig!Q->GU59c3soA_hDzV%b@V)u#KEQdYoRji`*lp0o(nA4D z@N%I7CJ0*;g=c?55Qo(j@I9*)M-?3(RvD$T7E04T6Ux*Stx_x3F?3_%^xke+xR)E} ztEGLK%P#-`8ct5}a%uhz4X!M{ZlkV=Ib+2}ePC9zEK`VEit^Wb zH=hZZ)`zWF47>7nWXb^Xuv=nY_jI#qz7}cD6+6v)ejtx_3+G- zO??_;y2`ob9MuI6N@*P*v%9{v0Se@Dx@_pI1Ezn`1;-8B6PG#L42~X0`0?^r@2hs&tpAkIgG^o% zb8nqA@&tHDv241=JkpsFOKwjYjIn-S%;F(>KW0NsU@KcZn`G`}!p2hSWu|a^yW#cTjBggiPslM9DpC(I_!tg{NkGd~J~W z0%Wxe7}4Raw{FsI?Vfn60O@!g)D6lO9;sy-7aPxaVwD>cl~CF&9823jF7jnA5!t$R zcUEWdLx_T}SKpt=K2Dbr zff7Nn_qDjhe)eT_bk`C^nJ_z^YU4btTczqqr;#Wq0Nu=#M0ra2uz1FeBaVGfM;Q zG|yyEZbGD_Urj$1yeVX3+0gd#@`R5cDl>8;7!lAkt2X1bE_A5;=&>z2bJ}FIoqbSDiS|{rocRfZVaJzSRFwv+ zaT~{!vlGA4*{MgVu|Bq`ukP~qxR3r@v+Ag)c>=tItC41jD))$eroa-ldAfb(!=cai zZizn761U2pWb`p}Yi^g&62X^S$dD4C|5iRiSy%M>@TZgK2i9F=&njdGS5+C^g;A(p zq^PN*#{Qh{6#iAT%$pz9z)%<675!NDrO1bRitW3%uCueKxHr$=T9m2d1O!$F_ii=5 z)T6LoS-&=C$^?ILgE{NUYF$W=fVx#Ndo76F89eRB_1Hxf5I7Aiq+lC=n_6L+CaPW+ ziW(^XzW+((-#TMnE2^{4=W;jAZ&a7_?CF*M)H~SCQixJM!-C~ z$Z5Z~hNlJF>sZ>=96rG^#-e>Y;Ty%hC_?%*#!vcZ>? zj`S5_FXZ)M(WU40C@7is;K`%0STFPr-%Y(VGmXRUjcXb_N3u(AUs088!kJFw>j)*^viI>?I4TA zBkf6?^6qTL@s;owZE`67fXX#LE2(yG7Vjy9FY<^N4sg1!2|j+5O-75if91BENsY zN~8jWcn4gOFy8vf3+&FpfB&Z@l_tDPj?0YT&6tg_P55^sqV)bb0O92+TvZL;G_bP` z-)W=){;W(`R86d0B|ujBmshb!JB6^ai@3kh62DOX3EKVhOB0qK;Y!2s_DX@Q^v?>B zKNpITwt=uLg}8TumHum>pP4UGWx_NY@xtA&{2S%}P~<`yiSTTRcyd~vCL4)(Mfvk+ m5N_I}@k4=q>eKsWfZY{_oIK#iZi#CT*B%UZn>GT%Y5otN-#=;q diff --git a/.metadata/.plugins/org.eclipse.pde.core/tempp2metadata/plugins/fr.n7.simplePDL.editor_1.0.0.202110051703.jar b/.metadata/.plugins/org.eclipse.pde.core/tempp2metadata/plugins/fr.n7.simplePDL.editor_1.0.0.202110051703.jar deleted file mode 100644 index 0a885fa01b8d14dddac857315dd3f96359628afb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 61679 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 G`1C(+CI*!N diff --git a/.metadata/.plugins/org.eclipse.pde.core/tempp2metadata/plugins/fr.n7.simplePDL.tests_1.0.0.202110051703.jar b/.metadata/.plugins/org.eclipse.pde.core/tempp2metadata/plugins/fr.n7.simplePDL.tests_1.0.0.202110051703.jar deleted file mode 100644 index daace9e8ba77d6afe48bd4dcff0d51308fe194f6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9693 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 Js(-KF{{ZGRtfl|} diff --git a/.metadata/.plugins/org.eclipse.pde.core/tempp2metadata/plugins/fr.n7.simplePDL_1.0.0.202110051703.jar b/.metadata/.plugins/org.eclipse.pde.core/tempp2metadata/plugins/fr.n7.simplePDL_1.0.0.202110051703.jar deleted file mode 100644 index aaed27b82e642d66896a0ed4f45f5c8ed3a05dc0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30781 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 diff --git a/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml b/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml index 97924b4..746ef01 100644 --- a/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml +++ b/.metadata/.plugins/org.eclipse.ui.ide/dialog_settings.xml @@ -1,9 +1,10 @@

- + - + +
diff --git a/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml b/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml index 82e2754..0df7985 100644 --- a/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml +++ b/.metadata/.plugins/org.eclipse.ui.workbench/dialog_settings.xml @@ -27,9 +27,9 @@
- + - +
diff --git a/.metadata/version.ini b/.metadata/version.ini index be14dfb..ac4cf65 100644 --- a/.metadata/version.ini +++ b/.metadata/version.ini @@ -1,3 +1,3 @@ -#Wed Oct 06 11:09:38 CEST 2021 +#Fri Oct 08 15:39:47 CEST 2021 org.eclipse.core.runtime=2 org.eclipse.platform=4.17.0.v20200902-1800 diff --git a/fr.n7.petriNET.toTINA/src/fr/n7/petriNET/toTINA/main/ToTINA.java b/fr.n7.petriNET.toTINA/src/fr/n7/petriNET/toTINA/main/ToTINA.java deleted file mode 100644 index 1cc62fd..0000000 --- a/fr.n7.petriNET.toTINA/src/fr/n7/petriNET/toTINA/main/ToTINA.java +++ /dev/null @@ -1,421 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008, 2012 Obeo. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * Obeo - initial API and implementation - *******************************************************************************/ -package fr.n7.petriNET.toTINA.main; - -import java.io.File; -import java.io.IOException; -import java.util.ArrayList; -import java.util.List; - -import org.eclipse.acceleo.engine.event.IAcceleoTextGenerationListener; -import org.eclipse.acceleo.engine.generation.strategy.IAcceleoGenerationStrategy; -import org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator; -import org.eclipse.emf.common.util.BasicMonitor; -import org.eclipse.emf.common.util.Monitor; -import org.eclipse.emf.common.util.URI; -import org.eclipse.emf.ecore.EObject; -import org.eclipse.emf.ecore.resource.ResourceSet; - -import simplepdl.SimplepdlPackage; - -/** - * Entry point of the 'ToTINA' generation module. - * - * @generated - */ -public class ToTINA extends AbstractAcceleoGenerator { - /** - * The name of the module. - * - * @generated - */ - public static final String MODULE_FILE_NAME = "/fr/n7/petriNET/toTINA/main/toTINA"; - - /** - * The name of the templates that are to be generated. - * - * @generated - */ - public static final String[] TEMPLATE_NAMES = { "networkToTINA" }; - - /** - * The list of properties files from the launch parameters (Launch configuration). - * - * @generated - */ - private List propertiesFiles = new ArrayList(); - - /** - * Allows the public constructor to be used. Note that a generator created - * this way cannot be used to launch generations before one of - * {@link #initialize(EObject, File, List)} or - * {@link #initialize(URI, File, List)} is called. - *

- * The main reason for this constructor is to allow clients of this - * generation to call it from another Java file, as it allows for the - * retrieval of {@link #getProperties()} and - * {@link #getGenerationListeners()}. - *

- * - * @generated - */ - public ToTINA() { - // Empty implementation - } - - /** - * This allows clients to instantiates a generator with all required information. - * - * @param modelURI - * URI where the model on which this generator will be used is located. - * @param targetFolder - * This will be used as the output folder for this generation : it will be the base path - * against which all file block URLs will be resolved. - * @param arguments - * If the template which will be called requires more than one argument taken from the model, - * pass them here. - * @throws IOException - * This can be thrown in three scenarios : the module cannot be found, it cannot be loaded, or - * the model cannot be loaded. - * @generated - */ - public ToTINA(URI modelURI, File targetFolder, - List arguments) throws IOException { - initialize(modelURI, targetFolder, arguments); - } - - /** - * This allows clients to instantiates a generator with all required information. - * - * @param model - * We'll iterate over the content of this element to find Objects matching the first parameter - * of the template we need to call. - * @param targetFolder - * This will be used as the output folder for this generation : it will be the base path - * against which all file block URLs will be resolved. - * @param arguments - * If the template which will be called requires more than one argument taken from the model, - * pass them here. - * @throws IOException - * This can be thrown in two scenarios : the module cannot be found, or it cannot be loaded. - * @generated - */ - public ToTINA(EObject model, File targetFolder, - List arguments) throws IOException { - initialize(model, targetFolder, arguments); - } - - /** - * This can be used to launch the generation from a standalone application. - * - * @param args - * Arguments of the generation. - * @generated - */ - public static void main(String[] args) { - try { - if (args.length < 2) { - System.out.println("Arguments not valid : {model, folder}."); - } else { - URI modelURI = URI.createFileURI(args[0]); - File folder = new File(args[1]); - - List arguments = new ArrayList(); - - /* - * If you want to change the content of this method, do NOT forget to change the "@generated" - * tag in the Javadoc of this method to "@generated NOT". Without this new tag, any compilation - * of the Acceleo module with the main template that has caused the creation of this class will - * revert your modifications. - */ - - /* - * Add in this list all the arguments used by the starting point of the generation - * If your main template is called on an element of your model and a String, you can - * add in "arguments" this "String" attribute. - */ - - ToTINA generator = new ToTINA(modelURI, folder, arguments); - - /* - * Add the properties from the launch arguments. - * If you want to programmatically add new properties, add them in "propertiesFiles" - * You can add the absolute path of a properties files, or even a project relative path. - * If you want to add another "protocol" for your properties files, please override - * "getPropertiesLoaderService(AcceleoService)" in order to return a new property loader. - * The behavior of the properties loader service is explained in the Acceleo documentation - * (Help -> Help Contents). - */ - - for (int i = 2; i < args.length; i++) { - generator.addPropertiesFile(args[i]); - } - - generator.doGenerate(new BasicMonitor()); - } - } catch (IOException e) { - e.printStackTrace(); - } - } - - /** - * Launches the generation described by this instance. - * - * @param monitor - * This will be used to display progress information to the user. - * @throws IOException - * This will be thrown if any of the output files cannot be saved to disk. - * @generated - */ - @Override - public void doGenerate(Monitor monitor) throws IOException { - /* - * TODO if you wish to change the generation as a whole, override this. The default behavior should - * be sufficient in most cases. If you want to change the content of this method, do NOT forget to - * change the "@generated" tag in the Javadoc of this method to "@generated NOT". Without this new tag, - * any compilation of the Acceleo module with the main template that has caused the creation of this - * class will revert your modifications. If you encounter a problem with an unresolved proxy during the - * generation, you can remove the comments in the following instructions to check for problems. Please - * note that those instructions may have a significant impact on the performances. - */ - - //org.eclipse.emf.ecore.util.EcoreUtil.resolveAll(model); - - /* - * If you want to check for potential errors in your models before the launch of the generation, you - * use the code below. - */ - - //if (model != null && model.eResource() != null) { - // List errors = model.eResource().getErrors(); - // for (org.eclipse.emf.ecore.resource.Resource.Diagnostic diagnostic : errors) { - // System.err.println(diagnostic.toString()); - // } - //} - - super.doGenerate(monitor); - } - - /** - * If this generator needs to listen to text generation events, listeners can be returned from here. - * - * @return List of listeners that are to be notified when text is generated through this launch. - * @generated - */ - @Override - public List getGenerationListeners() { - List listeners = super.getGenerationListeners(); - /* - * TODO if you need to listen to generation event, add listeners to the list here. If you want to change - * the content of this method, do NOT forget to change the "@generated" tag in the Javadoc of this method - * to "@generated NOT". Without this new tag, any compilation of the Acceleo module with the main template - * that has caused the creation of this class will revert your modifications. - */ - return listeners; - } - - /** - * If you need to change the way files are generated, this is your entry point. - *

- * The default is {@link org.eclipse.acceleo.engine.generation.strategy.DefaultStrategy}; it generates - * files on the fly. If you only need to preview the results, return a new - * {@link org.eclipse.acceleo.engine.generation.strategy.PreviewStrategy}. Both of these aren't aware of - * the running Eclipse and can be used standalone. - *

- *

- * If you need the file generation to be aware of the workspace (A typical example is when you wanna - * override files that are under clear case or any other VCS that could forbid the overriding), then - * return a new {@link org.eclipse.acceleo.engine.generation.strategy.WorkspaceAwareStrategy}. - * Note, however, that this cannot be used standalone. - *

- *

- * All three of these default strategies support merging through JMerge. - *

- * - * @return The generation strategy that is to be used for generations launched through this launcher. - * @generated - */ - @Override - public IAcceleoGenerationStrategy getGenerationStrategy() { - return super.getGenerationStrategy(); - } - - /** - * This will be called in order to find and load the module that will be launched through this launcher. - * We expect this name not to contain file extension, and the module to be located beside the launcher. - * - * @return The name of the module that is to be launched. - * @generated - */ - @Override - public String getModuleName() { - return MODULE_FILE_NAME; - } - - /** - * If the module(s) called by this launcher require properties files, return their qualified path from - * here.Take note that the first added properties files will take precedence over subsequent ones if they - * contain conflicting keys. - * - * @return The list of properties file we need to add to the generation context. - * @see java.util.ResourceBundle#getBundle(String) - * @generated - */ - @Override - public List getProperties() { - /* - * If you want to change the content of this method, do NOT forget to change the "@generated" - * tag in the Javadoc of this method to "@generated NOT". Without this new tag, any compilation - * of the Acceleo module with the main template that has caused the creation of this class will - * revert your modifications. - */ - - /* - * TODO if your generation module requires access to properties files, add their qualified path to the list here. - * - * Properties files can be located in an Eclipse plug-in or in the file system (all Acceleo projects are Eclipse - * plug-in). In order to use properties files located in an Eclipse plugin, you need to add the path of the properties - * files to the "propertiesFiles" list: - * - * final String prefix = "platform:/plugin/"; - * final String pluginName = "org.eclipse.acceleo.module.sample"; - * final String packagePath = "/org/eclipse/acceleo/module/sample/properties/"; - * final String fileName = "default.properties"; - * propertiesFiles.add(prefix + pluginName + packagePath + fileName); - * - * With this mechanism, you can load properties files from your plugin or from another plugin. - * - * You may want to load properties files from the file system, for that you need to add the absolute path of the file: - * - * propertiesFiles.add("C:\Users\MyName\MyFile.properties"); - * - * If you want to let your users add properties files located in the same folder as the model: - * - * if (EMFPlugin.IS_ECLIPSE_RUNNING && model != null && model.eResource() != null) { - * propertiesFiles.addAll(AcceleoEngineUtils.getPropertiesFilesNearModel(model.eResource())); - * } - * - * To learn more about Properties Files, have a look at the Acceleo documentation (Help -> Help Contents). - */ - return propertiesFiles; - } - - /** - * Adds a properties file in the list of properties files. - * - * @param propertiesFile - * The properties file to add. - * @generated - * @since 3.1 - */ - @Override - public void addPropertiesFile(String propertiesFile) { - this.propertiesFiles.add(propertiesFile); - } - - /** - * This will be used to get the list of templates that are to be launched by this launcher. - * - * @return The list of templates to call on the module {@link #getModuleName()}. - * @generated - */ - @Override - public String[] getTemplateNames() { - return TEMPLATE_NAMES; - } - - /** - * This can be used to update the resource set's package registry with all needed EPackages. - * - * @param resourceSet - * The resource set which registry has to be updated. - * @generated NOT - */ - @Override - public void registerPackages(ResourceSet resourceSet) { - super.registerPackages(resourceSet); - - - if (!isInWorkspace(PetrinetPackage.class)) - resourceSet.getPackageRegistry().put( - PetrinetPackage.eNS_URI, PetrinetPackage.eINSTANCE); - - - - /* - * If you want to change the content of this method, do NOT forget to change the "@generated" - * tag in the Javadoc of this method to "@generated NOT". Without this new tag, any compilation - * of the Acceleo module with the main template that has caused the creation of this class will - * revert your modifications. - */ - - /* - * If you need additional package registrations, you can register them here. The following line - * (in comment) is an example of the package registration for UML. - * - * You can use the method "isInWorkspace(Class c)" to check if the package that you are about to - * register is in the workspace. - * - * To register a package properly, please follow the following conventions: - * - * If the package is located in another plug-in, already installed in Eclipse. The following content should - * have been generated at the beginning of this method. Do not register the package using this mechanism if - * the metamodel is located in the workspace. - * - * if (!isInWorkspace(UMLPackage.class)) { - * // The normal package registration if your metamodel is in a plugin. - * resourceSet.getPackageRegistry().put(UMLPackage.eNS_URI, UMLPackage.eINSTANCE); - * } - * - * If the package is located in another project in your workspace, the plugin containing the package has not - * been register by EMF and Acceleo should register it automatically. If you want to use the generator in - * stand alone, the regular registration (seen a couple lines before) is needed. - * - * To learn more about Package Registration, have a look at the Acceleo documentation (Help -> Help Contents). - */ - } - - /** - * This can be used to update the resource set's resource factory registry with all needed factories. - * - * @param resourceSet - * The resource set which registry has to be updated. - * @generated - */ - @Override - public void registerResourceFactories(ResourceSet resourceSet) { - super.registerResourceFactories(resourceSet); - /* - * If you want to change the content of this method, do NOT forget to change the "@generated" - * tag in the Javadoc of this method to "@generated NOT". Without this new tag, any compilation - * of the Acceleo module with the main template that has caused the creation of this class will - * revert your modifications. - */ - - /* - * TODO If you need additional resource factories registrations, you can register them here. the following line - * (in comment) is an example of the resource factory registration. - * - * If you want to use the generator in stand alone, the resource factory registration will be required. - * - * To learn more about the registration of Resource Factories, have a look at the Acceleo documentation (Help -> Help Contents). - */ - - // resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put(XyzResource.FILE_EXTENSION, XyzResource.Factory.INSTANCE); - - /* - * Some metamodels require a very complex setup for standalone usage. For example, if you want to use a generator - * targetting UML models in standalone, you NEED to use the following: - */ - // UMLResourcesUtil.init(resourceSet) - } - -} diff --git a/fr.n7.petriNET.toTINA/src/fr/n7/petriNET/toTINA/main/toTINA.mtl b/fr.n7.petriNET.toTINA/src/fr/n7/petriNET/toTINA/main/toTINA.mtl deleted file mode 100644 index 8bf83a5..0000000 --- a/fr.n7.petriNET.toTINA/src/fr/n7/petriNET/toTINA/main/toTINA.mtl +++ /dev/null @@ -1,10 +0,0 @@ -[comment encoding = UTF-8 /] -[module toTINA('http://petrinet')] - - -[template public networkToTINA(aReseau : Reseau)] -[comment @main/] -[file (aReseau.name, false, 'UTF-8')] - -[/file] -[/template] diff --git a/fr.n7.petriNet.edit/.classpath b/fr.n7.petriNet.edit/.classpath new file mode 100644 index 0000000..c3ba59e --- /dev/null +++ b/fr.n7.petriNet.edit/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/fr.n7.petriNet.edit/.project b/fr.n7.petriNet.edit/.project new file mode 100644 index 0000000..b340a26 --- /dev/null +++ b/fr.n7.petriNet.edit/.project @@ -0,0 +1,28 @@ + + + fr.n7.petriNet.edit + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.pde.PluginNature + + diff --git a/fr.n7.petriNet.edit/META-INF/MANIFEST.MF b/fr.n7.petriNet.edit/META-INF/MANIFEST.MF new file mode 100644 index 0000000..276535f --- /dev/null +++ b/fr.n7.petriNet.edit/META-INF/MANIFEST.MF @@ -0,0 +1,16 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: fr.n7.petriNet.edit;singleton:=true +Automatic-Module-Name: fr.n7.petriNet.edit +Bundle-Version: 1.0.0.qualifier +Bundle-ClassPath: . +Bundle-Activator: petrinet.provider.PetriNetEditPlugin$Implementation +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Export-Package: petrinet.provider +Require-Bundle: org.eclipse.core.runtime, + fr.n7.petriNet;visibility:=reexport, + org.eclipse.emf.edit;visibility:=reexport +Bundle-ActivationPolicy: lazy diff --git a/fr.n7.petriNet.edit/build.properties b/fr.n7.petriNet.edit/build.properties new file mode 100644 index 0000000..6e3e902 --- /dev/null +++ b/fr.n7.petriNet.edit/build.properties @@ -0,0 +1,10 @@ +# + +bin.includes = .,\ + icons/,\ + META-INF/,\ + plugin.xml,\ + plugin.properties +jars.compile.order = . +source.. = src/ +output.. = bin/ diff --git a/fr.n7.petriNet.edit/icons/full/ctool16/CreateReseau_noeuds_Place.gif b/fr.n7.petriNet.edit/icons/full/ctool16/CreateReseau_noeuds_Place.gif new file mode 100644 index 0000000000000000000000000000000000000000..831a90aceef60c07a025bd400202c28acb390e4a GIT binary patch literal 223 zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z6Tzau*)6JflXVMxDIQ;(~KR@37|9$(0 zhK2(N4$QwlAINZUaM(3n4T!c*QeM|3zqCneUZvQ~65)S;-viO#&*y>Y&-2B!EQ}zQ4u}BR$-o+;pwO2RX{W|8^X%a%7q(97Z|<8^;%WTZq~}`pBuz2(eyQY4 z=Rl3w%TKV2^l8mGb<)j>K}YSrw~K{9P{ZsO2_F`nY-d`S;3j{grRH|7*6Ek&`3yNV NO{tAd*{X^R)&TALVeVS1C5LMEKv|_dxXb^LZfp^L+8|yUjq; zAVBda3nPf710q0nGO)%dDDA99YNmER{Un)7% zIZ$Kv@)PVLeOhx)opiHe&{4bZ?P4Ji)G+%+!iPmC+nE+7xXIsWskxo2b^2v`K0{7T NQ)**VwyGk7H2`TPVMG7` literal 0 HcmV?d00001 diff --git a/fr.n7.petriNet.edit/icons/full/ctool16/CreateTransition_arcs_Arc.gif b/fr.n7.petriNet.edit/icons/full/ctool16/CreateTransition_arcs_Arc.gif new file mode 100644 index 0000000000000000000000000000000000000000..b3c69247d70a897cd1306ae54e0ad33e911447ed GIT binary patch literal 223 zcmZ?wbhEHb6krfwIKsg2|NsB{_xIb|$1^Z695`@b&YU?74GqO=KL7v6&yTnNf8QR+ z-LvOKPtVP?v@;G42X;+Y1EQ^yl-G61FKv>VS1C5LMEKv|_dxXb^LZfp^L+8|yUjq; zAVBda3nPf710q0nGO)%dDDA99YNmER{Un)7% zIZ$Kv@)PVLeOhx)opiHe&{4bZ?P4Ji)G+%+!iPmC+nE+7xXIsWskxo2b^2v`K0{7T NQ)**VwyGk7H2^>cVITki literal 0 HcmV?d00001 diff --git a/fr.n7.petriNet.edit/icons/full/obj16/Arc.gif b/fr.n7.petriNet.edit/icons/full/obj16/Arc.gif new file mode 100644 index 0000000000000000000000000000000000000000..90d10f9470787d1465c462197b85d1d3621f84e4 GIT binary patch literal 129 zcmZ?wbhEHb6krfw*vtS14M4Jip`qcxfddT<4GjN*-2XuK|Nmgte-L}loH;Seg|6F8S#PBzcr94?)kg2*G_|W{?Adg)XXcr- zh64_YKUo+V7&sYpKsrHYFtF$uob+71*W&e;Zz}u`3thLHvffHb@LI6&tBu~rX=+!^ W%6nF7^6M^V>~uRaQAn7P!5RPwrZD0F literal 0 HcmV?d00001 diff --git a/fr.n7.petriNet.edit/icons/full/obj16/Reseau.gif b/fr.n7.petriNet.edit/icons/full/obj16/Reseau.gif new file mode 100644 index 0000000000000000000000000000000000000000..c8d381f0b327e1289745a7e8ea72b5cc7b782bfe GIT binary patch literal 129 zcmZ?wbhEHb6krfw*vtS14M4Jip`qcxfddT<4GjN*-2XuK|Nmgte-L~A{rNyC2L}hm zpDc_F44e!)Ae|sH7+CZSPI|81Yw`NaHx>Seg|6F8S#PBzcr94?)kg2*G_|W{p3@myECp}m1wRrvIn+pHKLf7r4thZ7UycR6{YNPjYn%Y&f W@}8BN{JP5-JKc^<6cT1+um%9tY%ntb literal 0 HcmV?d00001 diff --git a/fr.n7.petriNet.edit/plugin.properties b/fr.n7.petriNet.edit/plugin.properties new file mode 100644 index 0000000..ef34d03 --- /dev/null +++ b/fr.n7.petriNet.edit/plugin.properties @@ -0,0 +1,33 @@ +# + +pluginName = PetriNet Edit Support +providerName = www.example.org + +_UI_CreateChild_text = {0} +_UI_CreateChild_text2 = {1} {0} +_UI_CreateChild_text3 = {1} +_UI_CreateChild_tooltip = Create New {0} Under {1} Feature +_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}. +_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent. + +_UI_PropertyDescriptor_description = The {0} of the {1} + +_UI_Place_type = Place +_UI_Transition_type = Transition +_UI_Arc_type = Arc +_UI_Noeud_type = Noeud +_UI_Reseau_type = Reseau +_UI_Unknown_type = Object + +_UI_Unknown_datatype= Value + +_UI_Place_jetons_feature = Jetons +_UI_Transition_arcs_feature = Arcs +_UI_Arc_poids_feature = Poids +_UI_Arc_sortant_feature = Sortant +_UI_Arc_cible_feature = Cible +_UI_Noeud_name_feature = Name +_UI_Reseau_noeuds_feature = Noeuds +_UI_Reseau_name_feature = Name +_UI_Unknown_feature = Unspecified + diff --git a/fr.n7.petriNet.edit/plugin.xml b/fr.n7.petriNet.edit/plugin.xml new file mode 100644 index 0000000..cb49885 --- /dev/null +++ b/fr.n7.petriNet.edit/plugin.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/a/d0be6a029e22001c1223fc7c4469a572 b/fr.n7.petriNet.edit/src/petrinet/provider/ArcItemProvider.java similarity index 65% rename from .metadata/.plugins/org.eclipse.core.resources/.history/a/d0be6a029e22001c1223fc7c4469a572 rename to fr.n7.petriNet.edit/src/petrinet/provider/ArcItemProvider.java index d20b02a..58d9d4a 100644 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/a/d0be6a029e22001c1223fc7c4469a572 +++ b/fr.n7.petriNet.edit/src/petrinet/provider/ArcItemProvider.java @@ -1,6 +1,6 @@ /** */ -package simplepdl.provider; +package petrinet.provider; import java.util.Collection; @@ -22,16 +22,16 @@ import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; import org.eclipse.emf.edit.provider.ItemProviderAdapter; import org.eclipse.emf.edit.provider.ViewerNotification; -import simplepdl.Request; -import simplepdl.SimplepdlPackage; +import petrinet.Arc; +import petrinet.PetrinetPackage; /** - * This is the item provider adapter for a {@link simplepdl.Request} object. + * This is the item provider adapter for a {@link petrinet.Arc} object. * * * @generated */ -public class RequestItemProvider +public class ArcItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider, @@ -45,7 +45,7 @@ public class RequestItemProvider * * @generated */ - public RequestItemProvider(AdapterFactory adapterFactory) { + public ArcItemProvider(AdapterFactory adapterFactory) { super(adapterFactory); } @@ -60,26 +60,27 @@ public class RequestItemProvider if (itemPropertyDescriptors == null) { super.getPropertyDescriptors(object); - addQuantityPropertyDescriptor(object); - addTargetPropertyDescriptor(object); + addPoidsPropertyDescriptor(object); + addSortantPropertyDescriptor(object); + addCiblePropertyDescriptor(object); } return itemPropertyDescriptors; } /** - * This adds a property descriptor for the Quantity feature. + * This adds a property descriptor for the Poids feature. * * * @generated */ - protected void addQuantityPropertyDescriptor(Object object) { + protected void addPoidsPropertyDescriptor(Object object) { itemPropertyDescriptors.add (createItemPropertyDescriptor (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(), - getString("_UI_Request_quantity_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_Request_quantity_feature", "_UI_Request_type"), - SimplepdlPackage.Literals.REQUEST__QUANTITY, + getString("_UI_Arc_poids_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_Arc_poids_feature", "_UI_Arc_type"), + PetrinetPackage.Literals.ARC__POIDS, true, false, false, @@ -89,19 +90,41 @@ public class RequestItemProvider } /** - * This adds a property descriptor for the Target feature. + * This adds a property descriptor for the Sortant feature. * * * @generated */ - protected void addTargetPropertyDescriptor(Object object) { + protected void addSortantPropertyDescriptor(Object object) { itemPropertyDescriptors.add (createItemPropertyDescriptor (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(), - getString("_UI_Request_target_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_Request_target_feature", "_UI_Request_type"), - SimplepdlPackage.Literals.REQUEST__TARGET, + getString("_UI_Arc_sortant_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_Arc_sortant_feature", "_UI_Arc_type"), + PetrinetPackage.Literals.ARC__SORTANT, + true, + false, + false, + ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE, + null, + null)); + } + + /** + * This adds a property descriptor for the Cible feature. + * + * + * @generated + */ + protected void addCiblePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Arc_cible_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_Arc_cible_feature", "_UI_Arc_type"), + PetrinetPackage.Literals.ARC__CIBLE, true, false, true, @@ -111,14 +134,14 @@ public class RequestItemProvider } /** - * This returns Request.gif. + * This returns Arc.gif. * * * @generated */ @Override public Object getImage(Object object) { - return overlayImage(object, getResourceLocator().getImage("full/obj16/Request")); + return overlayImage(object, getResourceLocator().getImage("full/obj16/Arc")); } /** @@ -129,8 +152,12 @@ public class RequestItemProvider */ @Override public String getText(Object object) { - Request request = (Request)object; - return getString("_UI_Request_type") + " -" + request.getQuantity() + " -> " + request.getTarget().getName(); + boolean sortant = ((Arc)object).isSortant(); + int poids = ((Arc)object).getPoids(); + String cible = ((Arc)object).getCible().getName(); + return sortant ? + "--" + poids + "--> " + cible : + "<--" + poids + "-- " + cible; } @@ -145,8 +172,9 @@ public class RequestItemProvider public void notifyChanged(Notification notification) { updateChildren(notification); - switch (notification.getFeatureID(Request.class)) { - case SimplepdlPackage.REQUEST__QUANTITY: + switch (notification.getFeatureID(Arc.class)) { + case PetrinetPackage.ARC__POIDS: + case PetrinetPackage.ARC__SORTANT: fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); return; } @@ -173,7 +201,7 @@ public class RequestItemProvider */ @Override public ResourceLocator getResourceLocator() { - return SimplePDLEditPlugin.INSTANCE; + return PetriNetEditPlugin.INSTANCE; } } diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/f6/a096fc6e9d22001c118def180044d1da b/fr.n7.petriNet.edit/src/petrinet/provider/NoeudItemProvider.java similarity index 63% rename from .metadata/.plugins/org.eclipse.core.resources/.history/f6/a096fc6e9d22001c118def180044d1da rename to fr.n7.petriNet.edit/src/petrinet/provider/NoeudItemProvider.java index 280974b..3690952 100644 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/f6/a096fc6e9d22001c118def180044d1da +++ b/fr.n7.petriNet.edit/src/petrinet/provider/NoeudItemProvider.java @@ -1,6 +1,6 @@ /** */ -package simplepdl.provider; +package petrinet.provider; import java.util.Collection; @@ -22,16 +22,16 @@ import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; import org.eclipse.emf.edit.provider.ItemProviderAdapter; import org.eclipse.emf.edit.provider.ViewerNotification; -import simplepdl.Request; -import simplepdl.SimplepdlPackage; +import petrinet.Noeud; +import petrinet.PetrinetPackage; /** - * This is the item provider adapter for a {@link simplepdl.Request} object. + * This is the item provider adapter for a {@link petrinet.Noeud} object. * * * @generated */ -public class RequestItemProvider +public class NoeudItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider, @@ -45,7 +45,7 @@ public class RequestItemProvider * * @generated */ - public RequestItemProvider(AdapterFactory adapterFactory) { + public NoeudItemProvider(AdapterFactory adapterFactory) { super(adapterFactory); } @@ -60,67 +60,33 @@ public class RequestItemProvider if (itemPropertyDescriptors == null) { super.getPropertyDescriptors(object); - addQuantityPropertyDescriptor(object); - addTargetPropertyDescriptor(object); + addNamePropertyDescriptor(object); } return itemPropertyDescriptors; } /** - * This adds a property descriptor for the Quantity feature. + * This adds a property descriptor for the Name feature. * * * @generated */ - protected void addQuantityPropertyDescriptor(Object object) { + protected void addNamePropertyDescriptor(Object object) { itemPropertyDescriptors.add (createItemPropertyDescriptor (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(), - getString("_UI_Request_quantity_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_Request_quantity_feature", "_UI_Request_type"), - SimplepdlPackage.Literals.REQUEST__QUANTITY, + getString("_UI_Noeud_name_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_Noeud_name_feature", "_UI_Noeud_type"), + PetrinetPackage.Literals.NOEUD__NAME, true, false, false, - ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, null, null)); } - /** - * This adds a property descriptor for the Target feature. - * - * - * @generated - */ - protected void addTargetPropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_Request_target_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_Request_target_feature", "_UI_Request_type"), - SimplepdlPackage.Literals.REQUEST__TARGET, - true, - false, - true, - null, - null, - null)); - } - - /** - * This returns Request.gif. - * - * - * @generated - */ - @Override - public Object getImage(Object object) { - return overlayImage(object, getResourceLocator().getImage("full/obj16/Request")); - } - /** * This returns the label text for the adapted class. * @@ -129,8 +95,10 @@ public class RequestItemProvider */ @Override public String getText(Object object) { - Request request = (Request)object; - return getString("_UI_Request_type") + " " + request.getQuantity(); + String label = ((Noeud)object).getName(); + return label == null || label.length() == 0 ? + getString("_UI_Noeud_type") : + getString("_UI_Noeud_type") + " " + label; } @@ -145,8 +113,8 @@ public class RequestItemProvider public void notifyChanged(Notification notification) { updateChildren(notification); - switch (notification.getFeatureID(Request.class)) { - case SimplepdlPackage.REQUEST__QUANTITY: + switch (notification.getFeatureID(Noeud.class)) { + case PetrinetPackage.NOEUD__NAME: fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); return; } @@ -173,7 +141,7 @@ public class RequestItemProvider */ @Override public ResourceLocator getResourceLocator() { - return SimplePDLEditPlugin.INSTANCE; + return PetriNetEditPlugin.INSTANCE; } } diff --git a/fr.n7.petriNet.edit/src/petrinet/provider/PetriNetEditPlugin.java b/fr.n7.petriNet.edit/src/petrinet/provider/PetriNetEditPlugin.java new file mode 100644 index 0000000..4e20250 --- /dev/null +++ b/fr.n7.petriNet.edit/src/petrinet/provider/PetriNetEditPlugin.java @@ -0,0 +1,89 @@ +/** + */ +package petrinet.provider; + +import org.eclipse.emf.common.EMFPlugin; + +import org.eclipse.emf.common.util.ResourceLocator; + +/** + * This is the central singleton for the PetriNet edit plugin. + * + * + * @generated + */ +public final class PetriNetEditPlugin extends EMFPlugin { + /** + * Keep track of the singleton. + * + * + * @generated + */ + public static final PetriNetEditPlugin INSTANCE = new PetriNetEditPlugin(); + + /** + * Keep track of the singleton. + * + * + * @generated + */ + private static Implementation plugin; + + /** + * Create the instance. + * + * + * @generated + */ + public PetriNetEditPlugin() { + super + (new ResourceLocator [] { + }); + } + + /** + * Returns the singleton instance of the Eclipse plugin. + * + * + * @return the singleton instance. + * @generated + */ + @Override + public ResourceLocator getPluginResourceLocator() { + return plugin; + } + + /** + * Returns the singleton instance of the Eclipse plugin. + * + * + * @return the singleton instance. + * @generated + */ + public static Implementation getPlugin() { + return plugin; + } + + /** + * The actual implementation of the Eclipse Plugin. + * + * + * @generated + */ + public static class Implementation extends EclipsePlugin { + /** + * Creates an instance. + * + * + * @generated + */ + public Implementation() { + super(); + + // Remember the static instance. + // + plugin = this; + } + } + +} diff --git a/fr.n7.petriNet.edit/src/petrinet/provider/PetrinetItemProviderAdapterFactory.java b/fr.n7.petriNet.edit/src/petrinet/provider/PetrinetItemProviderAdapterFactory.java new file mode 100644 index 0000000..a7b8466 --- /dev/null +++ b/fr.n7.petriNet.edit/src/petrinet/provider/PetrinetItemProviderAdapterFactory.java @@ -0,0 +1,271 @@ +/** + */ +package petrinet.provider; + +import java.util.ArrayList; +import java.util.Collection; + +import org.eclipse.emf.common.notify.Adapter; +import org.eclipse.emf.common.notify.Notification; +import org.eclipse.emf.common.notify.Notifier; + +import org.eclipse.emf.edit.provider.ChangeNotifier; +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.ComposedAdapterFactory; +import org.eclipse.emf.edit.provider.IChangeNotifier; +import org.eclipse.emf.edit.provider.IDisposable; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.INotifyChangedListener; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; + +import petrinet.util.PetrinetAdapterFactory; + +/** + * This is the factory that is used to provide the interfaces needed to support Viewers. + * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}. + * The adapters also support Eclipse property sheets. + * Note that most of the adapters are shared among multiple instances. + * + * + * @generated + */ +public class PetrinetItemProviderAdapterFactory extends PetrinetAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable { + /** + * This keeps track of the root adapter factory that delegates to this adapter factory. + * + * + * @generated + */ + protected ComposedAdapterFactory parentAdapterFactory; + + /** + * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}. + * + * + * @generated + */ + protected IChangeNotifier changeNotifier = new ChangeNotifier(); + + /** + * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}. + * + * + * @generated + */ + protected Collection supportedTypes = new ArrayList(); + + /** + * This constructs an instance. + * + * + * @generated + */ + public PetrinetItemProviderAdapterFactory() { + supportedTypes.add(IEditingDomainItemProvider.class); + supportedTypes.add(IStructuredItemContentProvider.class); + supportedTypes.add(ITreeItemContentProvider.class); + supportedTypes.add(IItemLabelProvider.class); + supportedTypes.add(IItemPropertySource.class); + } + + /** + * This keeps track of the one adapter used for all {@link petrinet.Place} instances. + * + * + * @generated + */ + protected PlaceItemProvider placeItemProvider; + + /** + * This creates an adapter for a {@link petrinet.Place}. + * + * + * @generated + */ + @Override + public Adapter createPlaceAdapter() { + if (placeItemProvider == null) { + placeItemProvider = new PlaceItemProvider(this); + } + + return placeItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link petrinet.Transition} instances. + * + * + * @generated + */ + protected TransitionItemProvider transitionItemProvider; + + /** + * This creates an adapter for a {@link petrinet.Transition}. + * + * + * @generated + */ + @Override + public Adapter createTransitionAdapter() { + if (transitionItemProvider == null) { + transitionItemProvider = new TransitionItemProvider(this); + } + + return transitionItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link petrinet.Arc} instances. + * + * + * @generated + */ + protected ArcItemProvider arcItemProvider; + + /** + * This creates an adapter for a {@link petrinet.Arc}. + * + * + * @generated + */ + @Override + public Adapter createArcAdapter() { + if (arcItemProvider == null) { + arcItemProvider = new ArcItemProvider(this); + } + + return arcItemProvider; + } + + /** + * This keeps track of the one adapter used for all {@link petrinet.Reseau} instances. + * + * + * @generated + */ + protected ReseauItemProvider reseauItemProvider; + + /** + * This creates an adapter for a {@link petrinet.Reseau}. + * + * + * @generated + */ + @Override + public Adapter createReseauAdapter() { + if (reseauItemProvider == null) { + reseauItemProvider = new ReseauItemProvider(this); + } + + return reseauItemProvider; + } + + /** + * This returns the root adapter factory that contains this factory. + * + * + * @generated + */ + public ComposeableAdapterFactory getRootAdapterFactory() { + return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory(); + } + + /** + * This sets the composed adapter factory that contains this factory. + * + * + * @generated + */ + public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) { + this.parentAdapterFactory = parentAdapterFactory; + } + + /** + * + * + * @generated + */ + @Override + public boolean isFactoryForType(Object type) { + return supportedTypes.contains(type) || super.isFactoryForType(type); + } + + /** + * This implementation substitutes the factory itself as the key for the adapter. + * + * + * @generated + */ + @Override + public Adapter adapt(Notifier notifier, Object type) { + return super.adapt(notifier, this); + } + + /** + * + * + * @generated + */ + @Override + public Object adapt(Object object, Object type) { + if (isFactoryForType(type)) { + Object adapter = super.adapt(object, type); + if (!(type instanceof Class) || (((Class)type).isInstance(adapter))) { + return adapter; + } + } + + return null; + } + + /** + * This adds a listener. + * + * + * @generated + */ + public void addListener(INotifyChangedListener notifyChangedListener) { + changeNotifier.addListener(notifyChangedListener); + } + + /** + * This removes a listener. + * + * + * @generated + */ + public void removeListener(INotifyChangedListener notifyChangedListener) { + changeNotifier.removeListener(notifyChangedListener); + } + + /** + * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}. + * + * + * @generated + */ + public void fireNotifyChanged(Notification notification) { + changeNotifier.fireNotifyChanged(notification); + + if (parentAdapterFactory != null) { + parentAdapterFactory.fireNotifyChanged(notification); + } + } + + /** + * This disposes all of the item providers created by this factory. + * + * + * @generated + */ + public void dispose() { + if (placeItemProvider != null) placeItemProvider.dispose(); + if (transitionItemProvider != null) transitionItemProvider.dispose(); + if (arcItemProvider != null) arcItemProvider.dispose(); + if (reseauItemProvider != null) reseauItemProvider.dispose(); + } + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ec/8071dbecdc25001c15a9d70b555b4809 b/fr.n7.petriNet.edit/src/petrinet/provider/PlaceItemProvider.java similarity index 60% rename from .metadata/.plugins/org.eclipse.core.resources/.history/ec/8071dbecdc25001c15a9d70b555b4809 rename to fr.n7.petriNet.edit/src/petrinet/provider/PlaceItemProvider.java index e31e477..bc4d2aa 100644 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ec/8071dbecdc25001c15a9d70b555b4809 +++ b/fr.n7.petriNet.edit/src/petrinet/provider/PlaceItemProvider.java @@ -1,6 +1,6 @@ /** */ -package simplepdl.provider; +package petrinet.provider; import java.util.Collection; @@ -14,23 +14,23 @@ import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; import org.eclipse.emf.edit.provider.ViewerNotification; -import simplepdl.Resource; -import simplepdl.SimplepdlPackage; +import petrinet.PetrinetPackage; +import petrinet.Place; /** - * This is the item provider adapter for a {@link simplepdl.Resource} object. + * This is the item provider adapter for a {@link petrinet.Place} object. * * * @generated */ -public class ResourceItemProvider extends ProcessElementItemProvider { +public class PlaceItemProvider extends NoeudItemProvider { /** * This constructs an instance from a factory and a notifier. * * * @generated */ - public ResourceItemProvider(AdapterFactory adapterFactory) { + public PlaceItemProvider(AdapterFactory adapterFactory) { super(adapterFactory); } @@ -45,26 +45,25 @@ public class ResourceItemProvider extends ProcessElementItemProvider { if (itemPropertyDescriptors == null) { super.getPropertyDescriptors(object); - addQuantityPropertyDescriptor(object); - addNamePropertyDescriptor(object); + addJetonsPropertyDescriptor(object); } return itemPropertyDescriptors; } /** - * This adds a property descriptor for the Quantity feature. + * This adds a property descriptor for the Jetons feature. * * * @generated */ - protected void addQuantityPropertyDescriptor(Object object) { + protected void addJetonsPropertyDescriptor(Object object) { itemPropertyDescriptors.add (createItemPropertyDescriptor (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), getResourceLocator(), - getString("_UI_Resource_quantity_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_Resource_quantity_feature", "_UI_Resource_type"), - SimplepdlPackage.Literals.RESOURCE__QUANTITY, + getString("_UI_Place_jetons_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_Place_jetons_feature", "_UI_Place_type"), + PetrinetPackage.Literals.PLACE__JETONS, true, false, false, @@ -74,36 +73,14 @@ public class ResourceItemProvider extends ProcessElementItemProvider { } /** - * This adds a property descriptor for the Name feature. - * - * - * @generated - */ - protected void addNamePropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_Resource_name_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_Resource_name_feature", "_UI_Resource_type"), - SimplepdlPackage.Literals.RESOURCE__NAME, - true, - false, - false, - ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, - null, - null)); - } - - /** - * This returns Resource.gif. + * This returns Place.gif. * * * @generated */ @Override public Object getImage(Object object) { - return overlayImage(object, getResourceLocator().getImage("full/obj16/Resource")); + return overlayImage(object, getResourceLocator().getImage("full/obj16/Place")); } /** @@ -114,11 +91,11 @@ public class ResourceItemProvider extends ProcessElementItemProvider { */ @Override public String getText(Object object) { - String label = ((Resource)object).getName(); - int qty = ((Resource)object).getQuantity(); + String label = ((Place)object).getName(); + int jetons = ((Place)object).getJetons(); return label == null || label.length() == 0 ? - getString("_UI_Resource_type") : - getString("_UI_Resource_type") + " " + label + "( " + qty + " )"; + getString("_UI_Place_type") : + getString("_UI_Place_type") + " " + label + " (" + jetons + ")"; } @@ -133,9 +110,8 @@ public class ResourceItemProvider extends ProcessElementItemProvider { public void notifyChanged(Notification notification) { updateChildren(notification); - switch (notification.getFeatureID(Resource.class)) { - case SimplepdlPackage.RESOURCE__QUANTITY: - case SimplepdlPackage.RESOURCE__NAME: + switch (notification.getFeatureID(Place.class)) { + case PetrinetPackage.PLACE__JETONS: fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); return; } diff --git a/fr.n7.petriNet.edit/src/petrinet/provider/ReseauItemProvider.java b/fr.n7.petriNet.edit/src/petrinet/provider/ReseauItemProvider.java new file mode 100644 index 0000000..fd507b6 --- /dev/null +++ b/fr.n7.petriNet.edit/src/petrinet/provider/ReseauItemProvider.java @@ -0,0 +1,204 @@ +/** + */ +package petrinet.provider; + + +import java.util.Collection; +import java.util.List; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.util.ResourceLocator; + +import org.eclipse.emf.ecore.EStructuralFeature; + +import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.edit.provider.IEditingDomainItemProvider; +import org.eclipse.emf.edit.provider.IItemLabelProvider; +import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.IItemPropertySource; +import org.eclipse.emf.edit.provider.IStructuredItemContentProvider; +import org.eclipse.emf.edit.provider.ITreeItemContentProvider; +import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; +import org.eclipse.emf.edit.provider.ItemProviderAdapter; +import org.eclipse.emf.edit.provider.ViewerNotification; + +import petrinet.PetrinetFactory; +import petrinet.PetrinetPackage; +import petrinet.Reseau; + +/** + * This is the item provider adapter for a {@link petrinet.Reseau} object. + * + * + * @generated + */ +public class ReseauItemProvider + extends ItemProviderAdapter + implements + IEditingDomainItemProvider, + IStructuredItemContentProvider, + ITreeItemContentProvider, + IItemLabelProvider, + IItemPropertySource { + /** + * This constructs an instance from a factory and a notifier. + * + * + * @generated + */ + public ReseauItemProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * This returns the property descriptors for the adapted class. + * + * + * @generated + */ + @Override + public List getPropertyDescriptors(Object object) { + if (itemPropertyDescriptors == null) { + super.getPropertyDescriptors(object); + + addNamePropertyDescriptor(object); + } + return itemPropertyDescriptors; + } + + /** + * This adds a property descriptor for the Name feature. + * + * + * @generated + */ + protected void addNamePropertyDescriptor(Object object) { + itemPropertyDescriptors.add + (createItemPropertyDescriptor + (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), + getResourceLocator(), + getString("_UI_Reseau_name_feature"), + getString("_UI_PropertyDescriptor_description", "_UI_Reseau_name_feature", "_UI_Reseau_type"), + PetrinetPackage.Literals.RESEAU__NAME, + true, + false, + false, + ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, + null, + null)); + } + + /** + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. + * + * + * @generated + */ + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(PetrinetPackage.Literals.RESEAU__NOEUDS); + } + return childrenFeatures; + } + + /** + * + * + * @generated + */ + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); + } + + /** + * This returns Reseau.gif. + * + * + * @generated + */ + @Override + public Object getImage(Object object) { + return overlayImage(object, getResourceLocator().getImage("full/obj16/Reseau")); + } + + /** + * This returns the label text for the adapted class. + * + * + * @generated + */ + @Override + public String getText(Object object) { + String label = ((Reseau)object).getName(); + return label == null || label.length() == 0 ? + getString("_UI_Reseau_type") : + getString("_UI_Reseau_type") + " " + label; + } + + + /** + * This handles model notifications by calling {@link #updateChildren} to update any cached + * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}. + * + * + * @generated + */ + @Override + public void notifyChanged(Notification notification) { + updateChildren(notification); + + switch (notification.getFeatureID(Reseau.class)) { + case PetrinetPackage.RESEAU__NAME: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + return; + case PetrinetPackage.RESEAU__NOEUDS: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); + return; + } + super.notifyChanged(notification); + } + + /** + * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children + * that can be created under this object. + * + * + * @generated + */ + @Override + protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { + super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (PetrinetPackage.Literals.RESEAU__NOEUDS, + PetrinetFactory.eINSTANCE.createPlace())); + + newChildDescriptors.add + (createChildParameter + (PetrinetPackage.Literals.RESEAU__NOEUDS, + PetrinetFactory.eINSTANCE.createTransition())); + } + + /** + * Return the resource locator for this item provider's resources. + * + * + * @generated + */ + @Override + public ResourceLocator getResourceLocator() { + return PetriNetEditPlugin.INSTANCE; + } + +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/b9/b08276449d22001c118def180044d1da b/fr.n7.petriNet.edit/src/petrinet/provider/TransitionItemProvider.java similarity index 52% rename from .metadata/.plugins/org.eclipse.core.resources/.history/b9/b08276449d22001c118def180044d1da rename to fr.n7.petriNet.edit/src/petrinet/provider/TransitionItemProvider.java index 11e9736..1b2bf5b 100644 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/b9/b08276449d22001c118def180044d1da +++ b/fr.n7.petriNet.edit/src/petrinet/provider/TransitionItemProvider.java @@ -1,6 +1,6 @@ /** */ -package simplepdl.provider; +package petrinet.provider; import java.util.Collection; @@ -9,28 +9,29 @@ import java.util.List; import org.eclipse.emf.common.notify.AdapterFactory; import org.eclipse.emf.common.notify.Notification; -import org.eclipse.emf.edit.provider.ComposeableAdapterFactory; +import org.eclipse.emf.ecore.EStructuralFeature; + import org.eclipse.emf.edit.provider.IItemPropertyDescriptor; -import org.eclipse.emf.edit.provider.ItemPropertyDescriptor; import org.eclipse.emf.edit.provider.ViewerNotification; -import simplepdl.Resource; -import simplepdl.SimplepdlPackage; +import petrinet.PetrinetFactory; +import petrinet.PetrinetPackage; +import petrinet.Transition; /** - * This is the item provider adapter for a {@link simplepdl.Resource} object. + * This is the item provider adapter for a {@link petrinet.Transition} object. * * * @generated */ -public class ResourceItemProvider extends ProcessElementItemProvider { +public class TransitionItemProvider extends NoeudItemProvider { /** * This constructs an instance from a factory and a notifier. * * * @generated */ - public ResourceItemProvider(AdapterFactory adapterFactory) { + public TransitionItemProvider(AdapterFactory adapterFactory) { super(adapterFactory); } @@ -45,65 +46,49 @@ public class ResourceItemProvider extends ProcessElementItemProvider { if (itemPropertyDescriptors == null) { super.getPropertyDescriptors(object); - addQuantityPropertyDescriptor(object); - addNamePropertyDescriptor(object); } return itemPropertyDescriptors; } /** - * This adds a property descriptor for the Quantity feature. + * This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an + * {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or + * {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}. * * * @generated */ - protected void addQuantityPropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_Resource_quantity_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_Resource_quantity_feature", "_UI_Resource_type"), - SimplepdlPackage.Literals.RESOURCE__QUANTITY, - true, - false, - false, - ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE, - null, - null)); + @Override + public Collection getChildrenFeatures(Object object) { + if (childrenFeatures == null) { + super.getChildrenFeatures(object); + childrenFeatures.add(PetrinetPackage.Literals.TRANSITION__ARCS); + } + return childrenFeatures; } /** - * This adds a property descriptor for the Name feature. * * * @generated */ - protected void addNamePropertyDescriptor(Object object) { - itemPropertyDescriptors.add - (createItemPropertyDescriptor - (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(), - getResourceLocator(), - getString("_UI_Resource_name_feature"), - getString("_UI_PropertyDescriptor_description", "_UI_Resource_name_feature", "_UI_Resource_type"), - SimplepdlPackage.Literals.RESOURCE__NAME, - true, - false, - false, - ItemPropertyDescriptor.GENERIC_VALUE_IMAGE, - null, - null)); + @Override + protected EStructuralFeature getChildFeature(Object object, Object child) { + // Check the type of the specified child object and return the proper feature to use for + // adding (see {@link AddCommand}) it as a child. + + return super.getChildFeature(object, child); } /** - * This returns Resource.gif. + * This returns Transition.gif. * * * @generated */ @Override public Object getImage(Object object) { - return overlayImage(object, getResourceLocator().getImage("full/obj16/Resource")); + return overlayImage(object, getResourceLocator().getImage("full/obj16/Transition")); } /** @@ -114,11 +99,10 @@ public class ResourceItemProvider extends ProcessElementItemProvider { */ @Override public String getText(Object object) { - String label = ((Resource)object).getName(); - String qty = ((Resource)object).getQuantity(); + String label = ((Transition)object).getName(); return label == null || label.length() == 0 ? - getString("_UI_Resource_type") : - getString("_UI_Resource_type") + " " + label + "( " + qty + " )"; + getString("_UI_Transition_type") : + getString("_UI_Transition_type") + " " + label; } @@ -133,10 +117,9 @@ public class ResourceItemProvider extends ProcessElementItemProvider { public void notifyChanged(Notification notification) { updateChildren(notification); - switch (notification.getFeatureID(Resource.class)) { - case SimplepdlPackage.RESOURCE__QUANTITY: - case SimplepdlPackage.RESOURCE__NAME: - fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true)); + switch (notification.getFeatureID(Transition.class)) { + case PetrinetPackage.TRANSITION__ARCS: + fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false)); return; } super.notifyChanged(notification); @@ -152,6 +135,11 @@ public class ResourceItemProvider extends ProcessElementItemProvider { @Override protected void collectNewChildDescriptors(Collection newChildDescriptors, Object object) { super.collectNewChildDescriptors(newChildDescriptors, object); + + newChildDescriptors.add + (createChildParameter + (PetrinetPackage.Literals.TRANSITION__ARCS, + PetrinetFactory.eINSTANCE.createArc())); } } diff --git a/fr.n7.petriNet.editor/.classpath b/fr.n7.petriNet.editor/.classpath new file mode 100644 index 0000000..c3ba59e --- /dev/null +++ b/fr.n7.petriNet.editor/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/fr.n7.petriNet.editor/.project b/fr.n7.petriNet.editor/.project new file mode 100644 index 0000000..b6dc6db --- /dev/null +++ b/fr.n7.petriNet.editor/.project @@ -0,0 +1,28 @@ + + + fr.n7.petriNet.editor + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.pde.PluginNature + + diff --git a/fr.n7.petriNet.editor/META-INF/MANIFEST.MF b/fr.n7.petriNet.editor/META-INF/MANIFEST.MF new file mode 100644 index 0000000..0afcda8 --- /dev/null +++ b/fr.n7.petriNet.editor/META-INF/MANIFEST.MF @@ -0,0 +1,19 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: fr.n7.petriNet.editor;singleton:=true +Automatic-Module-Name: fr.n7.petriNet.editor +Bundle-Version: 1.0.0.qualifier +Bundle-ClassPath: . +Bundle-Activator: petrinet.presentation.PetriNetEditorPlugin$Implementation +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Export-Package: petrinet.presentation +Require-Bundle: org.eclipse.core.runtime, + org.eclipse.core.resources;visibility:=reexport, + fr.n7.petriNet.edit;visibility:=reexport, + org.eclipse.emf.ecore.xmi;visibility:=reexport, + org.eclipse.emf.edit.ui;visibility:=reexport, + org.eclipse.ui.ide;visibility:=reexport +Bundle-ActivationPolicy: lazy diff --git a/fr.n7.petriNet.editor/build.properties b/fr.n7.petriNet.editor/build.properties new file mode 100644 index 0000000..5fb0771 --- /dev/null +++ b/fr.n7.petriNet.editor/build.properties @@ -0,0 +1,10 @@ +# + +bin.includes = .,\ + icons/,\ + META-INF/,\ + plugin.xml,\ + plugin.properties +jars.compile.order = . +source.. = src/ +output.. = bin diff --git a/fr.n7.petriNet.editor/icons/full/obj16/PetrinetModelFile.gif b/fr.n7.petriNet.editor/icons/full/obj16/PetrinetModelFile.gif new file mode 100644 index 0000000000000000000000000000000000000000..689b7281906a8495692dabb9df11ed27df1f312f GIT binary patch literal 346 zcmZ?wbhEHb6krfwxXQrL(9jScAHRS9{{Q#qA2@IT$YuD?z`*by$o~Hy%=!;v&rCZ5 zlyY!z*fPNuh&J@wt?6-C-tDxg!+CD2>+~kK=5pV??4Nv1r&d>FfuT(G3bB{1o?@9t=yrxz(Yq! z@r24Hjh2de7kFDVe@3jASy{;Rs>=GN=R_f`cDZK)OCtn#a`HDthiFE*{cwNSC?DA+ zuA;)r+QQo;?#fiq%FzpH0zKg&cH302j$)SP}Ki|cX!5RS8Z+KS# literal 0 HcmV?d00001 diff --git a/fr.n7.petriNet.editor/icons/full/wizban/NewPetrinet.gif b/fr.n7.petriNet.editor/icons/full/wizban/NewPetrinet.gif new file mode 100644 index 0000000000000000000000000000000000000000..e976e0776d200e1ce72d13ee80784885faff018e GIT binary patch literal 2462 zcmd6m`8OMg8ivzyXM`x-QPZJfTAHHK&QR5AsWql$w2Ic!kg?USY8f{w=)@9er5!BYj=!_Znuek4d&imtcp6{IRvvaUDGxu`>TnBsx>}7X% zcXj>C>iTB}dwftJ85GP)Wg9E&Uo1Q`ExocVy)s!W79PPzB9T^BR@Q#GH{duMzg$~5 z&K8cf56E*4D!ds|d^4oTJ+gnR_JBJ(A!VL-LF%xgS^N6JO!GM>#x^j7Y8w zN~sP_tqo6q9+6%b{X6whRzm`&={H=l~r8#~FPSy?ha8bVe|>I5xE~E|v-3Elo>TMUv%t`KDC1 ze)(S3mHXM2_cE_~=Uny9zUGUudGPNRSi68cTYs$MulcZ`0+%qnYZ%@w;+cCC(LIXb z5kvCWlP~p6sPKs|_f05=Cy@h^D??GWA*h;YG&MG>As*9&ENDwDrlX4K83ZPp)P*K> zW|wv6l=tM6cVj6m9EF7?zra#n;3zK&s$b&k`pOzPr40jRjRWKsUR4{vmN8829HDiM zH1)i0eL2=SAnf73eaROMjLr;>NruLyBa`#P6H>v{!W*$nEM1+FEYHk;n3k?AuYD@6 zV-u;bO8*_$I8fEjr*@6d`^I~CZ~Ok3=DeQajm-)~izAcohbQL7r)AQm4awr#(uYrr zD_aAvXND%`1fqpE(=y@A(!2Q&V(H41L@rzZS%`dAPpXZl1rAzCJt6M7@ zpSNf}TT{)Ov;7l&m2E90MdYG%LSa$?E*6^$Pe~&+HP_HvyLy@b(m&AN#jLL&;JVoZ z?`Ed?{eKK|Mo0PMlft?G-P-?MLH3OHegUAg3s6wfwr?zZnW}Wy@Lr(FvHh+fJx8M1 zsBUehx+nM*L0f^hTpg^9&P`qbxKeJ#qKO^r)e{8wa@zv5Nzr6WprFoqCvVoh!JQo} zPEdD;BDfn%;z4>i&8s8gT+$A7m0cZuSQ0!=kEHlx?DWZPimu@Mbbww`qA3!INmn~< zTjNv^B%r#|(MN!|5PNbUmvoNcff!P?Nc;<=byhMOn^)^feHI(yNxhHp{Q1PO8GZ*W zDtX&{>n@&h`}EnKXCIf}H~q@q)xw;OK)fu8-MQ>xNfRANIT6hUy z#Drk^P>_;d7A43Z zg#4&8$dK|R?{oR}@_nh*NRIr9 zwa)cV=El`ZD^H9up`JZt-q_*r6Gm-W=2u^6?!`qt@0frx>5c+d@G`paSOX6`k;=~(f%=eiO6 zce>Qs47lK}&Ihu54G_h&pniT={gdx_7>^i)L1-^b)6hOXROHcvk~_ppkuB$1lwaB+=VN z3VV;|sJLiRzE`z8qfQ1{YtpVgIZ|zZ!{E{>Am(x3!FI+g+rV`c_ry~bpDzuOX)DMR z!4)^h%s~D&r+^Vza|dxIc1BU7N^w#N@Z8f}Z{G-blloDHaIDa%_IygO)i>INCXU_( zHa0iZ)-=n6>!3A@v%94`ctB!jY=DVL^CW9o3JYx`i7alT-cqpJ3!fufxnLd zT$;G)C!o@suv(rs30Hs-k=YOMPOO8xaI&`2;W#e9r{d6&A!HRedrb*^Pkv{`^r`V8 z<)n*2OZr@9nu!K03t>VgF2EMdhvIp#4ImP2&G|9X+|lr&PPT(%)$?)u?$6N`EkpsV z*Me!=iVBS`^pUx2f$&xz6?HVEZq+t;UFQ_#?65Wqj&Z2)R?3&0@-!*m`H5~;0IanX zqg~TQ+ipaCy``{9nN;mnhRSrl4yPOkl3(w}jb2}i-laCfiYPSbkrk8UpBZ(ir1 zk4Jsy>Rhi9a@TFgEq5Q~qGmTB-S=B3VXxMw#`L4#Sh?SL&Y{^+|VoPe-jFVuOr^x+5bxUv>zH67At?-x4vG_G?%`60KPZXF~k_(td069 znzODiV?KK3`9?Y8B2)i3GIhHul + + + + + + + + + + + %_UI_PetrinetModelWizard_description + + + + + + + + + + + diff --git a/fr.n7.petriNet.editor/src/petrinet/presentation/PetriNetEditorPlugin.java b/fr.n7.petriNet.editor/src/petrinet/presentation/PetriNetEditorPlugin.java new file mode 100644 index 0000000..629fbbd --- /dev/null +++ b/fr.n7.petriNet.editor/src/petrinet/presentation/PetriNetEditorPlugin.java @@ -0,0 +1,91 @@ +/** + */ +package petrinet.presentation; + +import org.eclipse.emf.common.EMFPlugin; + +import org.eclipse.emf.common.ui.EclipseUIPlugin; + +import org.eclipse.emf.common.util.ResourceLocator; + +/** + * This is the central singleton for the PetriNet editor plugin. + * + * + * @generated + */ +public final class PetriNetEditorPlugin extends EMFPlugin { + /** + * Keep track of the singleton. + * + * + * @generated + */ + public static final PetriNetEditorPlugin INSTANCE = new PetriNetEditorPlugin(); + + /** + * Keep track of the singleton. + * + * + * @generated + */ + private static Implementation plugin; + + /** + * Create the instance. + * + * + * @generated + */ + public PetriNetEditorPlugin() { + super + (new ResourceLocator [] { + }); + } + + /** + * Returns the singleton instance of the Eclipse plugin. + * + * + * @return the singleton instance. + * @generated + */ + @Override + public ResourceLocator getPluginResourceLocator() { + return plugin; + } + + /** + * Returns the singleton instance of the Eclipse plugin. + * + * + * @return the singleton instance. + * @generated + */ + public static Implementation getPlugin() { + return plugin; + } + + /** + * The actual implementation of the Eclipse Plugin. + * + * + * @generated + */ + public static class Implementation extends EclipseUIPlugin { + /** + * Creates an instance. + * + * + * @generated + */ + public Implementation() { + super(); + + // Remember the static instance. + // + plugin = this; + } + } + +} diff --git a/fr.n7.petriNet.editor/src/petrinet/presentation/PetrinetActionBarContributor.java b/fr.n7.petriNet.editor/src/petrinet/presentation/PetrinetActionBarContributor.java new file mode 100644 index 0000000..e1eadff --- /dev/null +++ b/fr.n7.petriNet.editor/src/petrinet/presentation/PetrinetActionBarContributor.java @@ -0,0 +1,424 @@ +/** + */ +package petrinet.presentation; + +import java.util.ArrayList; +import java.util.Collection; + +import org.eclipse.emf.common.ui.viewer.IViewerProvider; + +import org.eclipse.emf.edit.domain.EditingDomain; +import org.eclipse.emf.edit.domain.IEditingDomainProvider; + +import org.eclipse.emf.edit.ui.action.ControlAction; +import org.eclipse.emf.edit.ui.action.CreateChildAction; +import org.eclipse.emf.edit.ui.action.CreateSiblingAction; +import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor; +import org.eclipse.emf.edit.ui.action.LoadResourceAction; +import org.eclipse.emf.edit.ui.action.ValidateAction; + +import org.eclipse.jface.action.Action; +import org.eclipse.jface.action.ActionContributionItem; +import org.eclipse.jface.action.IAction; +import org.eclipse.jface.action.IContributionItem; +import org.eclipse.jface.action.IContributionManager; +import org.eclipse.jface.action.IMenuListener; +import org.eclipse.jface.action.IMenuManager; +import org.eclipse.jface.action.IToolBarManager; +import org.eclipse.jface.action.MenuManager; +import org.eclipse.jface.action.Separator; +import org.eclipse.jface.action.SubContributionItem; + +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.ISelectionChangedListener; +import org.eclipse.jface.viewers.ISelectionProvider; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.viewers.SelectionChangedEvent; +import org.eclipse.jface.viewers.Viewer; + +import org.eclipse.ui.IEditorPart; +import org.eclipse.ui.PartInitException; + +/** + * This is the action bar contributor for the Petrinet model editor. + * + * + * @generated + */ +public class PetrinetActionBarContributor + extends EditingDomainActionBarContributor + implements ISelectionChangedListener { + /** + * This keeps track of the active editor. + * + * + * @generated + */ + protected IEditorPart activeEditorPart; + + /** + * This keeps track of the current selection provider. + * + * + * @generated + */ + protected ISelectionProvider selectionProvider; + + /** + * This action opens the Properties view. + * + * + * @generated + */ + protected IAction showPropertiesViewAction = + new Action(PetriNetEditorPlugin.INSTANCE.getString("_UI_ShowPropertiesView_menu_item")) { + @Override + public void run() { + try { + getPage().showView("org.eclipse.ui.views.PropertySheet"); + } + catch (PartInitException exception) { + PetriNetEditorPlugin.INSTANCE.log(exception); + } + } + }; + + /** + * This action refreshes the viewer of the current editor if the editor + * implements {@link org.eclipse.emf.common.ui.viewer.IViewerProvider}. + * + * + * @generated + */ + protected IAction refreshViewerAction = + new Action(PetriNetEditorPlugin.INSTANCE.getString("_UI_RefreshViewer_menu_item")) { + @Override + public boolean isEnabled() { + return activeEditorPart instanceof IViewerProvider; + } + + @Override + public void run() { + if (activeEditorPart instanceof IViewerProvider) { + Viewer viewer = ((IViewerProvider)activeEditorPart).getViewer(); + if (viewer != null) { + viewer.refresh(); + } + } + } + }; + + /** + * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateChildAction} corresponding to each descriptor + * generated for the current selection by the item provider. + * + * + * @generated + */ + protected Collection createChildActions; + + /** + * This is the menu manager into which menu contribution items should be added for CreateChild actions. + * + * + * @generated + */ + protected IMenuManager createChildMenuManager; + + /** + * This will contain one {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} corresponding to each descriptor + * generated for the current selection by the item provider. + * + * + * @generated + */ + protected Collection createSiblingActions; + + /** + * This is the menu manager into which menu contribution items should be added for CreateSibling actions. + * + * + * @generated + */ + protected IMenuManager createSiblingMenuManager; + + /** + * This creates an instance of the contributor. + * + * + * @generated + */ + public PetrinetActionBarContributor() { + super(ADDITIONS_LAST_STYLE); + loadResourceAction = new LoadResourceAction(); + validateAction = new ValidateAction(); + controlAction = new ControlAction(); + } + + /** + * This adds Separators for editor additions to the tool bar. + * + * + * @generated + */ + @Override + public void contributeToToolBar(IToolBarManager toolBarManager) { + super.contributeToToolBar(toolBarManager); + toolBarManager.add(new Separator("petrinet-settings")); + toolBarManager.add(new Separator("petrinet-additions")); + } + + /** + * This adds to the menu bar a menu and some separators for editor additions, + * as well as the sub-menus for object creation items. + * + * + * @generated + */ + @Override + public void contributeToMenu(IMenuManager menuManager) { + super.contributeToMenu(menuManager); + + IMenuManager submenuManager = new MenuManager(PetriNetEditorPlugin.INSTANCE.getString("_UI_PetrinetEditor_menu"), "petrinetMenuID"); + menuManager.insertAfter("additions", submenuManager); + submenuManager.add(new Separator("settings")); + submenuManager.add(new Separator("actions")); + submenuManager.add(new Separator("additions")); + submenuManager.add(new Separator("additions-end")); + + // Prepare for CreateChild item addition or removal. + // + createChildMenuManager = new MenuManager(PetriNetEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item")); + submenuManager.insertBefore("additions", createChildMenuManager); + + // Prepare for CreateSibling item addition or removal. + // + createSiblingMenuManager = new MenuManager(PetriNetEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item")); + submenuManager.insertBefore("additions", createSiblingMenuManager); + + // Force an update because Eclipse hides empty menus now. + // + submenuManager.addMenuListener + (new IMenuListener() { + public void menuAboutToShow(IMenuManager menuManager) { + menuManager.updateAll(true); + } + }); + + addGlobalActions(submenuManager); + } + + /** + * When the active editor changes, this remembers the change and registers with it as a selection provider. + * + * + * @generated + */ + @Override + public void setActiveEditor(IEditorPart part) { + super.setActiveEditor(part); + activeEditorPart = part; + + // Switch to the new selection provider. + // + if (selectionProvider != null) { + selectionProvider.removeSelectionChangedListener(this); + } + if (part == null) { + selectionProvider = null; + } + else { + selectionProvider = part.getSite().getSelectionProvider(); + selectionProvider.addSelectionChangedListener(this); + + // Fake a selection changed event to update the menus. + // + if (selectionProvider.getSelection() != null) { + selectionChanged(new SelectionChangedEvent(selectionProvider, selectionProvider.getSelection())); + } + } + } + + /** + * This implements {@link org.eclipse.jface.viewers.ISelectionChangedListener}, + * handling {@link org.eclipse.jface.viewers.SelectionChangedEvent}s by querying for the children and siblings + * that can be added to the selected object and updating the menus accordingly. + * + * + * @generated + */ + public void selectionChanged(SelectionChangedEvent event) { + // Remove any menu items for old selection. + // + if (createChildMenuManager != null) { + depopulateManager(createChildMenuManager, createChildActions); + } + if (createSiblingMenuManager != null) { + depopulateManager(createSiblingMenuManager, createSiblingActions); + } + + // Query the new selection for appropriate new child/sibling descriptors + // + Collection newChildDescriptors = null; + Collection newSiblingDescriptors = null; + + ISelection selection = event.getSelection(); + if (selection instanceof IStructuredSelection && ((IStructuredSelection)selection).size() == 1) { + Object object = ((IStructuredSelection)selection).getFirstElement(); + + EditingDomain domain = ((IEditingDomainProvider)activeEditorPart).getEditingDomain(); + + newChildDescriptors = domain.getNewChildDescriptors(object, null); + newSiblingDescriptors = domain.getNewChildDescriptors(null, object); + } + + // Generate actions for selection; populate and redraw the menus. + // + createChildActions = generateCreateChildActions(newChildDescriptors, selection); + createSiblingActions = generateCreateSiblingActions(newSiblingDescriptors, selection); + + if (createChildMenuManager != null) { + populateManager(createChildMenuManager, createChildActions, null); + createChildMenuManager.update(true); + } + if (createSiblingMenuManager != null) { + populateManager(createSiblingMenuManager, createSiblingActions, null); + createSiblingMenuManager.update(true); + } + } + + /** + * This generates a {@link org.eclipse.emf.edit.ui.action.CreateChildAction} for each object in descriptors, + * and returns the collection of these actions. + * + * + * @generated + */ + protected Collection generateCreateChildActions(Collection descriptors, ISelection selection) { + Collection actions = new ArrayList(); + if (descriptors != null) { + for (Object descriptor : descriptors) { + actions.add(new CreateChildAction(activeEditorPart, selection, descriptor)); + } + } + return actions; + } + + /** + * This generates a {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} for each object in descriptors, + * and returns the collection of these actions. + * + * + * @generated + */ + protected Collection generateCreateSiblingActions(Collection descriptors, ISelection selection) { + Collection actions = new ArrayList(); + if (descriptors != null) { + for (Object descriptor : descriptors) { + actions.add(new CreateSiblingAction(activeEditorPart, selection, descriptor)); + } + } + return actions; + } + + /** + * This populates the specified manager with {@link org.eclipse.jface.action.ActionContributionItem}s + * based on the {@link org.eclipse.jface.action.IAction}s contained in the actions collection, + * by inserting them before the specified contribution item contributionID. + * If contributionID is null, they are simply added. + * + * + * @generated + */ + protected void populateManager(IContributionManager manager, Collection actions, String contributionID) { + if (actions != null) { + for (IAction action : actions) { + if (contributionID != null) { + manager.insertBefore(contributionID, action); + } + else { + manager.add(action); + } + } + } + } + + /** + * This removes from the specified manager all {@link org.eclipse.jface.action.ActionContributionItem}s + * based on the {@link org.eclipse.jface.action.IAction}s contained in the actions collection. + * + * + * @generated + */ + protected void depopulateManager(IContributionManager manager, Collection actions) { + if (actions != null) { + IContributionItem[] items = manager.getItems(); + for (int i = 0; i < items.length; i++) { + // Look into SubContributionItems + // + IContributionItem contributionItem = items[i]; + while (contributionItem instanceof SubContributionItem) { + contributionItem = ((SubContributionItem)contributionItem).getInnerItem(); + } + + // Delete the ActionContributionItems with matching action. + // + if (contributionItem instanceof ActionContributionItem) { + IAction action = ((ActionContributionItem)contributionItem).getAction(); + if (actions.contains(action)) { + manager.remove(contributionItem); + } + } + } + } + } + + /** + * This populates the pop-up menu before it appears. + * + * + * @generated + */ + @Override + public void menuAboutToShow(IMenuManager menuManager) { + super.menuAboutToShow(menuManager); + MenuManager submenuManager = null; + + submenuManager = new MenuManager(PetriNetEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item")); + populateManager(submenuManager, createChildActions, null); + menuManager.insertBefore("edit", submenuManager); + + submenuManager = new MenuManager(PetriNetEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item")); + populateManager(submenuManager, createSiblingActions, null); + menuManager.insertBefore("edit", submenuManager); + } + + /** + * This inserts global actions before the "additions-end" separator. + * + * + * @generated + */ + @Override + protected void addGlobalActions(IMenuManager menuManager) { + menuManager.insertAfter("additions-end", new Separator("ui-actions")); + menuManager.insertAfter("ui-actions", showPropertiesViewAction); + + refreshViewerAction.setEnabled(refreshViewerAction.isEnabled()); + menuManager.insertAfter("ui-actions", refreshViewerAction); + + super.addGlobalActions(menuManager); + } + + /** + * This ensures that a delete action will clean up all references to deleted objects. + * + * + * @generated + */ + @Override + protected boolean removeAllReferencesOnDelete() { + return true; + } + +} diff --git a/fr.n7.petriNet.editor/src/petrinet/presentation/PetrinetEditor.java b/fr.n7.petriNet.editor/src/petrinet/presentation/PetrinetEditor.java new file mode 100644 index 0000000..57c1f0f --- /dev/null +++ b/fr.n7.petriNet.editor/src/petrinet/presentation/PetrinetEditor.java @@ -0,0 +1,1823 @@ +/** + */ +package petrinet.presentation; + + +import java.io.IOException; +import java.io.InputStream; + +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.EventObject; +import java.util.HashMap; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; + +import org.eclipse.core.resources.IFile; +import org.eclipse.core.resources.IMarker; +import org.eclipse.core.resources.IResource; +import org.eclipse.core.resources.IResourceChangeEvent; +import org.eclipse.core.resources.IResourceChangeListener; +import org.eclipse.core.resources.IResourceDelta; +import org.eclipse.core.resources.IResourceDeltaVisitor; +import org.eclipse.core.resources.ResourcesPlugin; + +import org.eclipse.core.runtime.CoreException; +import org.eclipse.core.runtime.IPath; +import org.eclipse.core.runtime.IProgressMonitor; +import org.eclipse.core.runtime.NullProgressMonitor; + +import org.eclipse.jface.action.IMenuListener; +import org.eclipse.jface.action.IMenuManager; +import org.eclipse.jface.action.IStatusLineManager; +import org.eclipse.jface.action.IToolBarManager; +import org.eclipse.jface.action.MenuManager; +import org.eclipse.jface.action.Separator; + +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.jface.dialogs.ProgressMonitorDialog; + +import org.eclipse.jface.util.LocalSelectionTransfer; + +import org.eclipse.jface.viewers.ColumnWeightData; +import org.eclipse.jface.viewers.ISelection; +import org.eclipse.jface.viewers.ISelectionChangedListener; +import org.eclipse.jface.viewers.ISelectionProvider; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.viewers.ListViewer; +import org.eclipse.jface.viewers.SelectionChangedEvent; +import org.eclipse.jface.viewers.StructuredSelection; +import org.eclipse.jface.viewers.StructuredViewer; +import org.eclipse.jface.viewers.TableLayout; +import org.eclipse.jface.viewers.TableViewer; +import org.eclipse.jface.viewers.TreeViewer; +import org.eclipse.jface.viewers.Viewer; + +import org.eclipse.swt.SWT; + +import org.eclipse.swt.custom.CTabFolder; + +import org.eclipse.swt.dnd.DND; +import org.eclipse.swt.dnd.FileTransfer; +import org.eclipse.swt.dnd.Transfer; + +import org.eclipse.swt.events.ControlAdapter; +import org.eclipse.swt.events.ControlEvent; + +import org.eclipse.swt.graphics.Point; +import org.eclipse.swt.graphics.Rectangle; + +import org.eclipse.swt.layout.FillLayout; + +import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Menu; +import org.eclipse.swt.widgets.Table; +import org.eclipse.swt.widgets.TableColumn; +import org.eclipse.swt.widgets.Tree; +import org.eclipse.swt.widgets.TreeColumn; + +import org.eclipse.ui.IActionBars; +import org.eclipse.ui.IEditorInput; +import org.eclipse.ui.IEditorPart; +import org.eclipse.ui.IEditorSite; +import org.eclipse.ui.IPartListener; +import org.eclipse.ui.IWorkbenchPart; +import org.eclipse.ui.PartInitException; + +import org.eclipse.ui.dialogs.SaveAsDialog; + +import org.eclipse.ui.ide.IGotoMarker; + +import org.eclipse.ui.part.FileEditorInput; +import org.eclipse.ui.part.MultiPageEditorPart; + +import org.eclipse.ui.views.contentoutline.ContentOutline; +import org.eclipse.ui.views.contentoutline.ContentOutlinePage; +import org.eclipse.ui.views.contentoutline.IContentOutlinePage; + +import org.eclipse.ui.views.properties.IPropertySheetPage; +import org.eclipse.ui.views.properties.PropertySheet; +import org.eclipse.ui.views.properties.PropertySheetPage; + +import org.eclipse.emf.common.command.BasicCommandStack; +import org.eclipse.emf.common.command.Command; +import org.eclipse.emf.common.command.CommandStack; +import org.eclipse.emf.common.command.CommandStackListener; + +import org.eclipse.emf.common.notify.AdapterFactory; +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.common.ui.MarkerHelper; +import org.eclipse.emf.common.ui.ViewerPane; + +import org.eclipse.emf.common.ui.editor.ProblemEditorPart; + +import org.eclipse.emf.common.ui.viewer.IViewerProvider; + +import org.eclipse.emf.common.util.BasicDiagnostic; +import org.eclipse.emf.common.util.Diagnostic; +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.util.EContentAdapter; +import org.eclipse.emf.ecore.util.EcoreUtil; + +import org.eclipse.emf.edit.domain.AdapterFactoryEditingDomain; +import org.eclipse.emf.edit.domain.EditingDomain; +import org.eclipse.emf.edit.domain.IEditingDomainProvider; + +import org.eclipse.emf.edit.provider.AdapterFactoryItemDelegator; +import org.eclipse.emf.edit.provider.ComposedAdapterFactory; +import org.eclipse.emf.edit.provider.ReflectiveItemProviderAdapterFactory; + +import org.eclipse.emf.edit.provider.resource.ResourceItemProviderAdapterFactory; + +import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor; + +import org.eclipse.emf.edit.ui.celleditor.AdapterFactoryTreeEditor; + +import org.eclipse.emf.edit.ui.dnd.EditingDomainViewerDropAdapter; +import org.eclipse.emf.edit.ui.dnd.LocalTransfer; +import org.eclipse.emf.edit.ui.dnd.ViewerDragAdapter; + +import org.eclipse.emf.edit.ui.provider.AdapterFactoryContentProvider; +import org.eclipse.emf.edit.ui.provider.AdapterFactoryLabelProvider; +import org.eclipse.emf.edit.ui.provider.UnwrappingSelectionProvider; + +import org.eclipse.emf.edit.ui.util.EditUIMarkerHelper; +import org.eclipse.emf.edit.ui.util.EditUIUtil; + +import org.eclipse.emf.edit.ui.view.ExtendedPropertySheetPage; + +import petrinet.provider.PetrinetItemProviderAdapterFactory; + +import org.eclipse.ui.actions.WorkspaceModifyOperation; + + +/** + * This is an example of a Petrinet model editor. + * + * + * @generated + */ +public class PetrinetEditor + extends MultiPageEditorPart + implements IEditingDomainProvider, ISelectionProvider, IMenuListener, IViewerProvider, IGotoMarker { + /** + * This keeps track of the editing domain that is used to track all changes to the model. + * + * + * @generated + */ + protected AdapterFactoryEditingDomain editingDomain; + + /** + * This is the one adapter factory used for providing views of the model. + * + * + * @generated + */ + protected ComposedAdapterFactory adapterFactory; + + /** + * This is the content outline page. + * + * + * @generated + */ + protected IContentOutlinePage contentOutlinePage; + + /** + * This is a kludge... + * + * + * @generated + */ + protected IStatusLineManager contentOutlineStatusLineManager; + + /** + * This is the content outline page's viewer. + * + * + * @generated + */ + protected TreeViewer contentOutlineViewer; + + /** + * This is the property sheet page. + * + * + * @generated + */ + protected List propertySheetPages = new ArrayList(); + + /** + * This is the viewer that shadows the selection in the content outline. + * The parent relation must be correctly defined for this to work. + * + * + * @generated + */ + protected TreeViewer selectionViewer; + + /** + * This inverts the roll of parent and child in the content provider and show parents as a tree. + * + * + * @generated + */ + protected TreeViewer parentViewer; + + /** + * This shows how a tree view works. + * + * + * @generated + */ + protected TreeViewer treeViewer; + + /** + * This shows how a list view works. + * A list viewer doesn't support icons. + * + * + * @generated + */ + protected ListViewer listViewer; + + /** + * This shows how a table view works. + * A table can be used as a list with icons. + * + * + * @generated + */ + protected TableViewer tableViewer; + + /** + * This shows how a tree view with columns works. + * + * + * @generated + */ + protected TreeViewer treeViewerWithColumns; + + /** + * This keeps track of the active viewer pane, in the book. + * + * + * @generated + */ + protected ViewerPane currentViewerPane; + + /** + * This keeps track of the active content viewer, which may be either one of the viewers in the pages or the content outline viewer. + * + * + * @generated + */ + protected Viewer currentViewer; + + /** + * This listens to which ever viewer is active. + * + * + * @generated + */ + protected ISelectionChangedListener selectionChangedListener; + + /** + * This keeps track of all the {@link org.eclipse.jface.viewers.ISelectionChangedListener}s that are listening to this editor. + * + * + * @generated + */ + protected Collection selectionChangedListeners = new ArrayList(); + + /** + * This keeps track of the selection of the editor as a whole. + * + * + * @generated + */ + protected ISelection editorSelection = StructuredSelection.EMPTY; + + /** + * The MarkerHelper is responsible for creating workspace resource markers presented + * in Eclipse's Problems View. + * + * + * @generated + */ + protected MarkerHelper markerHelper = new EditUIMarkerHelper(); + + /** + * This listens for when the outline becomes active + * + * + * @generated + */ + protected IPartListener partListener = + new IPartListener() { + public void partActivated(IWorkbenchPart p) { + if (p instanceof ContentOutline) { + if (((ContentOutline)p).getCurrentPage() == contentOutlinePage) { + getActionBarContributor().setActiveEditor(PetrinetEditor.this); + + setCurrentViewer(contentOutlineViewer); + } + } + else if (p instanceof PropertySheet) { + if (propertySheetPages.contains(((PropertySheet)p).getCurrentPage())) { + getActionBarContributor().setActiveEditor(PetrinetEditor.this); + handleActivate(); + } + } + else if (p == PetrinetEditor.this) { + handleActivate(); + } + } + public void partBroughtToTop(IWorkbenchPart p) { + // Ignore. + } + public void partClosed(IWorkbenchPart p) { + // Ignore. + } + public void partDeactivated(IWorkbenchPart p) { + // Ignore. + } + public void partOpened(IWorkbenchPart p) { + // Ignore. + } + }; + + /** + * Resources that have been removed since last activation. + * + * + * @generated + */ + protected Collection removedResources = new ArrayList(); + + /** + * Resources that have been changed since last activation. + * + * + * @generated + */ + protected Collection changedResources = new ArrayList(); + + /** + * Resources that have been saved. + * + * + * @generated + */ + protected Collection savedResources = new ArrayList(); + + /** + * Map to store the diagnostic associated with a resource. + * + * + * @generated + */ + protected Map resourceToDiagnosticMap = new LinkedHashMap(); + + /** + * Controls whether the problem indication should be updated. + * + * + * @generated + */ + protected boolean updateProblemIndication = true; + + /** + * Adapter used to update the problem indication when resources are demanded loaded. + * + * + * @generated + */ + protected EContentAdapter problemIndicationAdapter = + new EContentAdapter() { + protected boolean dispatching; + + @Override + public void notifyChanged(Notification notification) { + if (notification.getNotifier() instanceof Resource) { + switch (notification.getFeatureID(Resource.class)) { + case Resource.RESOURCE__IS_LOADED: + case Resource.RESOURCE__ERRORS: + case Resource.RESOURCE__WARNINGS: { + Resource resource = (Resource)notification.getNotifier(); + Diagnostic diagnostic = analyzeResourceProblems(resource, null); + if (diagnostic.getSeverity() != Diagnostic.OK) { + resourceToDiagnosticMap.put(resource, diagnostic); + } + else { + resourceToDiagnosticMap.remove(resource); + } + dispatchUpdateProblemIndication(); + break; + } + } + } + else { + super.notifyChanged(notification); + } + } + + protected void dispatchUpdateProblemIndication() { + if (updateProblemIndication && !dispatching) { + dispatching = true; + getSite().getShell().getDisplay().asyncExec + (new Runnable() { + public void run() { + dispatching = false; + updateProblemIndication(); + } + }); + } + } + + @Override + protected void setTarget(Resource target) { + basicSetTarget(target); + } + + @Override + protected void unsetTarget(Resource target) { + basicUnsetTarget(target); + resourceToDiagnosticMap.remove(target); + dispatchUpdateProblemIndication(); + } + }; + + /** + * This listens for workspace changes. + * + * + * @generated + */ + protected IResourceChangeListener resourceChangeListener = + new IResourceChangeListener() { + public void resourceChanged(IResourceChangeEvent event) { + IResourceDelta delta = event.getDelta(); + try { + class ResourceDeltaVisitor implements IResourceDeltaVisitor { + protected ResourceSet resourceSet = editingDomain.getResourceSet(); + protected Collection changedResources = new ArrayList(); + protected Collection removedResources = new ArrayList(); + + public boolean visit(IResourceDelta delta) { + if (delta.getResource().getType() == IResource.FILE) { + if (delta.getKind() == IResourceDelta.REMOVED || + delta.getKind() == IResourceDelta.CHANGED && delta.getFlags() != IResourceDelta.MARKERS) { + Resource resource = resourceSet.getResource(URI.createPlatformResourceURI(delta.getFullPath().toString(), true), false); + if (resource != null) { + if (delta.getKind() == IResourceDelta.REMOVED) { + removedResources.add(resource); + } + else if (!savedResources.remove(resource)) { + changedResources.add(resource); + } + } + } + return false; + } + + return true; + } + + public Collection getChangedResources() { + return changedResources; + } + + public Collection getRemovedResources() { + return removedResources; + } + } + + final ResourceDeltaVisitor visitor = new ResourceDeltaVisitor(); + delta.accept(visitor); + + if (!visitor.getRemovedResources().isEmpty()) { + getSite().getShell().getDisplay().asyncExec + (new Runnable() { + public void run() { + removedResources.addAll(visitor.getRemovedResources()); + if (!isDirty()) { + getSite().getPage().closeEditor(PetrinetEditor.this, false); + } + } + }); + } + + if (!visitor.getChangedResources().isEmpty()) { + getSite().getShell().getDisplay().asyncExec + (new Runnable() { + public void run() { + changedResources.addAll(visitor.getChangedResources()); + if (getSite().getPage().getActiveEditor() == PetrinetEditor.this) { + handleActivate(); + } + } + }); + } + } + catch (CoreException exception) { + PetriNetEditorPlugin.INSTANCE.log(exception); + } + } + }; + + /** + * Handles activation of the editor or it's associated views. + * + * + * @generated + */ + protected void handleActivate() { + // Recompute the read only state. + // + if (editingDomain.getResourceToReadOnlyMap() != null) { + editingDomain.getResourceToReadOnlyMap().clear(); + + // Refresh any actions that may become enabled or disabled. + // + setSelection(getSelection()); + } + + if (!removedResources.isEmpty()) { + if (handleDirtyConflict()) { + getSite().getPage().closeEditor(PetrinetEditor.this, false); + } + else { + removedResources.clear(); + changedResources.clear(); + savedResources.clear(); + } + } + else if (!changedResources.isEmpty()) { + changedResources.removeAll(savedResources); + handleChangedResources(); + changedResources.clear(); + savedResources.clear(); + } + } + + /** + * Handles what to do with changed resources on activation. + * + * + * @generated + */ + protected void handleChangedResources() { + if (!changedResources.isEmpty() && (!isDirty() || handleDirtyConflict())) { + ResourceSet resourceSet = editingDomain.getResourceSet(); + if (isDirty()) { + changedResources.addAll(resourceSet.getResources()); + } + editingDomain.getCommandStack().flush(); + + updateProblemIndication = false; + for (Resource resource : changedResources) { + if (resource.isLoaded()) { + resource.unload(); + try { + resource.load(resourceSet.getLoadOptions()); + } + catch (IOException exception) { + if (!resourceToDiagnosticMap.containsKey(resource)) { + resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception)); + } + } + } + } + + if (AdapterFactoryEditingDomain.isStale(editorSelection)) { + setSelection(StructuredSelection.EMPTY); + } + + updateProblemIndication = true; + updateProblemIndication(); + } + } + + /** + * Updates the problems indication with the information described in the specified diagnostic. + * + * + * @generated + */ + protected void updateProblemIndication() { + if (updateProblemIndication) { + BasicDiagnostic diagnostic = + new BasicDiagnostic + (Diagnostic.OK, + "fr.n7.petriNet.editor", + 0, + null, + new Object [] { editingDomain.getResourceSet() }); + for (Diagnostic childDiagnostic : resourceToDiagnosticMap.values()) { + if (childDiagnostic.getSeverity() != Diagnostic.OK) { + diagnostic.add(childDiagnostic); + } + } + + int lastEditorPage = getPageCount() - 1; + if (lastEditorPage >= 0 && getEditor(lastEditorPage) instanceof ProblemEditorPart) { + ((ProblemEditorPart)getEditor(lastEditorPage)).setDiagnostic(diagnostic); + if (diagnostic.getSeverity() != Diagnostic.OK) { + setActivePage(lastEditorPage); + } + } + else if (diagnostic.getSeverity() != Diagnostic.OK) { + ProblemEditorPart problemEditorPart = new ProblemEditorPart(); + problemEditorPart.setDiagnostic(diagnostic); + problemEditorPart.setMarkerHelper(markerHelper); + try { + addPage(++lastEditorPage, problemEditorPart, getEditorInput()); + setPageText(lastEditorPage, problemEditorPart.getPartName()); + setActivePage(lastEditorPage); + showTabs(); + } + catch (PartInitException exception) { + PetriNetEditorPlugin.INSTANCE.log(exception); + } + } + + if (markerHelper.hasMarkers(editingDomain.getResourceSet())) { + try { + markerHelper.updateMarkers(diagnostic); + } + catch (CoreException exception) { + PetriNetEditorPlugin.INSTANCE.log(exception); + } + } + } + } + + /** + * Shows a dialog that asks if conflicting changes should be discarded. + * + * + * @generated + */ + protected boolean handleDirtyConflict() { + return + MessageDialog.openQuestion + (getSite().getShell(), + getString("_UI_FileConflict_label"), + getString("_WARN_FileConflict")); + } + + /** + * This creates a model editor. + * + * + * @generated + */ + public PetrinetEditor() { + super(); + initializeEditingDomain(); + } + + /** + * This sets up the editing domain for the model editor. + * + * + * @generated + */ + protected void initializeEditingDomain() { + // Create an adapter factory that yields item providers. + // + adapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE); + + adapterFactory.addAdapterFactory(new ResourceItemProviderAdapterFactory()); + adapterFactory.addAdapterFactory(new PetrinetItemProviderAdapterFactory()); + adapterFactory.addAdapterFactory(new ReflectiveItemProviderAdapterFactory()); + + // Create the command stack that will notify this editor as commands are executed. + // + BasicCommandStack commandStack = new BasicCommandStack(); + + // Add a listener to set the most recent command's affected objects to be the selection of the viewer with focus. + // + commandStack.addCommandStackListener + (new CommandStackListener() { + public void commandStackChanged(final EventObject event) { + getContainer().getDisplay().asyncExec + (new Runnable() { + public void run() { + firePropertyChange(IEditorPart.PROP_DIRTY); + + // Try to select the affected objects. + // + Command mostRecentCommand = ((CommandStack)event.getSource()).getMostRecentCommand(); + if (mostRecentCommand != null) { + setSelectionToViewer(mostRecentCommand.getAffectedObjects()); + } + for (Iterator i = propertySheetPages.iterator(); i.hasNext(); ) { + PropertySheetPage propertySheetPage = i.next(); + if (propertySheetPage.getControl() == null || propertySheetPage.getControl().isDisposed()) { + i.remove(); + } + else { + propertySheetPage.refresh(); + } + } + } + }); + } + }); + + // Create the editing domain with a special command stack. + // + editingDomain = new AdapterFactoryEditingDomain(adapterFactory, commandStack, new HashMap()); + } + + /** + * This is here for the listener to be able to call it. + * + * + * @generated + */ + @Override + protected void firePropertyChange(int action) { + super.firePropertyChange(action); + } + + /** + * This sets the selection into whichever viewer is active. + * + * + * @generated + */ + public void setSelectionToViewer(Collection collection) { + final Collection theSelection = collection; + // Make sure it's okay. + // + if (theSelection != null && !theSelection.isEmpty()) { + Runnable runnable = + new Runnable() { + public void run() { + // Try to select the items in the current content viewer of the editor. + // + if (currentViewer != null) { + currentViewer.setSelection(new StructuredSelection(theSelection.toArray()), true); + } + } + }; + getSite().getShell().getDisplay().asyncExec(runnable); + } + } + + /** + * This returns the editing domain as required by the {@link IEditingDomainProvider} interface. + * This is important for implementing the static methods of {@link AdapterFactoryEditingDomain} + * and for supporting {@link org.eclipse.emf.edit.ui.action.CommandAction}. + * + * + * @generated + */ + public EditingDomain getEditingDomain() { + return editingDomain; + } + + /** + * + * + * @generated + */ + public class ReverseAdapterFactoryContentProvider extends AdapterFactoryContentProvider { + /** + * + * + * @generated + */ + public ReverseAdapterFactoryContentProvider(AdapterFactory adapterFactory) { + super(adapterFactory); + } + + /** + * + * + * @generated + */ + @Override + public Object [] getElements(Object object) { + Object parent = super.getParent(object); + return (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray(); + } + + /** + * + * + * @generated + */ + @Override + public Object [] getChildren(Object object) { + Object parent = super.getParent(object); + return (parent == null ? Collections.EMPTY_SET : Collections.singleton(parent)).toArray(); + } + + /** + * + * + * @generated + */ + @Override + public boolean hasChildren(Object object) { + Object parent = super.getParent(object); + return parent != null; + } + + /** + * + * + * @generated + */ + @Override + public Object getParent(Object object) { + return null; + } + } + + /** + * + * + * @generated + */ + public void setCurrentViewerPane(ViewerPane viewerPane) { + if (currentViewerPane != viewerPane) { + if (currentViewerPane != null) { + currentViewerPane.showFocus(false); + } + currentViewerPane = viewerPane; + } + setCurrentViewer(currentViewerPane.getViewer()); + } + + /** + * This makes sure that one content viewer, either for the current page or the outline view, if it has focus, + * is the current one. + * + * + * @generated + */ + public void setCurrentViewer(Viewer viewer) { + // If it is changing... + // + if (currentViewer != viewer) { + if (selectionChangedListener == null) { + // Create the listener on demand. + // + selectionChangedListener = + new ISelectionChangedListener() { + // This just notifies those things that are affected by the section. + // + public void selectionChanged(SelectionChangedEvent selectionChangedEvent) { + setSelection(selectionChangedEvent.getSelection()); + } + }; + } + + // Stop listening to the old one. + // + if (currentViewer != null) { + currentViewer.removeSelectionChangedListener(selectionChangedListener); + } + + // Start listening to the new one. + // + if (viewer != null) { + viewer.addSelectionChangedListener(selectionChangedListener); + } + + // Remember it. + // + currentViewer = viewer; + + // Set the editors selection based on the current viewer's selection. + // + setSelection(currentViewer == null ? StructuredSelection.EMPTY : currentViewer.getSelection()); + } + } + + /** + * This returns the viewer as required by the {@link IViewerProvider} interface. + * + * + * @generated + */ + public Viewer getViewer() { + return currentViewer; + } + + /** + * This creates a context menu for the viewer and adds a listener as well registering the menu for extension. + * + * + * @generated + */ + protected void createContextMenuFor(StructuredViewer viewer) { + MenuManager contextMenu = new MenuManager("#PopUp"); + contextMenu.add(new Separator("additions")); + contextMenu.setRemoveAllWhenShown(true); + contextMenu.addMenuListener(this); + Menu menu= contextMenu.createContextMenu(viewer.getControl()); + viewer.getControl().setMenu(menu); + getSite().registerContextMenu(contextMenu, new UnwrappingSelectionProvider(viewer)); + + int dndOperations = DND.DROP_COPY | DND.DROP_MOVE | DND.DROP_LINK; + Transfer[] transfers = new Transfer[] { LocalTransfer.getInstance(), LocalSelectionTransfer.getTransfer(), FileTransfer.getInstance() }; + viewer.addDragSupport(dndOperations, transfers, new ViewerDragAdapter(viewer)); + viewer.addDropSupport(dndOperations, transfers, new EditingDomainViewerDropAdapter(editingDomain, viewer)); + } + + /** + * This is the method called to load a resource into the editing domain's resource set based on the editor's input. + * + * + * @generated + */ + public void createModel() { + URI resourceURI = EditUIUtil.getURI(getEditorInput(), editingDomain.getResourceSet().getURIConverter()); + Exception exception = null; + Resource resource = null; + try { + // Load the resource through the editing domain. + // + resource = editingDomain.getResourceSet().getResource(resourceURI, true); + } + catch (Exception e) { + exception = e; + resource = editingDomain.getResourceSet().getResource(resourceURI, false); + } + + Diagnostic diagnostic = analyzeResourceProblems(resource, exception); + if (diagnostic.getSeverity() != Diagnostic.OK) { + resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception)); + } + editingDomain.getResourceSet().eAdapters().add(problemIndicationAdapter); + } + + /** + * Returns a diagnostic describing the errors and warnings listed in the resource + * and the specified exception (if any). + * + * + * @generated + */ + public Diagnostic analyzeResourceProblems(Resource resource, Exception exception) { + boolean hasErrors = !resource.getErrors().isEmpty(); + if (hasErrors || !resource.getWarnings().isEmpty()) { + BasicDiagnostic basicDiagnostic = + new BasicDiagnostic + (hasErrors ? Diagnostic.ERROR : Diagnostic.WARNING, + "fr.n7.petriNet.editor", + 0, + getString("_UI_CreateModelError_message", resource.getURI()), + new Object [] { exception == null ? (Object)resource : exception }); + basicDiagnostic.merge(EcoreUtil.computeDiagnostic(resource, true)); + return basicDiagnostic; + } + else if (exception != null) { + return + new BasicDiagnostic + (Diagnostic.ERROR, + "fr.n7.petriNet.editor", + 0, + getString("_UI_CreateModelError_message", resource.getURI()), + new Object[] { exception }); + } + else { + return Diagnostic.OK_INSTANCE; + } + } + + /** + * This is the method used by the framework to install your own controls. + * + * + * @generated + */ + @Override + public void createPages() { + // Creates the model from the editor input + // + createModel(); + + // Only creates the other pages if there is something that can be edited + // + if (!getEditingDomain().getResourceSet().getResources().isEmpty()) { + // Create a page for the selection tree view. + // + { + ViewerPane viewerPane = + new ViewerPane(getSite().getPage(), PetrinetEditor.this) { + @Override + public Viewer createViewer(Composite composite) { + Tree tree = new Tree(composite, SWT.MULTI); + TreeViewer newTreeViewer = new TreeViewer(tree); + return newTreeViewer; + } + @Override + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + + selectionViewer = (TreeViewer)viewerPane.getViewer(); + selectionViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); + selectionViewer.setUseHashlookup(true); + + selectionViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + selectionViewer.setInput(editingDomain.getResourceSet()); + selectionViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true); + viewerPane.setTitle(editingDomain.getResourceSet()); + + new AdapterFactoryTreeEditor(selectionViewer.getTree(), adapterFactory); + + createContextMenuFor(selectionViewer); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_SelectionPage_label")); + } + + // Create a page for the parent tree view. + // + { + ViewerPane viewerPane = + new ViewerPane(getSite().getPage(), PetrinetEditor.this) { + @Override + public Viewer createViewer(Composite composite) { + Tree tree = new Tree(composite, SWT.MULTI); + TreeViewer newTreeViewer = new TreeViewer(tree); + return newTreeViewer; + } + @Override + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + + parentViewer = (TreeViewer)viewerPane.getViewer(); + parentViewer.setAutoExpandLevel(30); + parentViewer.setContentProvider(new ReverseAdapterFactoryContentProvider(adapterFactory)); + parentViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + + createContextMenuFor(parentViewer); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_ParentPage_label")); + } + + // This is the page for the list viewer + // + { + ViewerPane viewerPane = + new ViewerPane(getSite().getPage(), PetrinetEditor.this) { + @Override + public Viewer createViewer(Composite composite) { + return new ListViewer(composite); + } + @Override + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + listViewer = (ListViewer)viewerPane.getViewer(); + listViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); + listViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + + createContextMenuFor(listViewer); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_ListPage_label")); + } + + // This is the page for the tree viewer + // + { + ViewerPane viewerPane = + new ViewerPane(getSite().getPage(), PetrinetEditor.this) { + @Override + public Viewer createViewer(Composite composite) { + return new TreeViewer(composite); + } + @Override + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + treeViewer = (TreeViewer)viewerPane.getViewer(); + treeViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); + treeViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + + new AdapterFactoryTreeEditor(treeViewer.getTree(), adapterFactory); + + createContextMenuFor(treeViewer); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_TreePage_label")); + } + + // This is the page for the table viewer. + // + { + ViewerPane viewerPane = + new ViewerPane(getSite().getPage(), PetrinetEditor.this) { + @Override + public Viewer createViewer(Composite composite) { + return new TableViewer(composite); + } + @Override + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + tableViewer = (TableViewer)viewerPane.getViewer(); + + Table table = tableViewer.getTable(); + TableLayout layout = new TableLayout(); + table.setLayout(layout); + table.setHeaderVisible(true); + table.setLinesVisible(true); + + TableColumn objectColumn = new TableColumn(table, SWT.NONE); + layout.addColumnData(new ColumnWeightData(3, 100, true)); + objectColumn.setText(getString("_UI_ObjectColumn_label")); + objectColumn.setResizable(true); + + TableColumn selfColumn = new TableColumn(table, SWT.NONE); + layout.addColumnData(new ColumnWeightData(2, 100, true)); + selfColumn.setText(getString("_UI_SelfColumn_label")); + selfColumn.setResizable(true); + + tableViewer.setColumnProperties(new String [] {"a", "b"}); + tableViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); + tableViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + + createContextMenuFor(tableViewer); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_TablePage_label")); + } + + // This is the page for the table tree viewer. + // + { + ViewerPane viewerPane = + new ViewerPane(getSite().getPage(), PetrinetEditor.this) { + @Override + public Viewer createViewer(Composite composite) { + return new TreeViewer(composite); + } + @Override + public void requestActivation() { + super.requestActivation(); + setCurrentViewerPane(this); + } + }; + viewerPane.createControl(getContainer()); + + treeViewerWithColumns = (TreeViewer)viewerPane.getViewer(); + + Tree tree = treeViewerWithColumns.getTree(); + tree.setLayoutData(new FillLayout()); + tree.setHeaderVisible(true); + tree.setLinesVisible(true); + + TreeColumn objectColumn = new TreeColumn(tree, SWT.NONE); + objectColumn.setText(getString("_UI_ObjectColumn_label")); + objectColumn.setResizable(true); + objectColumn.setWidth(250); + + TreeColumn selfColumn = new TreeColumn(tree, SWT.NONE); + selfColumn.setText(getString("_UI_SelfColumn_label")); + selfColumn.setResizable(true); + selfColumn.setWidth(200); + + treeViewerWithColumns.setColumnProperties(new String [] {"a", "b"}); + treeViewerWithColumns.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); + treeViewerWithColumns.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + + createContextMenuFor(treeViewerWithColumns); + int pageIndex = addPage(viewerPane.getControl()); + setPageText(pageIndex, getString("_UI_TreeWithColumnsPage_label")); + } + + getSite().getShell().getDisplay().asyncExec + (new Runnable() { + public void run() { + if (!getContainer().isDisposed()) { + setActivePage(0); + } + } + }); + } + + // Ensures that this editor will only display the page's tab + // area if there are more than one page + // + getContainer().addControlListener + (new ControlAdapter() { + boolean guard = false; + @Override + public void controlResized(ControlEvent event) { + if (!guard) { + guard = true; + hideTabs(); + guard = false; + } + } + }); + + getSite().getShell().getDisplay().asyncExec + (new Runnable() { + public void run() { + updateProblemIndication(); + } + }); + } + + /** + * If there is just one page in the multi-page editor part, + * this hides the single tab at the bottom. + * + * + * @generated + */ + protected void hideTabs() { + if (getPageCount() <= 1) { + setPageText(0, ""); + if (getContainer() instanceof CTabFolder) { + Point point = getContainer().getSize(); + Rectangle clientArea = getContainer().getClientArea(); + getContainer().setSize(point.x, 2 * point.y - clientArea.height - clientArea.y); + } + } + } + + /** + * If there is more than one page in the multi-page editor part, + * this shows the tabs at the bottom. + * + * + * @generated + */ + protected void showTabs() { + if (getPageCount() > 1) { + setPageText(0, getString("_UI_SelectionPage_label")); + if (getContainer() instanceof CTabFolder) { + Point point = getContainer().getSize(); + Rectangle clientArea = getContainer().getClientArea(); + getContainer().setSize(point.x, clientArea.height + clientArea.y); + } + } + } + + /** + * This is used to track the active viewer. + * + * + * @generated + */ + @Override + protected void pageChange(int pageIndex) { + super.pageChange(pageIndex); + + if (contentOutlinePage != null) { + handleContentOutlineSelection(contentOutlinePage.getSelection()); + } + } + + /** + * This is how the framework determines which interfaces we implement. + * + * + * @generated + */ + @Override + public T getAdapter(Class key) { + if (key.equals(IContentOutlinePage.class)) { + return showOutlineView() ? key.cast(getContentOutlinePage()) : null; + } + else if (key.equals(IPropertySheetPage.class)) { + return key.cast(getPropertySheetPage()); + } + else if (key.equals(IGotoMarker.class)) { + return key.cast(this); + } + else { + return super.getAdapter(key); + } + } + + /** + * This accesses a cached version of the content outliner. + * + * + * @generated + */ + public IContentOutlinePage getContentOutlinePage() { + if (contentOutlinePage == null) { + // The content outline is just a tree. + // + class MyContentOutlinePage extends ContentOutlinePage { + @Override + public void createControl(Composite parent) { + super.createControl(parent); + contentOutlineViewer = getTreeViewer(); + contentOutlineViewer.addSelectionChangedListener(this); + + // Set up the tree viewer. + // + contentOutlineViewer.setUseHashlookup(true); + contentOutlineViewer.setContentProvider(new AdapterFactoryContentProvider(adapterFactory)); + contentOutlineViewer.setLabelProvider(new AdapterFactoryLabelProvider(adapterFactory)); + contentOutlineViewer.setInput(editingDomain.getResourceSet()); + + // Make sure our popups work. + // + createContextMenuFor(contentOutlineViewer); + + if (!editingDomain.getResourceSet().getResources().isEmpty()) { + // Select the root object in the view. + // + contentOutlineViewer.setSelection(new StructuredSelection(editingDomain.getResourceSet().getResources().get(0)), true); + } + } + + @Override + public void makeContributions(IMenuManager menuManager, IToolBarManager toolBarManager, IStatusLineManager statusLineManager) { + super.makeContributions(menuManager, toolBarManager, statusLineManager); + contentOutlineStatusLineManager = statusLineManager; + } + + @Override + public void setActionBars(IActionBars actionBars) { + super.setActionBars(actionBars); + getActionBarContributor().shareGlobalActions(this, actionBars); + } + } + + contentOutlinePage = new MyContentOutlinePage(); + + // Listen to selection so that we can handle it is a special way. + // + contentOutlinePage.addSelectionChangedListener + (new ISelectionChangedListener() { + // This ensures that we handle selections correctly. + // + public void selectionChanged(SelectionChangedEvent event) { + handleContentOutlineSelection(event.getSelection()); + } + }); + } + + return contentOutlinePage; + } + + /** + * This accesses a cached version of the property sheet. + * + * + * @generated + */ + public IPropertySheetPage getPropertySheetPage() { + PropertySheetPage propertySheetPage = + new ExtendedPropertySheetPage(editingDomain, ExtendedPropertySheetPage.Decoration.NONE, null, 0, false) { + @Override + public void setSelectionToViewer(List selection) { + PetrinetEditor.this.setSelectionToViewer(selection); + PetrinetEditor.this.setFocus(); + } + + @Override + public void setActionBars(IActionBars actionBars) { + super.setActionBars(actionBars); + getActionBarContributor().shareGlobalActions(this, actionBars); + } + }; + propertySheetPage.setPropertySourceProvider(new AdapterFactoryContentProvider(adapterFactory)); + propertySheetPages.add(propertySheetPage); + + return propertySheetPage; + } + + /** + * This deals with how we want selection in the outliner to affect the other views. + * + * + * @generated + */ + public void handleContentOutlineSelection(ISelection selection) { + if (currentViewerPane != null && !selection.isEmpty() && selection instanceof IStructuredSelection) { + Iterator selectedElements = ((IStructuredSelection)selection).iterator(); + if (selectedElements.hasNext()) { + // Get the first selected element. + // + Object selectedElement = selectedElements.next(); + + // If it's the selection viewer, then we want it to select the same selection as this selection. + // + if (currentViewerPane.getViewer() == selectionViewer) { + ArrayList selectionList = new ArrayList(); + selectionList.add(selectedElement); + while (selectedElements.hasNext()) { + selectionList.add(selectedElements.next()); + } + + // Set the selection to the widget. + // + selectionViewer.setSelection(new StructuredSelection(selectionList)); + } + else { + // Set the input to the widget. + // + if (currentViewerPane.getViewer().getInput() != selectedElement) { + currentViewerPane.getViewer().setInput(selectedElement); + currentViewerPane.setTitle(selectedElement); + } + } + } + } + } + + /** + * This is for implementing {@link IEditorPart} and simply tests the command stack. + * + * + * @generated + */ + @Override + public boolean isDirty() { + return ((BasicCommandStack)editingDomain.getCommandStack()).isSaveNeeded(); + } + + /** + * This is for implementing {@link IEditorPart} and simply saves the model file. + * + * + * @generated + */ + @Override + public void doSave(IProgressMonitor progressMonitor) { + // Save only resources that have actually changed. + // + final Map saveOptions = new HashMap(); + saveOptions.put(Resource.OPTION_SAVE_ONLY_IF_CHANGED, Resource.OPTION_SAVE_ONLY_IF_CHANGED_MEMORY_BUFFER); + saveOptions.put(Resource.OPTION_LINE_DELIMITER, Resource.OPTION_LINE_DELIMITER_UNSPECIFIED); + + // Do the work within an operation because this is a long running activity that modifies the workbench. + // + WorkspaceModifyOperation operation = + new WorkspaceModifyOperation() { + // This is the method that gets invoked when the operation runs. + // + @Override + public void execute(IProgressMonitor monitor) { + // Save the resources to the file system. + // + boolean first = true; + List resources = editingDomain.getResourceSet().getResources(); + for (int i = 0; i < resources.size(); ++i) { + Resource resource = resources.get(i); + if ((first || !resource.getContents().isEmpty() || isPersisted(resource)) && !editingDomain.isReadOnly(resource)) { + try { + long timeStamp = resource.getTimeStamp(); + resource.save(saveOptions); + if (resource.getTimeStamp() != timeStamp) { + savedResources.add(resource); + } + } + catch (Exception exception) { + resourceToDiagnosticMap.put(resource, analyzeResourceProblems(resource, exception)); + } + first = false; + } + } + } + }; + + updateProblemIndication = false; + try { + // This runs the options, and shows progress. + // + new ProgressMonitorDialog(getSite().getShell()).run(true, false, operation); + + // Refresh the necessary state. + // + ((BasicCommandStack)editingDomain.getCommandStack()).saveIsDone(); + firePropertyChange(IEditorPart.PROP_DIRTY); + } + catch (Exception exception) { + // Something went wrong that shouldn't. + // + PetriNetEditorPlugin.INSTANCE.log(exception); + } + updateProblemIndication = true; + updateProblemIndication(); + } + + /** + * This returns whether something has been persisted to the URI of the specified resource. + * The implementation uses the URI converter from the editor's resource set to try to open an input stream. + * + * + * @generated + */ + protected boolean isPersisted(Resource resource) { + boolean result = false; + try { + InputStream stream = editingDomain.getResourceSet().getURIConverter().createInputStream(resource.getURI()); + if (stream != null) { + result = true; + stream.close(); + } + } + catch (IOException e) { + // Ignore + } + return result; + } + + /** + * This always returns true because it is not currently supported. + * + * + * @generated + */ + @Override + public boolean isSaveAsAllowed() { + return true; + } + + /** + * This also changes the editor's input. + * + * + * @generated + */ + @Override + public void doSaveAs() { + SaveAsDialog saveAsDialog = new SaveAsDialog(getSite().getShell()); + saveAsDialog.open(); + IPath path = saveAsDialog.getResult(); + if (path != null) { + IFile file = ResourcesPlugin.getWorkspace().getRoot().getFile(path); + if (file != null) { + doSaveAs(URI.createPlatformResourceURI(file.getFullPath().toString(), true), new FileEditorInput(file)); + } + } + } + + /** + * + * + * @generated + */ + protected void doSaveAs(URI uri, IEditorInput editorInput) { + (editingDomain.getResourceSet().getResources().get(0)).setURI(uri); + setInputWithNotify(editorInput); + setPartName(editorInput.getName()); + IProgressMonitor progressMonitor = + getActionBars().getStatusLineManager() != null ? + getActionBars().getStatusLineManager().getProgressMonitor() : + new NullProgressMonitor(); + doSave(progressMonitor); + } + + /** + * + * + * @generated + */ + public void gotoMarker(IMarker marker) { + List targetObjects = markerHelper.getTargetObjects(editingDomain, marker); + if (!targetObjects.isEmpty()) { + setSelectionToViewer(targetObjects); + } + } + + /** + * This is called during startup. + * + * + * @generated + */ + @Override + public void init(IEditorSite site, IEditorInput editorInput) { + setSite(site); + setInputWithNotify(editorInput); + setPartName(editorInput.getName()); + site.setSelectionProvider(this); + site.getPage().addPartListener(partListener); + ResourcesPlugin.getWorkspace().addResourceChangeListener(resourceChangeListener, IResourceChangeEvent.POST_CHANGE); + } + + /** + * + * + * @generated + */ + @Override + public void setFocus() { + if (currentViewerPane != null) { + currentViewerPane.setFocus(); + } + else { + getControl(getActivePage()).setFocus(); + } + } + + /** + * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}. + * + * + * @generated + */ + public void addSelectionChangedListener(ISelectionChangedListener listener) { + selectionChangedListeners.add(listener); + } + + /** + * This implements {@link org.eclipse.jface.viewers.ISelectionProvider}. + * + * + * @generated + */ + public void removeSelectionChangedListener(ISelectionChangedListener listener) { + selectionChangedListeners.remove(listener); + } + + /** + * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to return this editor's overall selection. + * + * + * @generated + */ + public ISelection getSelection() { + return editorSelection; + } + + /** + * This implements {@link org.eclipse.jface.viewers.ISelectionProvider} to set this editor's overall selection. + * Calling this result will notify the listeners. + * + * + * @generated + */ + public void setSelection(ISelection selection) { + editorSelection = selection; + + for (ISelectionChangedListener listener : selectionChangedListeners) { + listener.selectionChanged(new SelectionChangedEvent(this, selection)); + } + setStatusLineManager(selection); + } + + /** + * + * + * @generated + */ + public void setStatusLineManager(ISelection selection) { + IStatusLineManager statusLineManager = currentViewer != null && currentViewer == contentOutlineViewer ? + contentOutlineStatusLineManager : getActionBars().getStatusLineManager(); + + if (statusLineManager != null) { + if (selection instanceof IStructuredSelection) { + Collection collection = ((IStructuredSelection)selection).toList(); + switch (collection.size()) { + case 0: { + statusLineManager.setMessage(getString("_UI_NoObjectSelected")); + break; + } + case 1: { + String text = new AdapterFactoryItemDelegator(adapterFactory).getText(collection.iterator().next()); + statusLineManager.setMessage(getString("_UI_SingleObjectSelected", text)); + break; + } + default: { + statusLineManager.setMessage(getString("_UI_MultiObjectSelected", Integer.toString(collection.size()))); + break; + } + } + } + else { + statusLineManager.setMessage(""); + } + } + } + + /** + * This looks up a string in the plugin's plugin.properties file. + * + * + * @generated + */ + private static String getString(String key) { + return PetriNetEditorPlugin.INSTANCE.getString(key); + } + + /** + * This looks up a string in plugin.properties, making a substitution. + * + * + * @generated + */ + private static String getString(String key, Object s1) { + return PetriNetEditorPlugin.INSTANCE.getString(key, new Object [] { s1 }); + } + + /** + * This implements {@link org.eclipse.jface.action.IMenuListener} to help fill the context menus with contributions from the Edit menu. + * + * + * @generated + */ + public void menuAboutToShow(IMenuManager menuManager) { + ((IMenuListener)getEditorSite().getActionBarContributor()).menuAboutToShow(menuManager); + } + + /** + * + * + * @generated + */ + public EditingDomainActionBarContributor getActionBarContributor() { + return (EditingDomainActionBarContributor)getEditorSite().getActionBarContributor(); + } + + /** + * + * + * @generated + */ + public IActionBars getActionBars() { + return getActionBarContributor().getActionBars(); + } + + /** + * + * + * @generated + */ + public AdapterFactory getAdapterFactory() { + return adapterFactory; + } + + /** + * + * + * @generated + */ + @Override + public void dispose() { + updateProblemIndication = false; + + ResourcesPlugin.getWorkspace().removeResourceChangeListener(resourceChangeListener); + + getSite().getPage().removePartListener(partListener); + + adapterFactory.dispose(); + + if (getActionBarContributor().getActiveEditor() == this) { + getActionBarContributor().setActiveEditor(null); + } + + for (PropertySheetPage propertySheetPage : propertySheetPages) { + propertySheetPage.dispose(); + } + + if (contentOutlinePage != null) { + contentOutlinePage.dispose(); + } + + super.dispose(); + } + + /** + * Returns whether the outline view should be presented to the user. + * + * + * @generated + */ + protected boolean showOutlineView() { + return true; + } +} diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/34/4093f2509c22001c10c68e4a8bb21dd1 b/fr.n7.petriNet.editor/src/petrinet/presentation/PetrinetModelWizard.java similarity index 81% rename from .metadata/.plugins/org.eclipse.core.resources/.history/34/4093f2509c22001c10c68e4a8bb21dd1 rename to fr.n7.petriNet.editor/src/petrinet/presentation/PetrinetModelWizard.java index 9475f65..51bd061 100644 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/34/4093f2509c22001c10c68e4a8bb21dd1 +++ b/fr.n7.petriNet.editor/src/petrinet/presentation/PetrinetModelWizard.java @@ -1,6 +1,6 @@ /** */ -package simplepdl.presentation; +package petrinet.presentation; import java.util.ArrayList; @@ -69,9 +69,9 @@ import org.eclipse.ui.dialogs.WizardNewFileCreationPage; import org.eclipse.ui.part.FileEditorInput; import org.eclipse.ui.part.ISetSelectionTarget; -import simplepdl.SimplepdlFactory; -import simplepdl.SimplepdlPackage; -import simplepdl.provider.SimplePDLEditPlugin; +import petrinet.PetrinetFactory; +import petrinet.PetrinetPackage; +import petrinet.provider.PetriNetEditPlugin; import org.eclipse.core.runtime.Path; @@ -91,7 +91,7 @@ import org.eclipse.ui.PartInitException; * * @generated */ -public class SimplepdlModelWizard extends Wizard implements INewWizard { +public class PetrinetModelWizard extends Wizard implements INewWizard { /** * The supported extensions for created files. * @@ -99,7 +99,7 @@ public class SimplepdlModelWizard extends Wizard implements INewWizard { * @generated */ public static final List FILE_EXTENSIONS = - Collections.unmodifiableList(Arrays.asList(SimplePDLEditorPlugin.INSTANCE.getString("_UI_SimplepdlEditorFilenameExtensions").split("\\s*,\\s*"))); + Collections.unmodifiableList(Arrays.asList(PetriNetEditorPlugin.INSTANCE.getString("_UI_PetrinetEditorFilenameExtensions").split("\\s*,\\s*"))); /** * A formatted list of supported file extensions, suitable for display. @@ -108,7 +108,7 @@ public class SimplepdlModelWizard extends Wizard implements INewWizard { * @generated */ public static final String FORMATTED_FILE_EXTENSIONS = - SimplePDLEditorPlugin.INSTANCE.getString("_UI_SimplepdlEditorFilenameExtensions").replaceAll("\\s*,\\s*", ", "); + PetriNetEditorPlugin.INSTANCE.getString("_UI_PetrinetEditorFilenameExtensions").replaceAll("\\s*,\\s*", ", "); /** * This caches an instance of the model package. @@ -116,7 +116,7 @@ public class SimplepdlModelWizard extends Wizard implements INewWizard { * * @generated */ - protected SimplepdlPackage simplepdlPackage = SimplepdlPackage.eINSTANCE; + protected PetrinetPackage petrinetPackage = PetrinetPackage.eINSTANCE; /** * This caches an instance of the model factory. @@ -124,7 +124,7 @@ public class SimplepdlModelWizard extends Wizard implements INewWizard { * * @generated */ - protected SimplepdlFactory simplepdlFactory = simplepdlPackage.getSimplepdlFactory(); + protected PetrinetFactory petrinetFactory = petrinetPackage.getPetrinetFactory(); /** * This is the file creation page. @@ -132,7 +132,7 @@ public class SimplepdlModelWizard extends Wizard implements INewWizard { * * @generated */ - protected SimplepdlModelWizardNewFileCreationPage newFileCreationPage; + protected PetrinetModelWizardNewFileCreationPage newFileCreationPage; /** * This is the initial object creation page. @@ -140,7 +140,7 @@ public class SimplepdlModelWizard extends Wizard implements INewWizard { * * @generated */ - protected SimplepdlModelWizardInitialObjectCreationPage initialObjectCreationPage; + protected PetrinetModelWizardInitialObjectCreationPage initialObjectCreationPage; /** * Remember the selection during initialization for populating the default container. @@ -175,8 +175,8 @@ public class SimplepdlModelWizard extends Wizard implements INewWizard { public void init(IWorkbench workbench, IStructuredSelection selection) { this.workbench = workbench; this.selection = selection; - setWindowTitle(SimplePDLEditorPlugin.INSTANCE.getString("_UI_Wizard_label")); - setDefaultPageImageDescriptor(ExtendedImageRegistry.INSTANCE.getImageDescriptor(SimplePDLEditorPlugin.INSTANCE.getImage("full/wizban/NewSimplepdl"))); + setWindowTitle(PetriNetEditorPlugin.INSTANCE.getString("_UI_Wizard_label")); + setDefaultPageImageDescriptor(ExtendedImageRegistry.INSTANCE.getImageDescriptor(PetriNetEditorPlugin.INSTANCE.getImage("full/wizban/NewPetrinet"))); } /** @@ -188,7 +188,7 @@ public class SimplepdlModelWizard extends Wizard implements INewWizard { protected Collection getInitialObjectNames() { if (initialObjectNames == null) { initialObjectNames = new ArrayList(); - for (EClassifier eClassifier : simplepdlPackage.getEClassifiers()) { + for (EClassifier eClassifier : petrinetPackage.getEClassifiers()) { if (eClassifier instanceof EClass) { EClass eClass = (EClass)eClassifier; if (!eClass.isAbstract()) { @@ -208,8 +208,8 @@ public class SimplepdlModelWizard extends Wizard implements INewWizard { * @generated */ protected EObject createInitialModel() { - EClass eClass = (EClass)simplepdlPackage.getEClassifier(initialObjectCreationPage.getInitialObjectName()); - EObject rootObject = simplepdlFactory.create(eClass); + EClass eClass = (EClass)petrinetPackage.getEClassifier(initialObjectCreationPage.getInitialObjectName()); + EObject rootObject = petrinetFactory.create(eClass); return rootObject; } @@ -259,7 +259,7 @@ public class SimplepdlModelWizard extends Wizard implements INewWizard { resource.save(options); } catch (Exception exception) { - SimplePDLEditorPlugin.INSTANCE.log(exception); + PetriNetEditorPlugin.INSTANCE.log(exception); } finally { progressMonitor.done(); @@ -292,14 +292,14 @@ public class SimplepdlModelWizard extends Wizard implements INewWizard { workbench.getEditorRegistry().getDefaultEditor(modelFile.getFullPath().toString()).getId()); } catch (PartInitException exception) { - MessageDialog.openError(workbenchWindow.getShell(), SimplePDLEditorPlugin.INSTANCE.getString("_UI_OpenEditorError_label"), exception.getMessage()); + MessageDialog.openError(workbenchWindow.getShell(), PetriNetEditorPlugin.INSTANCE.getString("_UI_OpenEditorError_label"), exception.getMessage()); return false; } return true; } catch (Exception exception) { - SimplePDLEditorPlugin.INSTANCE.log(exception); + PetriNetEditorPlugin.INSTANCE.log(exception); return false; } } @@ -310,14 +310,14 @@ public class SimplepdlModelWizard extends Wizard implements INewWizard { * * @generated */ - public class SimplepdlModelWizardNewFileCreationPage extends WizardNewFileCreationPage { + public class PetrinetModelWizardNewFileCreationPage extends WizardNewFileCreationPage { /** * Pass in the selection. * * * @generated */ - public SimplepdlModelWizardNewFileCreationPage(String pageId, IStructuredSelection selection) { + public PetrinetModelWizardNewFileCreationPage(String pageId, IStructuredSelection selection) { super(pageId, selection); } @@ -333,7 +333,7 @@ public class SimplepdlModelWizard extends Wizard implements INewWizard { String extension = new Path(getFileName()).getFileExtension(); if (extension == null || !FILE_EXTENSIONS.contains(extension)) { String key = FILE_EXTENSIONS.size() > 1 ? "_WARN_FilenameExtensions" : "_WARN_FilenameExtension"; - setErrorMessage(SimplePDLEditorPlugin.INSTANCE.getString(key, new Object [] { FORMATTED_FILE_EXTENSIONS })); + setErrorMessage(PetriNetEditorPlugin.INSTANCE.getString(key, new Object [] { FORMATTED_FILE_EXTENSIONS })); return false; } return true; @@ -357,7 +357,7 @@ public class SimplepdlModelWizard extends Wizard implements INewWizard { * * @generated */ - public class SimplepdlModelWizardInitialObjectCreationPage extends WizardPage { + public class PetrinetModelWizardInitialObjectCreationPage extends WizardPage { /** * * @@ -385,7 +385,7 @@ public class SimplepdlModelWizard extends Wizard implements INewWizard { * * @generated */ - public SimplepdlModelWizardInitialObjectCreationPage(String pageId) { + public PetrinetModelWizardInitialObjectCreationPage(String pageId) { super(pageId); } @@ -411,7 +411,7 @@ public class SimplepdlModelWizard extends Wizard implements INewWizard { Label containerLabel = new Label(composite, SWT.LEFT); { - containerLabel.setText(SimplePDLEditorPlugin.INSTANCE.getString("_UI_ModelObject")); + containerLabel.setText(PetriNetEditorPlugin.INSTANCE.getString("_UI_ModelObject")); GridData data = new GridData(); data.horizontalAlignment = GridData.FILL; @@ -437,7 +437,7 @@ public class SimplepdlModelWizard extends Wizard implements INewWizard { Label encodingLabel = new Label(composite, SWT.LEFT); { - encodingLabel.setText(SimplePDLEditorPlugin.INSTANCE.getString("_UI_XMLEncoding")); + encodingLabel.setText(PetriNetEditorPlugin.INSTANCE.getString("_UI_XMLEncoding")); GridData data = new GridData(); data.horizontalAlignment = GridData.FILL; @@ -536,10 +536,10 @@ public class SimplepdlModelWizard extends Wizard implements INewWizard { */ protected String getLabel(String typeName) { try { - return SimplePDLEditPlugin.INSTANCE.getString("_UI_" + typeName + "_type"); + return PetriNetEditPlugin.INSTANCE.getString("_UI_" + typeName + "_type"); } catch(MissingResourceException mre) { - SimplePDLEditorPlugin.INSTANCE.log(mre); + PetriNetEditorPlugin.INSTANCE.log(mre); } return typeName; } @@ -552,7 +552,7 @@ public class SimplepdlModelWizard extends Wizard implements INewWizard { protected Collection getEncodings() { if (encodings == null) { encodings = new ArrayList(); - for (StringTokenizer stringTokenizer = new StringTokenizer(SimplePDLEditorPlugin.INSTANCE.getString("_UI_XMLEncodingChoices")); stringTokenizer.hasMoreTokens(); ) { + for (StringTokenizer stringTokenizer = new StringTokenizer(PetriNetEditorPlugin.INSTANCE.getString("_UI_XMLEncodingChoices")); stringTokenizer.hasMoreTokens(); ) { encodings.add(stringTokenizer.nextToken()); } } @@ -570,10 +570,10 @@ public class SimplepdlModelWizard extends Wizard implements INewWizard { public void addPages() { // Create a page, set the title, and the initial model file name. // - newFileCreationPage = new SimplepdlModelWizardNewFileCreationPage("Whatever", selection); - newFileCreationPage.setTitle(SimplePDLEditorPlugin.INSTANCE.getString("_UI_SimplepdlModelWizard_label")); - newFileCreationPage.setDescription(SimplePDLEditorPlugin.INSTANCE.getString("_UI_SimplepdlModelWizard_description")); - newFileCreationPage.setFileName(SimplePDLEditorPlugin.INSTANCE.getString("_UI_SimplepdlEditorFilenameDefaultBase") + "." + FILE_EXTENSIONS.get(0)); + newFileCreationPage = new PetrinetModelWizardNewFileCreationPage("Whatever", selection); + newFileCreationPage.setTitle(PetriNetEditorPlugin.INSTANCE.getString("_UI_PetrinetModelWizard_label")); + newFileCreationPage.setDescription(PetriNetEditorPlugin.INSTANCE.getString("_UI_PetrinetModelWizard_description")); + newFileCreationPage.setFileName(PetriNetEditorPlugin.INSTANCE.getString("_UI_PetrinetEditorFilenameDefaultBase") + "." + FILE_EXTENSIONS.get(0)); addPage(newFileCreationPage); // Try and get the resource selection to determine a current directory for the file dialog. @@ -599,7 +599,7 @@ public class SimplepdlModelWizard extends Wizard implements INewWizard { // Make up a unique new name here. // - String defaultModelBaseFilename = SimplePDLEditorPlugin.INSTANCE.getString("_UI_SimplepdlEditorFilenameDefaultBase"); + String defaultModelBaseFilename = PetriNetEditorPlugin.INSTANCE.getString("_UI_PetrinetEditorFilenameDefaultBase"); String defaultModelFilenameExtension = FILE_EXTENSIONS.get(0); String modelFilename = defaultModelBaseFilename + "." + defaultModelFilenameExtension; for (int i = 1; ((IContainer)selectedResource).findMember(modelFilename) != null; ++i) { @@ -609,9 +609,9 @@ public class SimplepdlModelWizard extends Wizard implements INewWizard { } } } - initialObjectCreationPage = new SimplepdlModelWizardInitialObjectCreationPage("Whatever2"); - initialObjectCreationPage.setTitle(SimplePDLEditorPlugin.INSTANCE.getString("_UI_SimplepdlModelWizard_label")); - initialObjectCreationPage.setDescription(SimplePDLEditorPlugin.INSTANCE.getString("_UI_Wizard_initial_object_description")); + initialObjectCreationPage = new PetrinetModelWizardInitialObjectCreationPage("Whatever2"); + initialObjectCreationPage.setTitle(PetriNetEditorPlugin.INSTANCE.getString("_UI_PetrinetModelWizard_label")); + initialObjectCreationPage.setDescription(PetriNetEditorPlugin.INSTANCE.getString("_UI_Wizard_initial_object_description")); addPage(initialObjectCreationPage); } diff --git a/fr.n7.petriNet.exemple/.project b/fr.n7.petriNet.exemple/.project new file mode 100644 index 0000000..abb236d --- /dev/null +++ b/fr.n7.petriNet.exemple/.project @@ -0,0 +1,11 @@ + + + fr.n7.petriNet.exemple + + + + + + + + diff --git a/fr.n7.petriNet.exemple/My.petrinet b/fr.n7.petriNet.exemple/My.petrinet new file mode 100644 index 0000000..c7168e3 --- /dev/null +++ b/fr.n7.petriNet.exemple/My.petrinet @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/fr.n7.petriNet.feature/.project b/fr.n7.petriNet.feature/.project new file mode 100644 index 0000000..948d1df --- /dev/null +++ b/fr.n7.petriNet.feature/.project @@ -0,0 +1,17 @@ + + + fr.n7.petriNet.feature + + + + + + org.eclipse.pde.FeatureBuilder + + + + + + org.eclipse.pde.FeatureNature + + diff --git a/fr.n7.petriNet.feature/build.properties b/fr.n7.petriNet.feature/build.properties new file mode 100644 index 0000000..64f93a9 --- /dev/null +++ b/fr.n7.petriNet.feature/build.properties @@ -0,0 +1 @@ +bin.includes = feature.xml diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/36/804ec1bbe125001c17c8b331516ef2b0 b/fr.n7.petriNet.feature/feature.xml similarity index 81% rename from .metadata/.plugins/org.eclipse.core.resources/.history/36/804ec1bbe125001c17c8b331516ef2b0 rename to fr.n7.petriNet.feature/feature.xml index 81dcb11..8edae96 100644 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/36/804ec1bbe125001c17c8b331516ef2b0 +++ b/fr.n7.petriNet.feature/feature.xml @@ -1,7 +1,7 @@ @@ -17,28 +17,28 @@ + + + + + + diff --git a/fr.n7.petriNet.tests/.project b/fr.n7.petriNet.tests/.project new file mode 100644 index 0000000..dad5771 --- /dev/null +++ b/fr.n7.petriNet.tests/.project @@ -0,0 +1,28 @@ + + + fr.n7.petriNet.tests + + + + + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + + + org.eclipse.jdt.core.javanature + org.eclipse.pde.PluginNature + + diff --git a/fr.n7.petriNet.tests/META-INF/MANIFEST.MF b/fr.n7.petriNet.tests/META-INF/MANIFEST.MF new file mode 100644 index 0000000..c2b9f8c --- /dev/null +++ b/fr.n7.petriNet.tests/META-INF/MANIFEST.MF @@ -0,0 +1,16 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: fr.n7.petriNet.tests;singleton:=true +Automatic-Module-Name: fr.n7.petriNet.tests +Bundle-Version: 1.0.0.qualifier +Bundle-ClassPath: . +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Bundle-RequiredExecutionEnvironment: J2SE-1.5 +Export-Package: petrinet.tests +Require-Bundle: org.eclipse.core.runtime, + fr.n7.petriNet;visibility:=reexport, + org.eclipse.emf.ecore.xmi;visibility:=reexport, + org.junit;visibility:=reexport +Bundle-ActivationPolicy: lazy diff --git a/fr.n7.petriNet.tests/build.properties b/fr.n7.petriNet.tests/build.properties new file mode 100644 index 0000000..08af068 --- /dev/null +++ b/fr.n7.petriNet.tests/build.properties @@ -0,0 +1,8 @@ +# + +bin.includes = .,\ + META-INF/,\ + plugin.properties +jars.compile.order = . +source.. = src/ +output.. = bin/ diff --git a/fr.n7.petriNet.tests/plugin.properties b/fr.n7.petriNet.tests/plugin.properties new file mode 100644 index 0000000..e8ecc89 --- /dev/null +++ b/fr.n7.petriNet.tests/plugin.properties @@ -0,0 +1,4 @@ +# + +pluginName = PetriNet Tests +providerName = www.example.org diff --git a/fr.n7.petriNet.tests/src/petrinet/tests/ArcTest.java b/fr.n7.petriNet.tests/src/petrinet/tests/ArcTest.java new file mode 100644 index 0000000..35e7c5a --- /dev/null +++ b/fr.n7.petriNet.tests/src/petrinet/tests/ArcTest.java @@ -0,0 +1,89 @@ +/** + */ +package petrinet.tests; + +import junit.framework.TestCase; + +import junit.textui.TestRunner; + +import petrinet.Arc; +import petrinet.PetrinetFactory; + +/** + * + * A test case for the model object 'Arc'. + * + * @generated + */ +public class ArcTest extends TestCase { + + /** + * The fixture for this Arc test case. + * + * + * @generated + */ + protected Arc fixture = null; + + /** + * + * + * @generated + */ + public static void main(String[] args) { + TestRunner.run(ArcTest.class); + } + + /** + * Constructs a new Arc test case with the given name. + * + * + * @generated + */ + public ArcTest(String name) { + super(name); + } + + /** + * Sets the fixture for this Arc test case. + * + * + * @generated + */ + protected void setFixture(Arc fixture) { + this.fixture = fixture; + } + + /** + * Returns the fixture for this Arc test case. + * + * + * @generated + */ + protected Arc getFixture() { + return fixture; + } + + /** + * + * + * @see junit.framework.TestCase#setUp() + * @generated + */ + @Override + protected void setUp() throws Exception { + setFixture(PetrinetFactory.eINSTANCE.createArc()); + } + + /** + * + * + * @see junit.framework.TestCase#tearDown() + * @generated + */ + @Override + protected void tearDown() throws Exception { + setFixture(null); + } + +} //ArcTest diff --git a/fr.n7.petriNet.tests/src/petrinet/tests/NoeudTest.java b/fr.n7.petriNet.tests/src/petrinet/tests/NoeudTest.java new file mode 100644 index 0000000..3e82492 --- /dev/null +++ b/fr.n7.petriNet.tests/src/petrinet/tests/NoeudTest.java @@ -0,0 +1,55 @@ +/** + */ +package petrinet.tests; + +import junit.framework.TestCase; + +import petrinet.Noeud; + +/** + * + * A test case for the model object 'Noeud'. + * + * @generated + */ +public abstract class NoeudTest extends TestCase { + + /** + * The fixture for this Noeud test case. + * + * + * @generated + */ + protected Noeud fixture = null; + + /** + * Constructs a new Noeud test case with the given name. + * + * + * @generated + */ + public NoeudTest(String name) { + super(name); + } + + /** + * Sets the fixture for this Noeud test case. + * + * + * @generated + */ + protected void setFixture(Noeud fixture) { + this.fixture = fixture; + } + + /** + * Returns the fixture for this Noeud test case. + * + * + * @generated + */ + protected Noeud getFixture() { + return fixture; + } + +} //NoeudTest diff --git a/fr.n7.petriNet.tests/src/petrinet/tests/PetriNetAllTests.java b/fr.n7.petriNet.tests/src/petrinet/tests/PetriNetAllTests.java new file mode 100644 index 0000000..49bf5d2 --- /dev/null +++ b/fr.n7.petriNet.tests/src/petrinet/tests/PetriNetAllTests.java @@ -0,0 +1,46 @@ +/** + */ +package petrinet.tests; + +import junit.framework.Test; +import junit.framework.TestSuite; + +import junit.textui.TestRunner; + +/** + * + * A test suite for the 'PetriNet' model. + * + * @generated + */ +public class PetriNetAllTests extends TestSuite { + + /** + * + * + * @generated + */ + public static void main(String[] args) { + TestRunner.run(suite()); + } + + /** + * + * + * @generated + */ + public static Test suite() { + TestSuite suite = new PetriNetAllTests("PetriNet Tests"); + return suite; + } + + /** + * + * + * @generated + */ + public PetriNetAllTests(String name) { + super(name); + } + +} //PetriNetAllTests diff --git a/fr.n7.petriNet.tests/src/petrinet/tests/PetrinetExample.java b/fr.n7.petriNet.tests/src/petrinet/tests/PetrinetExample.java new file mode 100644 index 0000000..d5f9f46 --- /dev/null +++ b/fr.n7.petriNet.tests/src/petrinet/tests/PetrinetExample.java @@ -0,0 +1,121 @@ +/** + */ +package petrinet.tests; + +import java.io.File; +import java.io.IOException; + +import org.eclipse.emf.common.util.Diagnostic; +import org.eclipse.emf.common.util.URI; + +import org.eclipse.emf.ecore.EObject; + +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.util.Diagnostician; + +import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl; + +import petrinet.PetrinetFactory; +import petrinet.PetrinetPackage; +import petrinet.Place; + +/** + * + * A sample utility for the 'petrinet' package. + * + * @generated + */ +public class PetrinetExample { + /** + * + * Load all the argument file paths or URIs as instances of the model. + * + * @param args the file paths or URIs. + * @generated + */ + public static void main(String[] args) { + // Create a resource set to hold the resources. + // + ResourceSet resourceSet = new ResourceSetImpl(); + + // Register the appropriate resource factory to handle all file extensions. + // + resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put + (Resource.Factory.Registry.DEFAULT_EXTENSION, + new XMIResourceFactoryImpl()); + + // Register the package to ensure it is available during loading. + // + resourceSet.getPackageRegistry().put + (PetrinetPackage.eNS_URI, + PetrinetPackage.eINSTANCE); + + // If there are no arguments, emit an appropriate usage message. + // + if (args.length == 0) { + System.out.println("Enter a list of file paths or URIs that have content like this:"); + try { + Resource resource = resourceSet.createResource(URI.createURI("http:///My.petrinet")); + Place root = PetrinetFactory.eINSTANCE.createPlace(); + resource.getContents().add(root); + resource.save(System.out, null); + } + catch (IOException exception) { + exception.printStackTrace(); + } + } + else { + // Iterate over all the arguments. + // + for (int i = 0; i < args.length; ++i) { + // Construct the URI for the instance file. + // The argument is treated as a file path only if it denotes an existing file. + // Otherwise, it's directly treated as a URL. + // + File file = new File(args[i]); + URI uri = file.isFile() ? URI.createFileURI(file.getAbsolutePath()): URI.createURI(args[i]); + + try { + // Demand load resource for this file. + // + Resource resource = resourceSet.getResource(uri, true); + System.out.println("Loaded " + uri); + + // Validate the contents of the loaded resource. + // + for (EObject eObject : resource.getContents()) { + Diagnostic diagnostic = Diagnostician.INSTANCE.validate(eObject); + if (diagnostic.getSeverity() != Diagnostic.OK) { + printDiagnostic(diagnostic, ""); + } + } + } + catch (RuntimeException exception) { + System.out.println("Problem loading " + uri); + exception.printStackTrace(); + } + } + } + } + + /** + * + * Prints diagnostics with indentation. + * + * @param diagnostic the diagnostic to print. + * @param indent the indentation for printing. + * @generated + */ + protected static void printDiagnostic(Diagnostic diagnostic, String indent) { + System.out.print(indent); + System.out.println(diagnostic.getMessage()); + for (Diagnostic child : diagnostic.getChildren()) { + printDiagnostic(child, indent + " "); + } + } + +} //PetrinetExample diff --git a/fr.n7.petriNet.tests/src/petrinet/tests/PetrinetTests.java b/fr.n7.petriNet.tests/src/petrinet/tests/PetrinetTests.java new file mode 100644 index 0000000..0fb58fd --- /dev/null +++ b/fr.n7.petriNet.tests/src/petrinet/tests/PetrinetTests.java @@ -0,0 +1,46 @@ +/** + */ +package petrinet.tests; + +import junit.framework.Test; +import junit.framework.TestSuite; + +import junit.textui.TestRunner; + +/** + * + * A test suite for the 'petrinet' package. + * + * @generated + */ +public class PetrinetTests extends TestSuite { + + /** + * + * + * @generated + */ + public static void main(String[] args) { + TestRunner.run(suite()); + } + + /** + * + * + * @generated + */ + public static Test suite() { + TestSuite suite = new PetrinetTests("petrinet Tests"); + return suite; + } + + /** + * + * + * @generated + */ + public PetrinetTests(String name) { + super(name); + } + +} //PetrinetTests diff --git a/fr.n7.petriNet.tests/src/petrinet/tests/PlaceTest.java b/fr.n7.petriNet.tests/src/petrinet/tests/PlaceTest.java new file mode 100644 index 0000000..1122854 --- /dev/null +++ b/fr.n7.petriNet.tests/src/petrinet/tests/PlaceTest.java @@ -0,0 +1,70 @@ +/** + */ +package petrinet.tests; + +import junit.textui.TestRunner; + +import petrinet.PetrinetFactory; +import petrinet.Place; + +/** + * + * A test case for the model object 'Place'. + * + * @generated + */ +public class PlaceTest extends NoeudTest { + + /** + * + * + * @generated + */ + public static void main(String[] args) { + TestRunner.run(PlaceTest.class); + } + + /** + * Constructs a new Place test case with the given name. + * + * + * @generated + */ + public PlaceTest(String name) { + super(name); + } + + /** + * Returns the fixture for this Place test case. + * + * + * @generated + */ + @Override + protected Place getFixture() { + return (Place)fixture; + } + + /** + * + * + * @see junit.framework.TestCase#setUp() + * @generated + */ + @Override + protected void setUp() throws Exception { + setFixture(PetrinetFactory.eINSTANCE.createPlace()); + } + + /** + * + * + * @see junit.framework.TestCase#tearDown() + * @generated + */ + @Override + protected void tearDown() throws Exception { + setFixture(null); + } + +} //PlaceTest diff --git a/fr.n7.petriNet.tests/src/petrinet/tests/ReseauTest.java b/fr.n7.petriNet.tests/src/petrinet/tests/ReseauTest.java new file mode 100644 index 0000000..01bcc39 --- /dev/null +++ b/fr.n7.petriNet.tests/src/petrinet/tests/ReseauTest.java @@ -0,0 +1,89 @@ +/** + */ +package petrinet.tests; + +import junit.framework.TestCase; + +import junit.textui.TestRunner; + +import petrinet.PetrinetFactory; +import petrinet.Reseau; + +/** + * + * A test case for the model object 'Reseau'. + * + * @generated + */ +public class ReseauTest extends TestCase { + + /** + * The fixture for this Reseau test case. + * + * + * @generated + */ + protected Reseau fixture = null; + + /** + * + * + * @generated + */ + public static void main(String[] args) { + TestRunner.run(ReseauTest.class); + } + + /** + * Constructs a new Reseau test case with the given name. + * + * + * @generated + */ + public ReseauTest(String name) { + super(name); + } + + /** + * Sets the fixture for this Reseau test case. + * + * + * @generated + */ + protected void setFixture(Reseau fixture) { + this.fixture = fixture; + } + + /** + * Returns the fixture for this Reseau test case. + * + * + * @generated + */ + protected Reseau getFixture() { + return fixture; + } + + /** + * + * + * @see junit.framework.TestCase#setUp() + * @generated + */ + @Override + protected void setUp() throws Exception { + setFixture(PetrinetFactory.eINSTANCE.createReseau()); + } + + /** + * + * + * @see junit.framework.TestCase#tearDown() + * @generated + */ + @Override + protected void tearDown() throws Exception { + setFixture(null); + } + +} //ReseauTest diff --git a/fr.n7.petriNet.tests/src/petrinet/tests/TransitionTest.java b/fr.n7.petriNet.tests/src/petrinet/tests/TransitionTest.java new file mode 100644 index 0000000..83157ec --- /dev/null +++ b/fr.n7.petriNet.tests/src/petrinet/tests/TransitionTest.java @@ -0,0 +1,70 @@ +/** + */ +package petrinet.tests; + +import junit.textui.TestRunner; + +import petrinet.PetrinetFactory; +import petrinet.Transition; + +/** + * + * A test case for the model object 'Transition'. + * + * @generated + */ +public class TransitionTest extends NoeudTest { + + /** + * + * + * @generated + */ + public static void main(String[] args) { + TestRunner.run(TransitionTest.class); + } + + /** + * Constructs a new Transition test case with the given name. + * + * + * @generated + */ + public TransitionTest(String name) { + super(name); + } + + /** + * Returns the fixture for this Transition test case. + * + * + * @generated + */ + @Override + protected Transition getFixture() { + return (Transition)fixture; + } + + /** + * + * + * @see junit.framework.TestCase#setUp() + * @generated + */ + @Override + protected void setUp() throws Exception { + setFixture(PetrinetFactory.eINSTANCE.createTransition()); + } + + /** + * + * + * @see junit.framework.TestCase#tearDown() + * @generated + */ + @Override + protected void tearDown() throws Exception { + setFixture(null); + } + +} //TransitionTest diff --git a/fr.n7.petriNET.toTINA/.classpath b/fr.n7.petriNet.totina/.classpath similarity index 100% rename from fr.n7.petriNET.toTINA/.classpath rename to fr.n7.petriNet.totina/.classpath diff --git a/fr.n7.petriNET.toTINA/.project b/fr.n7.petriNet.totina/.project similarity index 97% rename from fr.n7.petriNET.toTINA/.project rename to fr.n7.petriNet.totina/.project index 10d03d8..a5b4430 100644 --- a/fr.n7.petriNET.toTINA/.project +++ b/fr.n7.petriNet.totina/.project @@ -1,6 +1,6 @@ - fr.n7.petriNET.toTINA + fr.n7.petriNet.totina diff --git a/fr.n7.petriNET.toTINA/META-INF/MANIFEST.MF b/fr.n7.petriNet.totina/META-INF/MANIFEST.MF similarity index 76% rename from fr.n7.petriNET.toTINA/META-INF/MANIFEST.MF rename to fr.n7.petriNet.totina/META-INF/MANIFEST.MF index 05aee54..1970eb3 100644 --- a/fr.n7.petriNET.toTINA/META-INF/MANIFEST.MF +++ b/fr.n7.petriNet.totina/META-INF/MANIFEST.MF @@ -1,9 +1,9 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 -Bundle-Name: Acceleo ToTINA Module Runtime Plug-in -Bundle-SymbolicName: fr.n7.petriNET.toTINA +Bundle-Name: Acceleo Totina Module Runtime Plug-in +Bundle-SymbolicName: fr.n7.petriNet.totina Bundle-Version: 1.0.0.qualifier -Bundle-Activator: fr.n7.petriNET.toTINA.Activator +Bundle-Activator: fr.n7.petriNet.totina.Activator Bundle-Vendor: Eclipse Modeling Project Require-Bundle: org.eclipse.core.runtime, org.eclipse.emf.ecore, @@ -19,5 +19,5 @@ Require-Bundle: org.eclipse.core.runtime, Bundle-RequiredExecutionEnvironment: JavaSE-11 Bundle-ActivationPolicy: lazy Eclipse-LazyStart: true -Export-Package: fr.n7.petriNET.toTINA.main +Export-Package: fr.n7.petriNet.totina.main diff --git a/fr.n7.petriNET.toTINA/build.properties b/fr.n7.petriNet.totina/build.properties similarity index 100% rename from fr.n7.petriNET.toTINA/build.properties rename to fr.n7.petriNet.totina/build.properties diff --git a/fr.n7.petriNET.toTINA/src/fr/n7/petriNET/toTINA/Activator.java b/fr.n7.petriNet.totina/src/fr/n7/petriNet/totina/Activator.java similarity index 94% rename from fr.n7.petriNET.toTINA/src/fr/n7/petriNET/toTINA/Activator.java rename to fr.n7.petriNet.totina/src/fr/n7/petriNet/totina/Activator.java index 5b6711d..8704f31 100644 --- a/fr.n7.petriNET.toTINA/src/fr/n7/petriNET/toTINA/Activator.java +++ b/fr.n7.petriNet.totina/src/fr/n7/petriNet/totina/Activator.java @@ -8,7 +8,7 @@ * Contributors: * Obeo - initial API and implementation *******************************************************************************/ -package fr.n7.petriNET.toTINA; +package fr.n7.petriNet.totina; import org.eclipse.core.runtime.Plugin; import org.osgi.framework.BundleContext; @@ -21,7 +21,7 @@ public class Activator extends Plugin { /** * The plug-in ID. */ - public static final String PLUGIN_ID = "fr.n7.petriNET.toTINA"; + public static final String PLUGIN_ID = "fr.n7.petriNet.totina"; /** * The shared instance. diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6f/505d4c3ef525001c1bd4a5e084302d35 b/fr.n7.petriNet.totina/src/fr/n7/petriNet/totina/main/ToTina.java similarity index 97% rename from .metadata/.plugins/org.eclipse.core.resources/.history/6f/505d4c3ef525001c1bd4a5e084302d35 rename to fr.n7.petriNet.totina/src/fr/n7/petriNet/totina/main/ToTina.java index b72ff3f..0b88e0a 100644 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/6f/505d4c3ef525001c1bd4a5e084302d35 +++ b/fr.n7.petriNet.totina/src/fr/n7/petriNet/totina/main/ToTina.java @@ -8,7 +8,7 @@ * Contributors: * Obeo - initial API and implementation *******************************************************************************/ -package fr.n7.petriNET.toTINA.main; +package fr.n7.petriNet.totina.main; import java.io.File; import java.io.IOException; @@ -25,24 +25,24 @@ import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.resource.ResourceSet; /** - * Entry point of the 'ToTINA' generation module. + * Entry point of the 'ToTina' generation module. * * @generated */ -public class ToTINA extends AbstractAcceleoGenerator { +public class ToTina extends AbstractAcceleoGenerator { /** * The name of the module. * * @generated */ - public static final String MODULE_FILE_NAME = "/fr/n7/petriNET/toTINA/main/toTINA"; + public static final String MODULE_FILE_NAME = "/fr/n7/petriNet/totina/main/toTina"; /** * The name of the templates that are to be generated. * * @generated */ - public static final String[] TEMPLATE_NAMES = { "networkToTINA" }; + public static final String[] TEMPLATE_NAMES = { "reseauToTina" }; /** * The list of properties files from the launch parameters (Launch configuration). @@ -65,7 +65,7 @@ public class ToTINA extends AbstractAcceleoGenerator { * * @generated */ - public ToTINA() { + public ToTina() { // Empty implementation } @@ -85,7 +85,7 @@ public class ToTINA extends AbstractAcceleoGenerator { * the model cannot be loaded. * @generated */ - public ToTINA(URI modelURI, File targetFolder, + public ToTina(URI modelURI, File targetFolder, List arguments) throws IOException { initialize(modelURI, targetFolder, arguments); } @@ -106,7 +106,7 @@ public class ToTINA extends AbstractAcceleoGenerator { * This can be thrown in two scenarios : the module cannot be found, or it cannot be loaded. * @generated */ - public ToTINA(EObject model, File targetFolder, + public ToTina(EObject model, File targetFolder, List arguments) throws IOException { initialize(model, targetFolder, arguments); } @@ -141,7 +141,7 @@ public class ToTINA extends AbstractAcceleoGenerator { * add in "arguments" this "String" attribute. */ - ToTINA generator = new ToTINA(modelURI, folder, arguments); + ToTina generator = new ToTina(modelURI, folder, arguments); /* * Add the properties from the launch arguments. diff --git a/fr.n7.petriNet.totina/src/fr/n7/petriNet/totina/main/toTina.mtl b/fr.n7.petriNet.totina/src/fr/n7/petriNet/totina/main/toTina.mtl new file mode 100644 index 0000000..bae139e --- /dev/null +++ b/fr.n7.petriNet.totina/src/fr/n7/petriNet/totina/main/toTina.mtl @@ -0,0 +1,10 @@ +[comment encoding = UTF-8 /] +[module toTina('http://petrinet')] + + +[template public reseauToTina(anArc : Arc)] +[comment @main/] +[file (anArc.name, false, 'UTF-8')] + +[/file] +[/template] diff --git a/fr.n7.petriNET.toTINA/tasks/toTINA.xml b/fr.n7.petriNet.totina/tasks/toTina.xml similarity index 82% rename from fr.n7.petriNET.toTINA/tasks/toTINA.xml rename to fr.n7.petriNet.totina/tasks/toTina.xml index 84882c9..10e4aa0 100644 --- a/fr.n7.petriNET.toTINA/tasks/toTINA.xml +++ b/fr.n7.petriNet.totina/tasks/toTina.xml @@ -1,11 +1,11 @@ - + - - + + @@ -31,23 +31,23 @@ - - + + - - + + - - + + - - + + @@ -57,8 +57,8 @@ In case of problem you can also try with all the jar available in your Eclipse Keep in mind that having two versions of the same jar can create problems --> - - + + diff --git a/fr.n7.petriNET.toTINA/tasks/toTINATarget.xml b/fr.n7.petriNet.totina/tasks/toTinaTarget.xml similarity index 69% rename from fr.n7.petriNET.toTINA/tasks/toTINATarget.xml rename to fr.n7.petriNet.totina/tasks/toTinaTarget.xml index f6ed663..2d949ef 100644 --- a/fr.n7.petriNET.toTINA/tasks/toTINATarget.xml +++ b/fr.n7.petriNet.totina/tasks/toTinaTarget.xml @@ -3,15 +3,15 @@ - - + + - - + + diff --git a/fr.n7.petriNet/.classpath b/fr.n7.petriNet/.classpath new file mode 100644 index 0000000..c3ba59e --- /dev/null +++ b/fr.n7.petriNet/.classpath @@ -0,0 +1,7 @@ + + + + + + + diff --git a/fr.n7.petriNet/.project b/fr.n7.petriNet/.project index 7ed2a3b..5fee183 100644 --- a/fr.n7.petriNet/.project +++ b/fr.n7.petriNet/.project @@ -5,7 +5,24 @@ + + org.eclipse.jdt.core.javabuilder + + + + + org.eclipse.pde.ManifestBuilder + + + + + org.eclipse.pde.SchemaBuilder + + + + org.eclipse.jdt.core.javanature + org.eclipse.pde.PluginNature diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/93/405bf25ac121001c139dafbb58acffc5 b/fr.n7.petriNet/META-INF/MANIFEST.MF similarity index 69% rename from .metadata/.plugins/org.eclipse.core.resources/.history/93/405bf25ac121001c139dafbb58acffc5 rename to fr.n7.petriNet/META-INF/MANIFEST.MF index 5025481..cefd11c 100644 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/93/405bf25ac121001c139dafbb58acffc5 +++ b/fr.n7.petriNet/META-INF/MANIFEST.MF @@ -1,16 +1,16 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginName -Bundle-SymbolicName: fr.n7.simplePDL;singleton:=true -Automatic-Module-Name: fr.n7.simplePDL +Bundle-SymbolicName: fr.n7.petriNet;singleton:=true +Automatic-Module-Name: fr.n7.petriNet Bundle-Version: 1.0.0.qualifier Bundle-ClassPath: . Bundle-Vendor: %providerName Bundle-Localization: plugin Bundle-RequiredExecutionEnvironment: J2SE-1.5 -Export-Package: simplepdl, - simplepdl.impl, - simplepdl.util +Export-Package: petrinet, + petrinet.impl, + petrinet.util Require-Bundle: org.eclipse.core.runtime, org.eclipse.emf.ecore;visibility:=reexport Bundle-ActivationPolicy: lazy diff --git a/fr.n7.petriNet/build.properties b/fr.n7.petriNet/build.properties new file mode 100644 index 0000000..4465407 --- /dev/null +++ b/fr.n7.petriNet/build.properties @@ -0,0 +1,10 @@ +# + +bin.includes = .,\ + model/,\ + META-INF/,\ + plugin.xml,\ + plugin.properties +jars.compile.order = . +source.. = src/ +output.. = bin/ diff --git a/fr.n7.petriNet/petriNet.ecore b/fr.n7.petriNet/petriNet.ecore index b78d233..d71d670 100644 --- a/fr.n7.petriNet/petriNet.ecore +++ b/fr.n7.petriNet/petriNet.ecore @@ -6,10 +6,10 @@ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/> - + - + diff --git a/fr.n7.petriNet/petriNet.genmodel b/fr.n7.petriNet/petriNet.genmodel new file mode 100644 index 0000000..f454b98 --- /dev/null +++ b/fr.n7.petriNet/petriNet.genmodel @@ -0,0 +1,28 @@ + + + petriNet.ecore + + + + + + + + + + + + + + + + + + + + + diff --git a/fr.n7.petriNet/plugin.properties b/fr.n7.petriNet/plugin.properties new file mode 100644 index 0000000..12deda7 --- /dev/null +++ b/fr.n7.petriNet/plugin.properties @@ -0,0 +1,4 @@ +# + +pluginName = PetriNet Model +providerName = www.example.org diff --git a/fr.n7.petriNet/plugin.xml b/fr.n7.petriNet/plugin.xml new file mode 100644 index 0000000..8b6168e --- /dev/null +++ b/fr.n7.petriNet/plugin.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + diff --git a/fr.n7.petriNet/src/petrinet/Arc.java b/fr.n7.petriNet/src/petrinet/Arc.java new file mode 100644 index 0000000..7bb8319 --- /dev/null +++ b/fr.n7.petriNet/src/petrinet/Arc.java @@ -0,0 +1,92 @@ +/** + */ +package petrinet; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Arc'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link petrinet.Arc#getPoids Poids}
  • + *
  • {@link petrinet.Arc#isSortant Sortant}
  • + *
  • {@link petrinet.Arc#getCible Cible}
  • + *
+ * + * @see petrinet.PetrinetPackage#getArc() + * @model + * @generated + */ +public interface Arc extends EObject { + /** + * Returns the value of the 'Poids' attribute. + * + * + * @return the value of the 'Poids' attribute. + * @see #setPoids(int) + * @see petrinet.PetrinetPackage#getArc_Poids() + * @model required="true" + * @generated + */ + int getPoids(); + + /** + * Sets the value of the '{@link petrinet.Arc#getPoids Poids}' attribute. + * + * + * @param value the new value of the 'Poids' attribute. + * @see #getPoids() + * @generated + */ + void setPoids(int value); + + /** + * Returns the value of the 'Sortant' attribute. + * + * + * @return the value of the 'Sortant' attribute. + * @see #setSortant(boolean) + * @see petrinet.PetrinetPackage#getArc_Sortant() + * @model required="true" + * @generated + */ + boolean isSortant(); + + /** + * Sets the value of the '{@link petrinet.Arc#isSortant Sortant}' attribute. + * + * + * @param value the new value of the 'Sortant' attribute. + * @see #isSortant() + * @generated + */ + void setSortant(boolean value); + + /** + * Returns the value of the 'Cible' reference. + * + * + * @return the value of the 'Cible' reference. + * @see #setCible(Place) + * @see petrinet.PetrinetPackage#getArc_Cible() + * @model required="true" + * @generated + */ + Place getCible(); + + /** + * Sets the value of the '{@link petrinet.Arc#getCible Cible}' reference. + * + * + * @param value the new value of the 'Cible' reference. + * @see #getCible() + * @generated + */ + void setCible(Place value); + +} // Arc diff --git a/fr.n7.petriNet/src/petrinet/Noeud.java b/fr.n7.petriNet/src/petrinet/Noeud.java new file mode 100644 index 0000000..0bde8f8 --- /dev/null +++ b/fr.n7.petriNet/src/petrinet/Noeud.java @@ -0,0 +1,46 @@ +/** + */ +package petrinet; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Noeud'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link petrinet.Noeud#getName Name}
  • + *
+ * + * @see petrinet.PetrinetPackage#getNoeud() + * @model abstract="true" + * @generated + */ +public interface Noeud extends EObject { + /** + * Returns the value of the 'Name' attribute. + * + * + * @return the value of the 'Name' attribute. + * @see #setName(String) + * @see petrinet.PetrinetPackage#getNoeud_Name() + * @model required="true" + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link petrinet.Noeud#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + +} // Noeud diff --git a/fr.n7.petriNet/src/petrinet/PetrinetFactory.java b/fr.n7.petriNet/src/petrinet/PetrinetFactory.java new file mode 100644 index 0000000..aa89329 --- /dev/null +++ b/fr.n7.petriNet/src/petrinet/PetrinetFactory.java @@ -0,0 +1,69 @@ +/** + */ +package petrinet; + +import org.eclipse.emf.ecore.EFactory; + +/** + * + * The Factory for the model. + * It provides a create method for each non-abstract class of the model. + * + * @see petrinet.PetrinetPackage + * @generated + */ +public interface PetrinetFactory extends EFactory { + /** + * The singleton instance of the factory. + * + * + * @generated + */ + PetrinetFactory eINSTANCE = petrinet.impl.PetrinetFactoryImpl.init(); + + /** + * Returns a new object of class 'Place'. + * + * + * @return a new object of class 'Place'. + * @generated + */ + Place createPlace(); + + /** + * Returns a new object of class 'Transition'. + * + * + * @return a new object of class 'Transition'. + * @generated + */ + Transition createTransition(); + + /** + * Returns a new object of class 'Arc'. + * + * + * @return a new object of class 'Arc'. + * @generated + */ + Arc createArc(); + + /** + * Returns a new object of class 'Reseau'. + * + * + * @return a new object of class 'Reseau'. + * @generated + */ + Reseau createReseau(); + + /** + * Returns the package supported by this factory. + * + * + * @return the package supported by this factory. + * @generated + */ + PetrinetPackage getPetrinetPackage(); + +} //PetrinetFactory diff --git a/fr.n7.petriNet/src/petrinet/PetrinetPackage.java b/fr.n7.petriNet/src/petrinet/PetrinetPackage.java new file mode 100644 index 0000000..a50598f --- /dev/null +++ b/fr.n7.petriNet/src/petrinet/PetrinetPackage.java @@ -0,0 +1,567 @@ +/** + */ +package petrinet; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +/** + * + * The Package for the model. + * It contains accessors for the meta objects to represent + *
    + *
  • each class,
  • + *
  • each feature of each class,
  • + *
  • each operation of each class,
  • + *
  • each enum,
  • + *
  • and each data type
  • + *
+ * + * @see petrinet.PetrinetFactory + * @model kind="package" + * @generated + */ +public interface PetrinetPackage extends EPackage { + /** + * The package name. + * + * + * @generated + */ + String eNAME = "petrinet"; + + /** + * The package namespace URI. + * + * + * @generated + */ + String eNS_URI = "http://petrinet"; + + /** + * The package namespace name. + * + * + * @generated + */ + String eNS_PREFIX = "petrinet"; + + /** + * The singleton instance of the package. + * + * + * @generated + */ + PetrinetPackage eINSTANCE = petrinet.impl.PetrinetPackageImpl.init(); + + /** + * The meta object id for the '{@link petrinet.impl.NoeudImpl Noeud}' class. + * + * + * @see petrinet.impl.NoeudImpl + * @see petrinet.impl.PetrinetPackageImpl#getNoeud() + * @generated + */ + int NOEUD = 3; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int NOEUD__NAME = 0; + + /** + * The number of structural features of the 'Noeud' class. + * + * + * @generated + * @ordered + */ + int NOEUD_FEATURE_COUNT = 1; + + /** + * The number of operations of the 'Noeud' class. + * + * + * @generated + * @ordered + */ + int NOEUD_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link petrinet.impl.PlaceImpl Place}' class. + * + * + * @see petrinet.impl.PlaceImpl + * @see petrinet.impl.PetrinetPackageImpl#getPlace() + * @generated + */ + int PLACE = 0; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int PLACE__NAME = NOEUD__NAME; + + /** + * The feature id for the 'Jetons' attribute. + * + * + * @generated + * @ordered + */ + int PLACE__JETONS = NOEUD_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Place' class. + * + * + * @generated + * @ordered + */ + int PLACE_FEATURE_COUNT = NOEUD_FEATURE_COUNT + 1; + + /** + * The number of operations of the 'Place' class. + * + * + * @generated + * @ordered + */ + int PLACE_OPERATION_COUNT = NOEUD_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link petrinet.impl.TransitionImpl Transition}' class. + * + * + * @see petrinet.impl.TransitionImpl + * @see petrinet.impl.PetrinetPackageImpl#getTransition() + * @generated + */ + int TRANSITION = 1; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int TRANSITION__NAME = NOEUD__NAME; + + /** + * The feature id for the 'Arcs' containment reference list. + * + * + * @generated + * @ordered + */ + int TRANSITION__ARCS = NOEUD_FEATURE_COUNT + 0; + + /** + * The number of structural features of the 'Transition' class. + * + * + * @generated + * @ordered + */ + int TRANSITION_FEATURE_COUNT = NOEUD_FEATURE_COUNT + 1; + + /** + * The number of operations of the 'Transition' class. + * + * + * @generated + * @ordered + */ + int TRANSITION_OPERATION_COUNT = NOEUD_OPERATION_COUNT + 0; + + /** + * The meta object id for the '{@link petrinet.impl.ArcImpl Arc}' class. + * + * + * @see petrinet.impl.ArcImpl + * @see petrinet.impl.PetrinetPackageImpl#getArc() + * @generated + */ + int ARC = 2; + + /** + * The feature id for the 'Poids' attribute. + * + * + * @generated + * @ordered + */ + int ARC__POIDS = 0; + + /** + * The feature id for the 'Sortant' attribute. + * + * + * @generated + * @ordered + */ + int ARC__SORTANT = 1; + + /** + * The feature id for the 'Cible' reference. + * + * + * @generated + * @ordered + */ + int ARC__CIBLE = 2; + + /** + * The number of structural features of the 'Arc' class. + * + * + * @generated + * @ordered + */ + int ARC_FEATURE_COUNT = 3; + + /** + * The number of operations of the 'Arc' class. + * + * + * @generated + * @ordered + */ + int ARC_OPERATION_COUNT = 0; + + /** + * The meta object id for the '{@link petrinet.impl.ReseauImpl Reseau}' class. + * + * + * @see petrinet.impl.ReseauImpl + * @see petrinet.impl.PetrinetPackageImpl#getReseau() + * @generated + */ + int RESEAU = 4; + + /** + * The feature id for the 'Noeuds' containment reference list. + * + * + * @generated + * @ordered + */ + int RESEAU__NOEUDS = 0; + + /** + * The feature id for the 'Name' attribute. + * + * + * @generated + * @ordered + */ + int RESEAU__NAME = 1; + + /** + * The number of structural features of the 'Reseau' class. + * + * + * @generated + * @ordered + */ + int RESEAU_FEATURE_COUNT = 2; + + /** + * The number of operations of the 'Reseau' class. + * + * + * @generated + * @ordered + */ + int RESEAU_OPERATION_COUNT = 0; + + + /** + * Returns the meta object for class '{@link petrinet.Place Place}'. + * + * + * @return the meta object for class 'Place'. + * @see petrinet.Place + * @generated + */ + EClass getPlace(); + + /** + * Returns the meta object for the attribute '{@link petrinet.Place#getJetons Jetons}'. + * + * + * @return the meta object for the attribute 'Jetons'. + * @see petrinet.Place#getJetons() + * @see #getPlace() + * @generated + */ + EAttribute getPlace_Jetons(); + + /** + * Returns the meta object for class '{@link petrinet.Transition Transition}'. + * + * + * @return the meta object for class 'Transition'. + * @see petrinet.Transition + * @generated + */ + EClass getTransition(); + + /** + * Returns the meta object for the containment reference list '{@link petrinet.Transition#getArcs Arcs}'. + * + * + * @return the meta object for the containment reference list 'Arcs'. + * @see petrinet.Transition#getArcs() + * @see #getTransition() + * @generated + */ + EReference getTransition_Arcs(); + + /** + * Returns the meta object for class '{@link petrinet.Arc Arc}'. + * + * + * @return the meta object for class 'Arc'. + * @see petrinet.Arc + * @generated + */ + EClass getArc(); + + /** + * Returns the meta object for the attribute '{@link petrinet.Arc#getPoids Poids}'. + * + * + * @return the meta object for the attribute 'Poids'. + * @see petrinet.Arc#getPoids() + * @see #getArc() + * @generated + */ + EAttribute getArc_Poids(); + + /** + * Returns the meta object for the attribute '{@link petrinet.Arc#isSortant Sortant}'. + * + * + * @return the meta object for the attribute 'Sortant'. + * @see petrinet.Arc#isSortant() + * @see #getArc() + * @generated + */ + EAttribute getArc_Sortant(); + + /** + * Returns the meta object for the reference '{@link petrinet.Arc#getCible Cible}'. + * + * + * @return the meta object for the reference 'Cible'. + * @see petrinet.Arc#getCible() + * @see #getArc() + * @generated + */ + EReference getArc_Cible(); + + /** + * Returns the meta object for class '{@link petrinet.Noeud Noeud}'. + * + * + * @return the meta object for class 'Noeud'. + * @see petrinet.Noeud + * @generated + */ + EClass getNoeud(); + + /** + * Returns the meta object for the attribute '{@link petrinet.Noeud#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see petrinet.Noeud#getName() + * @see #getNoeud() + * @generated + */ + EAttribute getNoeud_Name(); + + /** + * Returns the meta object for class '{@link petrinet.Reseau Reseau}'. + * + * + * @return the meta object for class 'Reseau'. + * @see petrinet.Reseau + * @generated + */ + EClass getReseau(); + + /** + * Returns the meta object for the containment reference list '{@link petrinet.Reseau#getNoeuds Noeuds}'. + * + * + * @return the meta object for the containment reference list 'Noeuds'. + * @see petrinet.Reseau#getNoeuds() + * @see #getReseau() + * @generated + */ + EReference getReseau_Noeuds(); + + /** + * Returns the meta object for the attribute '{@link petrinet.Reseau#getName Name}'. + * + * + * @return the meta object for the attribute 'Name'. + * @see petrinet.Reseau#getName() + * @see #getReseau() + * @generated + */ + EAttribute getReseau_Name(); + + /** + * Returns the factory that creates the instances of the model. + * + * + * @return the factory that creates the instances of the model. + * @generated + */ + PetrinetFactory getPetrinetFactory(); + + /** + * + * Defines literals for the meta objects that represent + *
    + *
  • each class,
  • + *
  • each feature of each class,
  • + *
  • each operation of each class,
  • + *
  • each enum,
  • + *
  • and each data type
  • + *
+ * + * @generated + */ + interface Literals { + /** + * The meta object literal for the '{@link petrinet.impl.PlaceImpl Place}' class. + * + * + * @see petrinet.impl.PlaceImpl + * @see petrinet.impl.PetrinetPackageImpl#getPlace() + * @generated + */ + EClass PLACE = eINSTANCE.getPlace(); + + /** + * The meta object literal for the 'Jetons' attribute feature. + * + * + * @generated + */ + EAttribute PLACE__JETONS = eINSTANCE.getPlace_Jetons(); + + /** + * The meta object literal for the '{@link petrinet.impl.TransitionImpl Transition}' class. + * + * + * @see petrinet.impl.TransitionImpl + * @see petrinet.impl.PetrinetPackageImpl#getTransition() + * @generated + */ + EClass TRANSITION = eINSTANCE.getTransition(); + + /** + * The meta object literal for the 'Arcs' containment reference list feature. + * + * + * @generated + */ + EReference TRANSITION__ARCS = eINSTANCE.getTransition_Arcs(); + + /** + * The meta object literal for the '{@link petrinet.impl.ArcImpl Arc}' class. + * + * + * @see petrinet.impl.ArcImpl + * @see petrinet.impl.PetrinetPackageImpl#getArc() + * @generated + */ + EClass ARC = eINSTANCE.getArc(); + + /** + * The meta object literal for the 'Poids' attribute feature. + * + * + * @generated + */ + EAttribute ARC__POIDS = eINSTANCE.getArc_Poids(); + + /** + * The meta object literal for the 'Sortant' attribute feature. + * + * + * @generated + */ + EAttribute ARC__SORTANT = eINSTANCE.getArc_Sortant(); + + /** + * The meta object literal for the 'Cible' reference feature. + * + * + * @generated + */ + EReference ARC__CIBLE = eINSTANCE.getArc_Cible(); + + /** + * The meta object literal for the '{@link petrinet.impl.NoeudImpl Noeud}' class. + * + * + * @see petrinet.impl.NoeudImpl + * @see petrinet.impl.PetrinetPackageImpl#getNoeud() + * @generated + */ + EClass NOEUD = eINSTANCE.getNoeud(); + + /** + * The meta object literal for the 'Name' attribute feature. + * + * + * @generated + */ + EAttribute NOEUD__NAME = eINSTANCE.getNoeud_Name(); + + /** + * The meta object literal for the '{@link petrinet.impl.ReseauImpl Reseau}' class. + * + * + * @see petrinet.impl.ReseauImpl + * @see petrinet.impl.PetrinetPackageImpl#getReseau() + * @generated + */ + EClass RESEAU = eINSTANCE.getReseau(); + + /** + * The meta object literal for the 'Noeuds' containment reference list feature. + * + * + * @generated + */ + EReference RESEAU__NOEUDS = eINSTANCE.getReseau_Noeuds(); + + /** + * The meta object literal for the 'Name' attribute feature. + * + * + * @generated + */ + EAttribute RESEAU__NAME = eINSTANCE.getReseau_Name(); + + } + +} //PetrinetPackage diff --git a/fr.n7.petriNet/src/petrinet/Place.java b/fr.n7.petriNet/src/petrinet/Place.java new file mode 100644 index 0000000..1c62c27 --- /dev/null +++ b/fr.n7.petriNet/src/petrinet/Place.java @@ -0,0 +1,45 @@ +/** + */ +package petrinet; + + +/** + * + * A representation of the model object 'Place'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link petrinet.Place#getJetons Jetons}
  • + *
+ * + * @see petrinet.PetrinetPackage#getPlace() + * @model + * @generated + */ +public interface Place extends Noeud { + /** + * Returns the value of the 'Jetons' attribute. + * + * + * @return the value of the 'Jetons' attribute. + * @see #setJetons(int) + * @see petrinet.PetrinetPackage#getPlace_Jetons() + * @model required="true" + * @generated + */ + int getJetons(); + + /** + * Sets the value of the '{@link petrinet.Place#getJetons Jetons}' attribute. + * + * + * @param value the new value of the 'Jetons' attribute. + * @see #getJetons() + * @generated + */ + void setJetons(int value); + +} // Place diff --git a/fr.n7.petriNet/src/petrinet/Reseau.java b/fr.n7.petriNet/src/petrinet/Reseau.java new file mode 100644 index 0000000..8d04f70 --- /dev/null +++ b/fr.n7.petriNet/src/petrinet/Reseau.java @@ -0,0 +1,61 @@ +/** + */ +package petrinet; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EObject; + +/** + * + * A representation of the model object 'Reseau'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link petrinet.Reseau#getNoeuds Noeuds}
  • + *
  • {@link petrinet.Reseau#getName Name}
  • + *
+ * + * @see petrinet.PetrinetPackage#getReseau() + * @model + * @generated + */ +public interface Reseau extends EObject { + /** + * Returns the value of the 'Noeuds' containment reference list. + * The list contents are of type {@link petrinet.Noeud}. + * + * + * @return the value of the 'Noeuds' containment reference list. + * @see petrinet.PetrinetPackage#getReseau_Noeuds() + * @model containment="true" + * @generated + */ + EList getNoeuds(); + + /** + * Returns the value of the 'Name' attribute. + * + * + * @return the value of the 'Name' attribute. + * @see #setName(String) + * @see petrinet.PetrinetPackage#getReseau_Name() + * @model required="true" + * @generated + */ + String getName(); + + /** + * Sets the value of the '{@link petrinet.Reseau#getName Name}' attribute. + * + * + * @param value the new value of the 'Name' attribute. + * @see #getName() + * @generated + */ + void setName(String value); + +} // Reseau diff --git a/fr.n7.petriNet/src/petrinet/Transition.java b/fr.n7.petriNet/src/petrinet/Transition.java new file mode 100644 index 0000000..25e59e5 --- /dev/null +++ b/fr.n7.petriNet/src/petrinet/Transition.java @@ -0,0 +1,36 @@ +/** + */ +package petrinet; + +import org.eclipse.emf.common.util.EList; + +/** + * + * A representation of the model object 'Transition'. + * + * + *

+ * The following features are supported: + *

+ *
    + *
  • {@link petrinet.Transition#getArcs Arcs}
  • + *
+ * + * @see petrinet.PetrinetPackage#getTransition() + * @model + * @generated + */ +public interface Transition extends Noeud { + /** + * Returns the value of the 'Arcs' containment reference list. + * The list contents are of type {@link petrinet.Arc}. + * + * + * @return the value of the 'Arcs' containment reference list. + * @see petrinet.PetrinetPackage#getTransition_Arcs() + * @model containment="true" + * @generated + */ + EList getArcs(); + +} // Transition diff --git a/fr.n7.petriNet/src/petrinet/impl/ArcImpl.java b/fr.n7.petriNet/src/petrinet/impl/ArcImpl.java new file mode 100644 index 0000000..f84929c --- /dev/null +++ b/fr.n7.petriNet/src/petrinet/impl/ArcImpl.java @@ -0,0 +1,279 @@ +/** + */ +package petrinet.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; + +import petrinet.Arc; +import petrinet.PetrinetPackage; +import petrinet.Place; + +/** + * + * An implementation of the model object 'Arc'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link petrinet.impl.ArcImpl#getPoids Poids}
  • + *
  • {@link petrinet.impl.ArcImpl#isSortant Sortant}
  • + *
  • {@link petrinet.impl.ArcImpl#getCible Cible}
  • + *
+ * + * @generated + */ +public class ArcImpl extends MinimalEObjectImpl.Container implements Arc { + /** + * The default value of the '{@link #getPoids() Poids}' attribute. + * + * + * @see #getPoids() + * @generated + * @ordered + */ + protected static final int POIDS_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getPoids() Poids}' attribute. + * + * + * @see #getPoids() + * @generated + * @ordered + */ + protected int poids = POIDS_EDEFAULT; + + /** + * The default value of the '{@link #isSortant() Sortant}' attribute. + * + * + * @see #isSortant() + * @generated + * @ordered + */ + protected static final boolean SORTANT_EDEFAULT = false; + + /** + * The cached value of the '{@link #isSortant() Sortant}' attribute. + * + * + * @see #isSortant() + * @generated + * @ordered + */ + protected boolean sortant = SORTANT_EDEFAULT; + + /** + * The cached value of the '{@link #getCible() Cible}' reference. + * + * + * @see #getCible() + * @generated + * @ordered + */ + protected Place cible; + + /** + * + * + * @generated + */ + protected ArcImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return PetrinetPackage.Literals.ARC; + } + + /** + * + * + * @generated + */ + public int getPoids() { + return poids; + } + + /** + * + * + * @generated + */ + public void setPoids(int newPoids) { + int oldPoids = poids; + poids = newPoids; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PetrinetPackage.ARC__POIDS, oldPoids, poids)); + } + + /** + * + * + * @generated + */ + public boolean isSortant() { + return sortant; + } + + /** + * + * + * @generated + */ + public void setSortant(boolean newSortant) { + boolean oldSortant = sortant; + sortant = newSortant; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PetrinetPackage.ARC__SORTANT, oldSortant, sortant)); + } + + /** + * + * + * @generated + */ + public Place getCible() { + if (cible != null && cible.eIsProxy()) { + InternalEObject oldCible = (InternalEObject)cible; + cible = (Place)eResolveProxy(oldCible); + if (cible != oldCible) { + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.RESOLVE, PetrinetPackage.ARC__CIBLE, oldCible, cible)); + } + } + return cible; + } + + /** + * + * + * @generated + */ + public Place basicGetCible() { + return cible; + } + + /** + * + * + * @generated + */ + public void setCible(Place newCible) { + Place oldCible = cible; + cible = newCible; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PetrinetPackage.ARC__CIBLE, oldCible, cible)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case PetrinetPackage.ARC__POIDS: + return getPoids(); + case PetrinetPackage.ARC__SORTANT: + return isSortant(); + case PetrinetPackage.ARC__CIBLE: + if (resolve) return getCible(); + return basicGetCible(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case PetrinetPackage.ARC__POIDS: + setPoids((Integer)newValue); + return; + case PetrinetPackage.ARC__SORTANT: + setSortant((Boolean)newValue); + return; + case PetrinetPackage.ARC__CIBLE: + setCible((Place)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case PetrinetPackage.ARC__POIDS: + setPoids(POIDS_EDEFAULT); + return; + case PetrinetPackage.ARC__SORTANT: + setSortant(SORTANT_EDEFAULT); + return; + case PetrinetPackage.ARC__CIBLE: + setCible((Place)null); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case PetrinetPackage.ARC__POIDS: + return poids != POIDS_EDEFAULT; + case PetrinetPackage.ARC__SORTANT: + return sortant != SORTANT_EDEFAULT; + case PetrinetPackage.ARC__CIBLE: + return cible != null; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (poids: "); + result.append(poids); + result.append(", sortant: "); + result.append(sortant); + result.append(')'); + return result.toString(); + } + +} //ArcImpl diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/3d/60130b339822001c17faa9b6b0561c0f b/fr.n7.petriNet/src/petrinet/impl/NoeudImpl.java similarity index 55% rename from .metadata/.plugins/org.eclipse.core.resources/.history/3d/60130b339822001c17faa9b6b0561c0f rename to fr.n7.petriNet/src/petrinet/impl/NoeudImpl.java index 3c36103..053e8a0 100644 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/3d/60130b339822001c17faa9b6b0561c0f +++ b/fr.n7.petriNet/src/petrinet/impl/NoeudImpl.java @@ -1,51 +1,31 @@ /** */ -package simplepdl.impl; +package petrinet.impl; import org.eclipse.emf.common.notify.Notification; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.impl.ENotificationImpl; +import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; -import simplepdl.Resource; -import simplepdl.SimplepdlPackage; +import petrinet.Noeud; +import petrinet.PetrinetPackage; /** * - * An implementation of the model object 'Resource'. + * An implementation of the model object 'Noeud'. * *

* The following features are implemented: *

*
    - *
  • {@link simplepdl.impl.ResourceImpl#getQuantity Quantity}
  • - *
  • {@link simplepdl.impl.ResourceImpl#getName Name}
  • + *
  • {@link petrinet.impl.NoeudImpl#getName Name}
  • *
* * @generated */ -public class ResourceImpl extends ProcessElementImpl implements Resource { - /** - * The default value of the '{@link #getQuantity() Quantity}' attribute. - * - * - * @see #getQuantity() - * @generated - * @ordered - */ - protected static final int QUANTITY_EDEFAULT = 0; - - /** - * The cached value of the '{@link #getQuantity() Quantity}' attribute. - * - * - * @see #getQuantity() - * @generated - * @ordered - */ - protected int quantity = QUANTITY_EDEFAULT; - +public abstract class NoeudImpl extends MinimalEObjectImpl.Container implements Noeud { /** * The default value of the '{@link #getName() Name}' attribute. * @@ -71,7 +51,7 @@ public class ResourceImpl extends ProcessElementImpl implements Resource { * * @generated */ - protected ResourceImpl() { + protected NoeudImpl() { super(); } @@ -82,28 +62,7 @@ public class ResourceImpl extends ProcessElementImpl implements Resource { */ @Override protected EClass eStaticClass() { - return SimplepdlPackage.Literals.RESOURCE; - } - - /** - * - * - * @generated - */ - public int getQuantity() { - return quantity; - } - - /** - * - * - * @generated - */ - public void setQuantity(int newQuantity) { - int oldQuantity = quantity; - quantity = newQuantity; - if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SimplepdlPackage.RESOURCE__QUANTITY, oldQuantity, quantity)); + return PetrinetPackage.Literals.NOEUD; } /** @@ -124,7 +83,7 @@ public class ResourceImpl extends ProcessElementImpl implements Resource { String oldName = name; name = newName; if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SimplepdlPackage.RESOURCE__NAME, oldName, name)); + eNotify(new ENotificationImpl(this, Notification.SET, PetrinetPackage.NOEUD__NAME, oldName, name)); } /** @@ -135,9 +94,7 @@ public class ResourceImpl extends ProcessElementImpl implements Resource { @Override public Object eGet(int featureID, boolean resolve, boolean coreType) { switch (featureID) { - case SimplepdlPackage.RESOURCE__QUANTITY: - return getQuantity(); - case SimplepdlPackage.RESOURCE__NAME: + case PetrinetPackage.NOEUD__NAME: return getName(); } return super.eGet(featureID, resolve, coreType); @@ -151,10 +108,7 @@ public class ResourceImpl extends ProcessElementImpl implements Resource { @Override public void eSet(int featureID, Object newValue) { switch (featureID) { - case SimplepdlPackage.RESOURCE__QUANTITY: - setQuantity((Integer)newValue); - return; - case SimplepdlPackage.RESOURCE__NAME: + case PetrinetPackage.NOEUD__NAME: setName((String)newValue); return; } @@ -169,10 +123,7 @@ public class ResourceImpl extends ProcessElementImpl implements Resource { @Override public void eUnset(int featureID) { switch (featureID) { - case SimplepdlPackage.RESOURCE__QUANTITY: - setQuantity(QUANTITY_EDEFAULT); - return; - case SimplepdlPackage.RESOURCE__NAME: + case PetrinetPackage.NOEUD__NAME: setName(NAME_EDEFAULT); return; } @@ -187,9 +138,7 @@ public class ResourceImpl extends ProcessElementImpl implements Resource { @Override public boolean eIsSet(int featureID) { switch (featureID) { - case SimplepdlPackage.RESOURCE__QUANTITY: - return quantity != QUANTITY_EDEFAULT; - case SimplepdlPackage.RESOURCE__NAME: + case PetrinetPackage.NOEUD__NAME: return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); } return super.eIsSet(featureID); @@ -205,12 +154,10 @@ public class ResourceImpl extends ProcessElementImpl implements Resource { if (eIsProxy()) return super.toString(); StringBuilder result = new StringBuilder(super.toString()); - result.append(" (quantity: "); - result.append(quantity); - result.append(", name: "); + result.append(" (name: "); result.append(name); result.append(')'); return result.toString(); } -} //ResourceImpl +} //NoeudImpl diff --git a/fr.n7.petriNet/src/petrinet/impl/PetrinetFactoryImpl.java b/fr.n7.petriNet/src/petrinet/impl/PetrinetFactoryImpl.java new file mode 100644 index 0000000..080ad6c --- /dev/null +++ b/fr.n7.petriNet/src/petrinet/impl/PetrinetFactoryImpl.java @@ -0,0 +1,128 @@ +/** + */ +package petrinet.impl; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EObject; +import org.eclipse.emf.ecore.EPackage; + +import org.eclipse.emf.ecore.impl.EFactoryImpl; + +import org.eclipse.emf.ecore.plugin.EcorePlugin; + +import petrinet.*; + +/** + * + * An implementation of the model Factory. + * + * @generated + */ +public class PetrinetFactoryImpl extends EFactoryImpl implements PetrinetFactory { + /** + * Creates the default factory implementation. + * + * + * @generated + */ + public static PetrinetFactory init() { + try { + PetrinetFactory thePetrinetFactory = (PetrinetFactory)EPackage.Registry.INSTANCE.getEFactory(PetrinetPackage.eNS_URI); + if (thePetrinetFactory != null) { + return thePetrinetFactory; + } + } + catch (Exception exception) { + EcorePlugin.INSTANCE.log(exception); + } + return new PetrinetFactoryImpl(); + } + + /** + * Creates an instance of the factory. + * + * + * @generated + */ + public PetrinetFactoryImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + public EObject create(EClass eClass) { + switch (eClass.getClassifierID()) { + case PetrinetPackage.PLACE: return createPlace(); + case PetrinetPackage.TRANSITION: return createTransition(); + case PetrinetPackage.ARC: return createArc(); + case PetrinetPackage.RESEAU: return createReseau(); + default: + throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); + } + } + + /** + * + * + * @generated + */ + public Place createPlace() { + PlaceImpl place = new PlaceImpl(); + return place; + } + + /** + * + * + * @generated + */ + public Transition createTransition() { + TransitionImpl transition = new TransitionImpl(); + return transition; + } + + /** + * + * + * @generated + */ + public Arc createArc() { + ArcImpl arc = new ArcImpl(); + return arc; + } + + /** + * + * + * @generated + */ + public Reseau createReseau() { + ReseauImpl reseau = new ReseauImpl(); + return reseau; + } + + /** + * + * + * @generated + */ + public PetrinetPackage getPetrinetPackage() { + return (PetrinetPackage)getEPackage(); + } + + /** + * + * + * @deprecated + * @generated + */ + @Deprecated + public static PetrinetPackage getPackage() { + return PetrinetPackage.eINSTANCE; + } + +} //PetrinetFactoryImpl diff --git a/fr.n7.petriNet/src/petrinet/impl/PetrinetPackageImpl.java b/fr.n7.petriNet/src/petrinet/impl/PetrinetPackageImpl.java new file mode 100644 index 0000000..3e95e54 --- /dev/null +++ b/fr.n7.petriNet/src/petrinet/impl/PetrinetPackageImpl.java @@ -0,0 +1,341 @@ +/** + */ +package petrinet.impl; + +import org.eclipse.emf.ecore.EAttribute; +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.EPackage; +import org.eclipse.emf.ecore.EReference; + +import org.eclipse.emf.ecore.impl.EPackageImpl; + +import petrinet.Arc; +import petrinet.Noeud; +import petrinet.PetrinetFactory; +import petrinet.PetrinetPackage; +import petrinet.Place; +import petrinet.Reseau; +import petrinet.Transition; + +/** + * + * An implementation of the model Package. + * + * @generated + */ +public class PetrinetPackageImpl extends EPackageImpl implements PetrinetPackage { + /** + * + * + * @generated + */ + private EClass placeEClass = null; + + /** + * + * + * @generated + */ + private EClass transitionEClass = null; + + /** + * + * + * @generated + */ + private EClass arcEClass = null; + + /** + * + * + * @generated + */ + private EClass noeudEClass = null; + + /** + * + * + * @generated + */ + private EClass reseauEClass = null; + + /** + * Creates an instance of the model Package, registered with + * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package + * package URI value. + *

Note: the correct way to create the package is via the static + * factory method {@link #init init()}, which also performs + * initialization of the package, or returns the registered package, + * if one already exists. + * + * + * @see org.eclipse.emf.ecore.EPackage.Registry + * @see petrinet.PetrinetPackage#eNS_URI + * @see #init() + * @generated + */ + private PetrinetPackageImpl() { + super(eNS_URI, PetrinetFactory.eINSTANCE); + } + + /** + * + * + * @generated + */ + private static boolean isInited = false; + + /** + * Creates, registers, and initializes the Package for this model, and for any others upon which it depends. + * + *

This method is used to initialize {@link PetrinetPackage#eINSTANCE} when that field is accessed. + * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. + * + * + * @see #eNS_URI + * @see #createPackageContents() + * @see #initializePackageContents() + * @generated + */ + public static PetrinetPackage init() { + if (isInited) return (PetrinetPackage)EPackage.Registry.INSTANCE.getEPackage(PetrinetPackage.eNS_URI); + + // Obtain or create and register package + Object registeredPetrinetPackage = EPackage.Registry.INSTANCE.get(eNS_URI); + PetrinetPackageImpl thePetrinetPackage = registeredPetrinetPackage instanceof PetrinetPackageImpl ? (PetrinetPackageImpl)registeredPetrinetPackage : new PetrinetPackageImpl(); + + isInited = true; + + // Create package meta-data objects + thePetrinetPackage.createPackageContents(); + + // Initialize created meta-data + thePetrinetPackage.initializePackageContents(); + + // Mark meta-data to indicate it can't be changed + thePetrinetPackage.freeze(); + + // Update the registry and return the package + EPackage.Registry.INSTANCE.put(PetrinetPackage.eNS_URI, thePetrinetPackage); + return thePetrinetPackage; + } + + /** + * + * + * @generated + */ + public EClass getPlace() { + return placeEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getPlace_Jetons() { + return (EAttribute)placeEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getTransition() { + return transitionEClass; + } + + /** + * + * + * @generated + */ + public EReference getTransition_Arcs() { + return (EReference)transitionEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getArc() { + return arcEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getArc_Poids() { + return (EAttribute)arcEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EAttribute getArc_Sortant() { + return (EAttribute)arcEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public EReference getArc_Cible() { + return (EReference)arcEClass.getEStructuralFeatures().get(2); + } + + /** + * + * + * @generated + */ + public EClass getNoeud() { + return noeudEClass; + } + + /** + * + * + * @generated + */ + public EAttribute getNoeud_Name() { + return (EAttribute)noeudEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EClass getReseau() { + return reseauEClass; + } + + /** + * + * + * @generated + */ + public EReference getReseau_Noeuds() { + return (EReference)reseauEClass.getEStructuralFeatures().get(0); + } + + /** + * + * + * @generated + */ + public EAttribute getReseau_Name() { + return (EAttribute)reseauEClass.getEStructuralFeatures().get(1); + } + + /** + * + * + * @generated + */ + public PetrinetFactory getPetrinetFactory() { + return (PetrinetFactory)getEFactoryInstance(); + } + + /** + * + * + * @generated + */ + private boolean isCreated = false; + + /** + * Creates the meta-model objects for the package. This method is + * guarded to have no affect on any invocation but its first. + * + * + * @generated + */ + public void createPackageContents() { + if (isCreated) return; + isCreated = true; + + // Create classes and their features + placeEClass = createEClass(PLACE); + createEAttribute(placeEClass, PLACE__JETONS); + + transitionEClass = createEClass(TRANSITION); + createEReference(transitionEClass, TRANSITION__ARCS); + + arcEClass = createEClass(ARC); + createEAttribute(arcEClass, ARC__POIDS); + createEAttribute(arcEClass, ARC__SORTANT); + createEReference(arcEClass, ARC__CIBLE); + + noeudEClass = createEClass(NOEUD); + createEAttribute(noeudEClass, NOEUD__NAME); + + reseauEClass = createEClass(RESEAU); + createEReference(reseauEClass, RESEAU__NOEUDS); + createEAttribute(reseauEClass, RESEAU__NAME); + } + + /** + * + * + * @generated + */ + private boolean isInitialized = false; + + /** + * Complete the initialization of the package and its meta-model. This + * method is guarded to have no affect on any invocation but its first. + * + * + * @generated + */ + public void initializePackageContents() { + if (isInitialized) return; + isInitialized = true; + + // Initialize package + setName(eNAME); + setNsPrefix(eNS_PREFIX); + setNsURI(eNS_URI); + + // Create type parameters + + // Set bounds for type parameters + + // Add supertypes to classes + placeEClass.getESuperTypes().add(this.getNoeud()); + transitionEClass.getESuperTypes().add(this.getNoeud()); + + // Initialize classes, features, and operations; add parameters + initEClass(placeEClass, Place.class, "Place", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getPlace_Jetons(), ecorePackage.getEInt(), "jetons", null, 1, 1, Place.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(transitionEClass, Transition.class, "Transition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getTransition_Arcs(), this.getArc(), null, "arcs", null, 0, -1, Transition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(arcEClass, Arc.class, "Arc", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getArc_Poids(), ecorePackage.getEInt(), "poids", null, 1, 1, Arc.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getArc_Sortant(), ecorePackage.getEBoolean(), "sortant", null, 1, 1, Arc.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEReference(getArc_Cible(), this.getPlace(), null, "cible", null, 1, 1, Arc.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(noeudEClass, Noeud.class, "Noeud", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEAttribute(getNoeud_Name(), ecorePackage.getEString(), "name", null, 1, 1, Noeud.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + initEClass(reseauEClass, Reseau.class, "Reseau", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); + initEReference(getReseau_Noeuds(), this.getNoeud(), null, "noeuds", null, 0, -1, Reseau.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + initEAttribute(getReseau_Name(), ecorePackage.getEString(), "name", null, 1, 1, Reseau.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); + + // Create resource + createResource(eNS_URI); + } + +} //PetrinetPackageImpl diff --git a/fr.n7.petriNet/src/petrinet/impl/PlaceImpl.java b/fr.n7.petriNet/src/petrinet/impl/PlaceImpl.java new file mode 100644 index 0000000..c7476d1 --- /dev/null +++ b/fr.n7.petriNet/src/petrinet/impl/PlaceImpl.java @@ -0,0 +1,162 @@ +/** + */ +package petrinet.impl; + +import org.eclipse.emf.common.notify.Notification; + +import org.eclipse.emf.ecore.EClass; + +import org.eclipse.emf.ecore.impl.ENotificationImpl; + +import petrinet.PetrinetPackage; +import petrinet.Place; + +/** + * + * An implementation of the model object 'Place'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link petrinet.impl.PlaceImpl#getJetons Jetons}
  • + *
+ * + * @generated + */ +public class PlaceImpl extends NoeudImpl implements Place { + /** + * The default value of the '{@link #getJetons() Jetons}' attribute. + * + * + * @see #getJetons() + * @generated + * @ordered + */ + protected static final int JETONS_EDEFAULT = 0; + + /** + * The cached value of the '{@link #getJetons() Jetons}' attribute. + * + * + * @see #getJetons() + * @generated + * @ordered + */ + protected int jetons = JETONS_EDEFAULT; + + /** + * + * + * @generated + */ + protected PlaceImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return PetrinetPackage.Literals.PLACE; + } + + /** + * + * + * @generated + */ + public int getJetons() { + return jetons; + } + + /** + * + * + * @generated + */ + public void setJetons(int newJetons) { + int oldJetons = jetons; + jetons = newJetons; + if (eNotificationRequired()) + eNotify(new ENotificationImpl(this, Notification.SET, PetrinetPackage.PLACE__JETONS, oldJetons, jetons)); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case PetrinetPackage.PLACE__JETONS: + return getJetons(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case PetrinetPackage.PLACE__JETONS: + setJetons((Integer)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case PetrinetPackage.PLACE__JETONS: + setJetons(JETONS_EDEFAULT); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case PetrinetPackage.PLACE__JETONS: + return jetons != JETONS_EDEFAULT; + } + return super.eIsSet(featureID); + } + + /** + * + * + * @generated + */ + @Override + public String toString() { + if (eIsProxy()) return super.toString(); + + StringBuilder result = new StringBuilder(super.toString()); + result.append(" (jetons: "); + result.append(jetons); + result.append(')'); + return result.toString(); + } + +} //PlaceImpl diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/6b/405408339822001c17faa9b6b0561c0f b/fr.n7.petriNet/src/petrinet/impl/ReseauImpl.java similarity index 66% rename from .metadata/.plugins/org.eclipse.core.resources/.history/6b/405408339822001c17faa9b6b0561c0f rename to fr.n7.petriNet/src/petrinet/impl/ReseauImpl.java index a6908b3..8189967 100644 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/6b/405408339822001c17faa9b6b0561c0f +++ b/fr.n7.petriNet/src/petrinet/impl/ReseauImpl.java @@ -1,6 +1,6 @@ /** */ -package simplepdl.impl; +package petrinet.impl; import java.util.Collection; @@ -18,24 +18,35 @@ import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; import org.eclipse.emf.ecore.util.EObjectContainmentEList; import org.eclipse.emf.ecore.util.InternalEList; -import simplepdl.ProcessElement; -import simplepdl.SimplepdlPackage; +import petrinet.Noeud; +import petrinet.PetrinetPackage; +import petrinet.Reseau; /** * - * An implementation of the model object 'Process'. + * An implementation of the model object 'Reseau'. * *

* The following features are implemented: *

*
    - *
  • {@link simplepdl.impl.ProcessImpl#getName Name}
  • - *
  • {@link simplepdl.impl.ProcessImpl#getProcessElements Process Elements}
  • + *
  • {@link petrinet.impl.ReseauImpl#getNoeuds Noeuds}
  • + *
  • {@link petrinet.impl.ReseauImpl#getName Name}
  • *
* * @generated */ -public class ProcessImpl extends MinimalEObjectImpl.Container implements simplepdl.Process { +public class ReseauImpl extends MinimalEObjectImpl.Container implements Reseau { + /** + * The cached value of the '{@link #getNoeuds() Noeuds}' containment reference list. + * + * + * @see #getNoeuds() + * @generated + * @ordered + */ + protected EList noeuds; + /** * The default value of the '{@link #getName() Name}' attribute. * @@ -56,22 +67,12 @@ public class ProcessImpl extends MinimalEObjectImpl.Container implements simplep */ protected String name = NAME_EDEFAULT; - /** - * The cached value of the '{@link #getProcessElements() Process Elements}' containment reference list. - * - * - * @see #getProcessElements() - * @generated - * @ordered - */ - protected EList processElements; - /** * * * @generated */ - protected ProcessImpl() { + protected ReseauImpl() { super(); } @@ -82,7 +83,19 @@ public class ProcessImpl extends MinimalEObjectImpl.Container implements simplep */ @Override protected EClass eStaticClass() { - return SimplepdlPackage.Literals.PROCESS; + return PetrinetPackage.Literals.RESEAU; + } + + /** + * + * + * @generated + */ + public EList getNoeuds() { + if (noeuds == null) { + noeuds = new EObjectContainmentEList(Noeud.class, this, PetrinetPackage.RESEAU__NOEUDS); + } + return noeuds; } /** @@ -103,19 +116,7 @@ public class ProcessImpl extends MinimalEObjectImpl.Container implements simplep String oldName = name; name = newName; if (eNotificationRequired()) - eNotify(new ENotificationImpl(this, Notification.SET, SimplepdlPackage.PROCESS__NAME, oldName, name)); - } - - /** - * - * - * @generated - */ - public EList getProcessElements() { - if (processElements == null) { - processElements = new EObjectContainmentEList(ProcessElement.class, this, SimplepdlPackage.PROCESS__PROCESS_ELEMENTS); - } - return processElements; + eNotify(new ENotificationImpl(this, Notification.SET, PetrinetPackage.RESEAU__NAME, oldName, name)); } /** @@ -126,8 +127,8 @@ public class ProcessImpl extends MinimalEObjectImpl.Container implements simplep @Override public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { switch (featureID) { - case SimplepdlPackage.PROCESS__PROCESS_ELEMENTS: - return ((InternalEList)getProcessElements()).basicRemove(otherEnd, msgs); + case PetrinetPackage.RESEAU__NOEUDS: + return ((InternalEList)getNoeuds()).basicRemove(otherEnd, msgs); } return super.eInverseRemove(otherEnd, featureID, msgs); } @@ -140,10 +141,10 @@ public class ProcessImpl extends MinimalEObjectImpl.Container implements simplep @Override public Object eGet(int featureID, boolean resolve, boolean coreType) { switch (featureID) { - case SimplepdlPackage.PROCESS__NAME: + case PetrinetPackage.RESEAU__NOEUDS: + return getNoeuds(); + case PetrinetPackage.RESEAU__NAME: return getName(); - case SimplepdlPackage.PROCESS__PROCESS_ELEMENTS: - return getProcessElements(); } return super.eGet(featureID, resolve, coreType); } @@ -157,12 +158,12 @@ public class ProcessImpl extends MinimalEObjectImpl.Container implements simplep @Override public void eSet(int featureID, Object newValue) { switch (featureID) { - case SimplepdlPackage.PROCESS__NAME: - setName((String)newValue); + case PetrinetPackage.RESEAU__NOEUDS: + getNoeuds().clear(); + getNoeuds().addAll((Collection)newValue); return; - case SimplepdlPackage.PROCESS__PROCESS_ELEMENTS: - getProcessElements().clear(); - getProcessElements().addAll((Collection)newValue); + case PetrinetPackage.RESEAU__NAME: + setName((String)newValue); return; } super.eSet(featureID, newValue); @@ -176,11 +177,11 @@ public class ProcessImpl extends MinimalEObjectImpl.Container implements simplep @Override public void eUnset(int featureID) { switch (featureID) { - case SimplepdlPackage.PROCESS__NAME: - setName(NAME_EDEFAULT); + case PetrinetPackage.RESEAU__NOEUDS: + getNoeuds().clear(); return; - case SimplepdlPackage.PROCESS__PROCESS_ELEMENTS: - getProcessElements().clear(); + case PetrinetPackage.RESEAU__NAME: + setName(NAME_EDEFAULT); return; } super.eUnset(featureID); @@ -194,10 +195,10 @@ public class ProcessImpl extends MinimalEObjectImpl.Container implements simplep @Override public boolean eIsSet(int featureID) { switch (featureID) { - case SimplepdlPackage.PROCESS__NAME: + case PetrinetPackage.RESEAU__NOEUDS: + return noeuds != null && !noeuds.isEmpty(); + case PetrinetPackage.RESEAU__NAME: return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); - case SimplepdlPackage.PROCESS__PROCESS_ELEMENTS: - return processElements != null && !processElements.isEmpty(); } return super.eIsSet(featureID); } @@ -218,4 +219,4 @@ public class ProcessImpl extends MinimalEObjectImpl.Container implements simplep return result.toString(); } -} //ProcessImpl +} //ReseauImpl diff --git a/fr.n7.petriNet/src/petrinet/impl/TransitionImpl.java b/fr.n7.petriNet/src/petrinet/impl/TransitionImpl.java new file mode 100644 index 0000000..6e05f14 --- /dev/null +++ b/fr.n7.petriNet/src/petrinet/impl/TransitionImpl.java @@ -0,0 +1,150 @@ +/** + */ +package petrinet.impl; + +import java.util.Collection; + +import org.eclipse.emf.common.notify.NotificationChain; + +import org.eclipse.emf.common.util.EList; + +import org.eclipse.emf.ecore.EClass; +import org.eclipse.emf.ecore.InternalEObject; + +import org.eclipse.emf.ecore.util.EObjectContainmentEList; +import org.eclipse.emf.ecore.util.InternalEList; + +import petrinet.Arc; +import petrinet.PetrinetPackage; +import petrinet.Transition; + +/** + * + * An implementation of the model object 'Transition'. + * + *

+ * The following features are implemented: + *

+ *
    + *
  • {@link petrinet.impl.TransitionImpl#getArcs Arcs}
  • + *
+ * + * @generated + */ +public class TransitionImpl extends NoeudImpl implements Transition { + /** + * The cached value of the '{@link #getArcs() Arcs}' containment reference list. + * + * + * @see #getArcs() + * @generated + * @ordered + */ + protected EList arcs; + + /** + * + * + * @generated + */ + protected TransitionImpl() { + super(); + } + + /** + * + * + * @generated + */ + @Override + protected EClass eStaticClass() { + return PetrinetPackage.Literals.TRANSITION; + } + + /** + * + * + * @generated + */ + public EList getArcs() { + if (arcs == null) { + arcs = new EObjectContainmentEList(Arc.class, this, PetrinetPackage.TRANSITION__ARCS); + } + return arcs; + } + + /** + * + * + * @generated + */ + @Override + public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { + switch (featureID) { + case PetrinetPackage.TRANSITION__ARCS: + return ((InternalEList)getArcs()).basicRemove(otherEnd, msgs); + } + return super.eInverseRemove(otherEnd, featureID, msgs); + } + + /** + * + * + * @generated + */ + @Override + public Object eGet(int featureID, boolean resolve, boolean coreType) { + switch (featureID) { + case PetrinetPackage.TRANSITION__ARCS: + return getArcs(); + } + return super.eGet(featureID, resolve, coreType); + } + + /** + * + * + * @generated + */ + @SuppressWarnings("unchecked") + @Override + public void eSet(int featureID, Object newValue) { + switch (featureID) { + case PetrinetPackage.TRANSITION__ARCS: + getArcs().clear(); + getArcs().addAll((Collection)newValue); + return; + } + super.eSet(featureID, newValue); + } + + /** + * + * + * @generated + */ + @Override + public void eUnset(int featureID) { + switch (featureID) { + case PetrinetPackage.TRANSITION__ARCS: + getArcs().clear(); + return; + } + super.eUnset(featureID); + } + + /** + * + * + * @generated + */ + @Override + public boolean eIsSet(int featureID) { + switch (featureID) { + case PetrinetPackage.TRANSITION__ARCS: + return arcs != null && !arcs.isEmpty(); + } + return super.eIsSet(featureID); + } + +} //TransitionImpl diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/ee/30e62e2b9822001c17faa9b6b0561c0f b/fr.n7.petriNet/src/petrinet/util/PetrinetAdapterFactory.java similarity index 65% rename from .metadata/.plugins/org.eclipse.core.resources/.history/ee/30e62e2b9822001c17faa9b6b0561c0f rename to fr.n7.petriNet/src/petrinet/util/PetrinetAdapterFactory.java index 3a354ce..0ac27f2 100644 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/ee/30e62e2b9822001c17faa9b6b0561c0f +++ b/fr.n7.petriNet/src/petrinet/util/PetrinetAdapterFactory.java @@ -1,6 +1,6 @@ /** */ -package simplepdl.util; +package petrinet.util; import org.eclipse.emf.common.notify.Adapter; import org.eclipse.emf.common.notify.Notifier; @@ -9,28 +9,24 @@ import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl; import org.eclipse.emf.ecore.EObject; -import simplepdl.Guidance; -import simplepdl.ProcessElement; -import simplepdl.SimplepdlPackage; -import simplepdl.WorkDefinition; -import simplepdl.WorkSequence; +import petrinet.*; /** * * The Adapter Factory for the model. * It provides an adapter createXXX method for each class of the model. * - * @see simplepdl.SimplepdlPackage + * @see petrinet.PetrinetPackage * @generated */ -public class SimplepdlAdapterFactory extends AdapterFactoryImpl { +public class PetrinetAdapterFactory extends AdapterFactoryImpl { /** * The cached model package. * * * @generated */ - protected static SimplepdlPackage modelPackage; + protected static PetrinetPackage modelPackage; /** * Creates an instance of the adapter factory. @@ -38,9 +34,9 @@ public class SimplepdlAdapterFactory extends AdapterFactoryImpl { * * @generated */ - public SimplepdlAdapterFactory() { + public PetrinetAdapterFactory() { if (modelPackage == null) { - modelPackage = SimplepdlPackage.eINSTANCE; + modelPackage = PetrinetPackage.eINSTANCE; } } @@ -69,27 +65,27 @@ public class SimplepdlAdapterFactory extends AdapterFactoryImpl { * * @generated */ - protected SimplepdlSwitch modelSwitch = - new SimplepdlSwitch() { + protected PetrinetSwitch modelSwitch = + new PetrinetSwitch() { @Override - public Adapter caseProcessElement(ProcessElement object) { - return createProcessElementAdapter(); + public Adapter casePlace(Place object) { + return createPlaceAdapter(); } @Override - public Adapter caseWorkDefinition(WorkDefinition object) { - return createWorkDefinitionAdapter(); + public Adapter caseTransition(Transition object) { + return createTransitionAdapter(); } @Override - public Adapter caseWorkSequence(WorkSequence object) { - return createWorkSequenceAdapter(); + public Adapter caseArc(Arc object) { + return createArcAdapter(); } @Override - public Adapter caseGuidance(Guidance object) { - return createGuidanceAdapter(); + public Adapter caseNoeud(Noeud object) { + return createNoeudAdapter(); } @Override - public Adapter caseProcess(simplepdl.Process object) { - return createProcessAdapter(); + public Adapter caseReseau(Reseau object) { + return createReseauAdapter(); } @Override public Adapter defaultCase(EObject object) { @@ -112,72 +108,72 @@ public class SimplepdlAdapterFactory extends AdapterFactoryImpl { /** - * Creates a new adapter for an object of class '{@link simplepdl.ProcessElement Process Element}'. + * Creates a new adapter for an object of class '{@link petrinet.Place Place}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see simplepdl.ProcessElement + * @see petrinet.Place * @generated */ - public Adapter createProcessElementAdapter() { + public Adapter createPlaceAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link simplepdl.WorkDefinition Work Definition}'. + * Creates a new adapter for an object of class '{@link petrinet.Transition Transition}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see simplepdl.WorkDefinition + * @see petrinet.Transition * @generated */ - public Adapter createWorkDefinitionAdapter() { + public Adapter createTransitionAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link simplepdl.WorkSequence Work Sequence}'. + * Creates a new adapter for an object of class '{@link petrinet.Arc Arc}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see simplepdl.WorkSequence + * @see petrinet.Arc * @generated */ - public Adapter createWorkSequenceAdapter() { + public Adapter createArcAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link simplepdl.Guidance Guidance}'. + * Creates a new adapter for an object of class '{@link petrinet.Noeud Noeud}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see simplepdl.Guidance + * @see petrinet.Noeud * @generated */ - public Adapter createGuidanceAdapter() { + public Adapter createNoeudAdapter() { return null; } /** - * Creates a new adapter for an object of class '{@link simplepdl.Process Process}'. + * Creates a new adapter for an object of class '{@link petrinet.Reseau Reseau}'. * * This default implementation returns null so that we can easily ignore cases; * it's useful to ignore a case when inheritance will catch all the cases anyway. * * @return the new adapter. - * @see simplepdl.Process + * @see petrinet.Reseau * @generated */ - public Adapter createProcessAdapter() { + public Adapter createReseauAdapter() { return null; } @@ -193,4 +189,4 @@ public class SimplepdlAdapterFactory extends AdapterFactoryImpl { return null; } -} //SimplepdlAdapterFactory +} //PetrinetAdapterFactory diff --git a/.metadata/.plugins/org.eclipse.core.resources/.history/9e/5070252b9822001c17faa9b6b0561c0f b/fr.n7.petriNet/src/petrinet/util/PetrinetSwitch.java similarity index 71% rename from .metadata/.plugins/org.eclipse.core.resources/.history/9e/5070252b9822001c17faa9b6b0561c0f rename to fr.n7.petriNet/src/petrinet/util/PetrinetSwitch.java index 37e6016..33600e7 100644 --- a/.metadata/.plugins/org.eclipse.core.resources/.history/9e/5070252b9822001c17faa9b6b0561c0f +++ b/fr.n7.petriNet/src/petrinet/util/PetrinetSwitch.java @@ -1,17 +1,13 @@ /** */ -package simplepdl.util; +package petrinet.util; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.EPackage; import org.eclipse.emf.ecore.util.Switch; -import simplepdl.Guidance; -import simplepdl.ProcessElement; -import simplepdl.SimplepdlPackage; -import simplepdl.WorkDefinition; -import simplepdl.WorkSequence; +import petrinet.*; /** * @@ -23,17 +19,17 @@ import simplepdl.WorkSequence; * until a non-null result is returned, * which is the result of the switch. * - * @see simplepdl.SimplepdlPackage + * @see petrinet.PetrinetPackage * @generated */ -public class SimplepdlSwitch extends Switch { +public class PetrinetSwitch extends Switch { /** * The cached model package * * * @generated */ - protected static SimplepdlPackage modelPackage; + protected static PetrinetPackage modelPackage; /** * Creates an instance of the switch. @@ -41,9 +37,9 @@ public class SimplepdlSwitch extends Switch { * * @generated */ - public SimplepdlSwitch() { + public PetrinetSwitch() { if (modelPackage == null) { - modelPackage = SimplepdlPackage.eINSTANCE; + modelPackage = PetrinetPackage.eINSTANCE; } } @@ -70,36 +66,35 @@ public class SimplepdlSwitch extends Switch { @Override protected T doSwitch(int classifierID, EObject theEObject) { switch (classifierID) { - case SimplepdlPackage.PROCESS_ELEMENT: { - ProcessElement processElement = (ProcessElement)theEObject; - T result = caseProcessElement(processElement); + case PetrinetPackage.PLACE: { + Place place = (Place)theEObject; + T result = casePlace(place); + if (result == null) result = caseNoeud(place); if (result == null) result = defaultCase(theEObject); return result; } - case SimplepdlPackage.WORK_DEFINITION: { - WorkDefinition workDefinition = (WorkDefinition)theEObject; - T result = caseWorkDefinition(workDefinition); - if (result == null) result = caseProcessElement(workDefinition); + case PetrinetPackage.TRANSITION: { + Transition transition = (Transition)theEObject; + T result = caseTransition(transition); + if (result == null) result = caseNoeud(transition); if (result == null) result = defaultCase(theEObject); return result; } - case SimplepdlPackage.WORK_SEQUENCE: { - WorkSequence workSequence = (WorkSequence)theEObject; - T result = caseWorkSequence(workSequence); - if (result == null) result = caseProcessElement(workSequence); + case PetrinetPackage.ARC: { + Arc arc = (Arc)theEObject; + T result = caseArc(arc); if (result == null) result = defaultCase(theEObject); return result; } - case SimplepdlPackage.GUIDANCE: { - Guidance guidance = (Guidance)theEObject; - T result = caseGuidance(guidance); - if (result == null) result = caseProcessElement(guidance); + case PetrinetPackage.NOEUD: { + Noeud noeud = (Noeud)theEObject; + T result = caseNoeud(noeud); if (result == null) result = defaultCase(theEObject); return result; } - case SimplepdlPackage.PROCESS: { - simplepdl.Process process = (simplepdl.Process)theEObject; - T result = caseProcess(process); + case PetrinetPackage.RESEAU: { + Reseau reseau = (Reseau)theEObject; + T result = caseReseau(reseau); if (result == null) result = defaultCase(theEObject); return result; } @@ -108,77 +103,77 @@ public class SimplepdlSwitch extends Switch { } /** - * Returns the result of interpreting the object as an instance of 'Process Element'. + * Returns the result of interpreting the object as an instance of 'Place'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Process Element'. + * @return the result of interpreting the object as an instance of 'Place'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseProcessElement(ProcessElement object) { + public T casePlace(Place object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'Work Definition'. + * Returns the result of interpreting the object as an instance of 'Transition'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Work Definition'. + * @return the result of interpreting the object as an instance of 'Transition'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseWorkDefinition(WorkDefinition object) { + public T caseTransition(Transition object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'Work Sequence'. + * Returns the result of interpreting the object as an instance of 'Arc'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Work Sequence'. + * @return the result of interpreting the object as an instance of 'Arc'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseWorkSequence(WorkSequence object) { + public T caseArc(Arc object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'Guidance'. + * Returns the result of interpreting the object as an instance of 'Noeud'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Guidance'. + * @return the result of interpreting the object as an instance of 'Noeud'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseGuidance(Guidance object) { + public T caseNoeud(Noeud object) { return null; } /** - * Returns the result of interpreting the object as an instance of 'Process'. + * Returns the result of interpreting the object as an instance of 'Reseau'. * * This implementation returns null; * returning a non-null result will terminate the switch. * * @param object the target of the switch. - * @return the result of interpreting the object as an instance of 'Process'. + * @return the result of interpreting the object as an instance of 'Reseau'. * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) * @generated */ - public T caseProcess(simplepdl.Process object) { + public T caseReseau(Reseau object) { return null; } @@ -198,4 +193,4 @@ public class SimplepdlSwitch extends Switch { return null; } -} //SimplepdlSwitch +} //PetrinetSwitch diff --git a/fr.n7.simplePDL.samples/developpement.xmi b/fr.n7.simplePDL.samples/developpement.xmi new file mode 100644 index 0000000..a51fd4b --- /dev/null +++ b/fr.n7.simplePDL.samples/developpement.xmi @@ -0,0 +1,49 @@ + + + + + + + + + + + + diff --git a/fr.n7.simplePDL.samples/representations.aird b/fr.n7.simplePDL.samples/representations.aird index 53f300f..730d2cd 100644 --- a/fr.n7.simplePDL.samples/representations.aird +++ b/fr.n7.simplePDL.samples/representations.aird @@ -2,6 +2,7 @@ developpement.simplepdl + developpement.xmi diff --git a/fr.n7.simplePDL/process1-ko.xmi b/fr.n7.simplePDL/Process-ko.xmi similarity index 81% rename from fr.n7.simplePDL/process1-ko.xmi rename to fr.n7.simplePDL/Process-ko.xmi index 7b75b5a..7399f30 100644 --- a/fr.n7.simplePDL/process1-ko.xmi +++ b/fr.n7.simplePDL/Process-ko.xmi @@ -4,29 +4,28 @@ xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:simplepdl="http://simplepdl" - xsi:schemaLocation="http://simplepdl SimplePDL.ecore" - name="ExempleProcess1"> + name="Exemple foireux"> + + + - - - diff --git a/fr.n7.simplePDL/Process.xmi b/fr.n7.simplePDL/Process.xmi new file mode 100644 index 0000000..2a1b973 --- /dev/null +++ b/fr.n7.simplePDL/Process.xmi @@ -0,0 +1,48 @@ + + + + + + + + + + + + diff --git a/fr.n7.simplePDL/SimplePDL.ocl b/fr.n7.simplePDL/SimplePDL.ocl index 2db1ed8..22c784a 100644 --- a/fr.n7.simplePDL/SimplePDL.ocl +++ b/fr.n7.simplePDL/SimplePDL.ocl @@ -20,9 +20,8 @@ def: process(): Process = context WorkSequence inv successorAndPredecessorInSameProcess('Activities not in the same process : ' + self.predecessor.name + ' in ' + self.predecessor.process().name+ ' and ' - + self.successor.name + ' in ' + self.successor.process().name -): + + self.successor.name + ' in ' + self.successor.process().name): self.process() = self.successor.process() and self.process() = self.predecessor.process() -endpackage \ No newline at end of file +endpackage diff --git a/fr.n7.simplePDL/models/SimplePDLCreator_Created_Process.xmi b/fr.n7.simplePDL/models/SimplePDLCreator_Created_Process.xmi index e77e0c4..a79bd87 100644 --- a/fr.n7.simplePDL/models/SimplePDLCreator_Created_Process.xmi +++ b/fr.n7.simplePDL/models/SimplePDLCreator_Created_Process.xmi @@ -1,7 +1,7 @@ - - + + diff --git a/fr.n7.simplePDL/nouveau.ocl b/fr.n7.simplePDL/nouveau.ocl index 24a0088..46d5b49 100644 --- a/fr.n7.simplePDL/nouveau.ocl +++ b/fr.n7.simplePDL/nouveau.ocl @@ -22,5 +22,5 @@ inv weirdName: self.processElements ->select(pe | pe.oclIsKindOf(WorkDefinition)) ->collect(pe | pe.oclAsType(WorkDefinition)) ->forAll(w | not w.name.matches('([0-9]*|[a-zA-Z]*|_*)')) - -endpackage + +endpackage \ No newline at end of file diff --git a/fr.n7.simplePDL/src/simplepdl/manip/SimplePDLCreator.java b/fr.n7.simplePDL/src/simplepdl/manip/SimplePDLCreator.java new file mode 100644 index 0000000..a81782f --- /dev/null +++ b/fr.n7.simplePDL/src/simplepdl/manip/SimplePDLCreator.java @@ -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 SimplePDLCreator { + + 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/fr.n7.simplePDL/src/simplepdl/manip/SimplePDLManipulator.java b/fr.n7.simplePDL/src/simplepdl/manip/SimplePDLManipulator.java new file mode 100644 index 0000000..61131d8 --- /dev/null +++ b/fr.n7.simplePDL/src/simplepdl/manip/SimplePDLManipulator.java @@ -0,0 +1,62 @@ +package simplepdl.manip; + +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.SimplepdlFactory; +import simplepdl.SimplepdlPackage; +import simplepdl.WorkDefinition; +import simplepdl.WorkSequence; +import simplepdl.WorkSequenceType; + +public class SimplePDLManipulator { + + public static void main(String[] args) { + + // Chargement du 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 (notre modèle) + ResourceSet resSet = new ResourceSetImpl(); + + // Charger la ressource (notre modèle) + URI modelURI = URI.createURI("models/SimplePDLCreator_Created_Process.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); + + /** + * Manipulation de notre instance + */ + // Accéder aux informations du processus chargé + System.out.println("Processus : " + process.getName()); + // Naviguer dans les références + Integer nbPE = process.getProcessElements().size(); + System.out.println("Nombre de ProcessElement dans " + process.getName() + " : " + nbPE); + + // Afficher les sous-activités + System.out.println("Les sous-activités sont :"); + for (Object o : process.getProcessElements()) { + if (o instanceof WorkDefinition) { + WorkDefinition wd = (WorkDefinition) o; + System.out.println(" - " + wd.getName()); + } + } + + } + +}

VgnA>P2nmlB5Dx``h<0tT7YBr`fsritJgU0?zxr1JKpoy}otRjC z5L+?LBz|@Gi&noqJZg52JFWiFaktYR4C8(W03!O))%Y}mU2VoOCQ@V;<1EEE(S{aA zk0efE4K^&!&SiR9L1 z+)bFUOlikB%g~%);@FhCWWt;-zT5A;GiWyt;`jC$o?((ZK?zXJgwbk>%E6YTw8!~$ zgvOs{3$_yOaIDR|o7N#hgclM$&4fgA59f8*JHNBBP=3vwAX&{YC)9rU_VN9Z$3Z}j zYQ_J0Rrb!)1GSguiBJ6|TRlGG#koJM(0MDM^UIeCnLa6WW-=c)h1$0)#SB%7DiLUz z!S8cnXu(PKD*Zlwx!K!nLV-vbiRv=t>PS1$xlGvz8Fx$~w=T#OUm5J~5^NUx9X-;f z)4D13L$b*N>FsCiILd`gy}79Vjx-bO1#oEGS}ZoIv#e0@(dmm$I%l#i}P$D5Fb+?7DV?GO~aUjp^o!J#ixOv6mZceIo= z^=Pcw0@pUwehhHM9v2l^8^=}#6@2_SW~&I%C|ZugC86l|M};_Oe0CjmwOOdH_ESmS z?!nSPdc1uD>bgJV>R+(oi{Jj*}IO;=ut`M PpCz6D|Jd4juE_rY>_Xe9 delta 52 zcmdlayoY^)DHF5#Msrq1oc}OiV_rkS=VYZH(14P)avNDF_)N8HHp~WUxbOozdZQEKLcF z0im=NTDfhZT^Stz5~I;+ll0HlHoRz7FuUFv(>``5}_7skDCE;}9$z5DWr-`_eikW3}wsrM4C$=J|9sx=yn zyE{*J`0-eJ*gx?>?8BI~?3x-24_Q_I7^o703o7oX-er8rtWipS#^SR;A zE|$30C!1=bcF{&GZE;Jou$udOV)}4Ljh$s;#D;CueCsEULfX1WN?C%$kbOiv5Y#(o z5mvVCaNa~iCS<+Lcae2)`?@vTI~JpMnp1q5Fss^;lRwq0jI&}k#CfTpR+K2;N!+@v z(@t9lHR9yttEpC(opG1HYsf^%=&|$GN0)CCo7Hif?fWB7>yL83tvco877J8CU5Vuv z zJ6wYjXobbixUg6Ag?+^}uQSj1&7epXgQfgLFfJ!vE*k5Q8=zv!TY+%y)1?RXu6?TA z-CwD5iyKX$W^2oBZ2aqGSU#fMHqbu(mr&Zb3OUf<8{onB@B`cgX*~+JKsD6#CAbYg zLK&#PpWtU0gEO!XUWFdBjI|Ja1;0QAd=2C94SWl~!eOX{W_S@^0;#qJzk$?z4GzF@ zn1NF;0dpW%>VaPsdj+Q93uxdi^SJqvf{MtVdFTb%quY#u4wKb-(z=xovg&;pbc4&s zGBRJ<=_%>XpTjIjmn_H^U9Sdo7423_(o}5~^gF6Rn*2XA@bSO8@jJ!khFn+&Iq?VR zP#N(js8gA+m+*JU3B=bslKN6t>R$&rAoaH^-@sfF3Zm<#5`7G+K|(LX4xyQgK`lr& gomcoOL`oUxM(TVwFZ8anAV1`jyeN2}#sVLn0M1|wlK=n! delta 89 zcmeycka@>s<_X4}%nS^SHG$0X^ETR~w=jxsUeY4Y3=|XHEYY!!3CNJxEZJSj#JG6# t-rmK+j2kBNFPEO2vz=q}zeP8Afy$?Ex+yVv(P^{E1*eTR-#Gn_5dbHrA`1Wj diff --git a/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index b/.metadata/.plugins/org.eclipse.core.resources/.root/.indexes/properties.index index c7b1ac59c577c3f8e633d8da670e1a0ce90856db..7bde54e80abb4024585bb8cd8c5986556eed2037 100644 GIT binary patch delta 18 ZcmX@jc$#s74Wr>iTMcG26Z44~$pANL1&sgz delta 18 ZcmX@jc$#s74WrRSTMcG&Ba?|4$pANG1&ROw diff --git a/.metadata/.plugins/org.eclipse.core.resources/.root/41.tree b/.metadata/.plugins/org.eclipse.core.resources/.root/41.tree deleted file mode 100644 index 2d0611c25011e62fc283ca9e6a9d23ad84a369a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22297 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 JYSe#C{r?T>UZ?;7 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.root/48.tree b/.metadata/.plugins/org.eclipse.core.resources/.root/48.tree new file mode 100644 index 0000000000000000000000000000000000000000..ee02bc2d33d2d16881fd3918b54fe1d30f1f82e8 GIT binary patch literal 32315 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 A!~g&Q literal 0 HcmV?d00001 diff --git a/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources b/.metadata/.plugins/org.eclipse.core.resources/.safetable/org.eclipse.core.resources index df9c184caa0c900379089cffa8dc916870837df9..c82b90daf0b1f26f41dcaadaf9c2788a319bea33 100644 GIT binary patch delta 183 zcmZ3=vyx|mys%qQrhyju>gtkWTlkorKBd6rt6hvPA+7YoBWo=VDe;E*~ylyt&>+XH4|$% S=VW(Q<;jvPlNbq_`vw3hS2k$? delta 185 zcmZ33~29q~3$xM8-a`Jo@K1RdIfh>y5dZn3@;~8Zqe_%0~oWLkE*_PD=O!oolwM@ - - + + @@ -23,10 +23,10 @@ - - + + diff --git a/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi b/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi index 2fd0afb..565d20e 100644 --- a/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi +++ b/.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi @@ -1,6 +1,6 @@ - + activeSchemeId:org.eclipse.ui.defaultAcceleratorConfiguration ModelMigrationProcessor.001 @@ -13,7 +13,7 @@ topLevel shellMaximized - + persp.actionSet:org.eclipse.mylyn.doc.actionSet @@ -504,7 +504,8 @@ NoClose - + + Minimized View categoryTag:General @@ -519,7 +520,7 @@ - + View categoryTag:General @@ -601,6 +602,7 @@ org.eclipse.e4.primaryNavigationStack + active View categoryTag:General @@ -864,36 +866,14 @@ categoryTag:Help - + org.eclipse.e4.primaryDataStack EditorStack - active - noFocus - - + + Editor removeOnHide - simplepdl.presentation.SimplepdlEditorID - - - - Editor - removeOnHide - org.eclipse.sirius.editor.editorPlugin.SiriusEditorID - active - activeOnClose - - - - Editor - removeOnHide - org.eclipse.sirius.diagram.ui.part.SiriusDiagramEditorID - - - - Editor - removeOnHide - org.eclipse.emf.ecore.presentation.EcoreEditorID + petrinet.presentation.PetrinetEditorID @@ -903,11 +883,13 @@ View categoryTag:General + active + activeOnClose ViewMenu menuContribution:menu - + @@ -971,7 +953,7 @@ - + View categoryTag:General @@ -1026,7 +1008,7 @@ ViewMenu menuContribution:menu - + @@ -1203,8 +1185,14 @@ + View categoryTag:Ecore Tools + + ViewMenu + menuContribution:menu + + @@ -1276,7 +1264,7 @@ ViewMenu menuContribution:menu - + @@ -1285,7 +1273,7 @@ Draggable - + toolbarSeparator @@ -1304,7 +1292,7 @@ Draggable - + Draggable @@ -1325,7 +1313,7 @@ Draggable - + toolbarSeparator diff --git a/.metadata/.plugins/org.eclipse.jdt.core/144863826.index b/.metadata/.plugins/org.eclipse.jdt.core/144863826.index new file mode 100644 index 0000000000000000000000000000000000000000..f43490fc1f0bbbbc4c8076b6b7ece69bac42091f GIT binary patch literal 5243 zcma)ATW=dh6h4l<>r0xXNh(y@0EJ43qBIk?Py~pUC~-staiTayl@Kc1^~BlM-nI6U zCXf9G2p)OoFYpU^=kLV1m@{W)cGq6p$wL(HnRETlWzH@vZq+wxFYf(Z+iPs?)bCYS zs*kGxi~qt$fp4=e4}HhwAq#mB25il@_wmQdYwO5bEQ3+^c+^}p;O4I2tMhQJ-4+bN zZ38MORy(#j-8R2#fI;M229(;C&BX)Cn|nOqR)oJQ`@ZD{PUv_p0OX)};2ejM&+#D- zITQbFLm>*CcE8`hfRc6#=_cgzhFOGZ)a6CK%^N%)L+kl*)n2nPlTy1%w7LL}7K^3WPZYazz${a;FESJ>GJH&_5w{H}@hp zbUHjv7g49Tb_NMkJ3rDvk=t#j8%V1qUzG+Ol@ENY!{2)T8?;?Ss3{$2O_mSw6xx<6 z!_V{1fi$I+==!P%Pthxv`>4nSRb!$xNT9OeSS{BJLdT}({PVpnsoX{TY1^jlbvm9) zhcRplTEd44JSVeU%k)DFaK~_dJ>5vY<9n88s+(f-jHl_&RbOAru2p zRK1NffH{o@1{+s*KJujtrLB5nf33b=Babt^kJL*rQ&m%G4k6)1s`RzzSa7D}Ho0nv z)HFb4r!eJsWU3T$%ir+ciWwn0VkQCEu_S_Ko4c*>kOby8YMX1%f7*Xpd$C`uivdUE z8C{#gzL*H-Q06)))NKGEE(TF)=ZO2h(-aAlCIMz)ItG`m;(=(G6ba|2B*od0T$rEf zghX6OnjgZNt&)#aUZO*oV5A|Kkc3epEesD{Rz>McDAM2{v(jr*j1D@yfZL--m@-_F znbU4)$WyxF8YTEh={Y*|A(Xo~=fbwD?3jUd#MvVXXTF7(!>hn+M za;#@1GlP8Vo*QB*1d3;#v?hsG8t))y?HCyYyfpSb)i2vtSBVu#OsQRvc9N+_OsBAf zN;LjTgC09d&771J@FiZ}KzKLh4Mpiu#VA>+&t%3$r}+`$f$-=FVRWNVgbYTTR-F zWeS|dOUX(o+Lx`b=cwi%2r23qCgT;)Yz%u3K1rX0cj-#gUahffoBH7Q4`#zX_G zq!cD4H_4q-c#x8bZ`qM1(3>-OD74XdXA&a3X$2`5CvpzUsJ%W(HTxI{gyE>FU zJWN&7wXF2ub6p}=^HaerCmFw5g7Ob=2OcGj$kHVbnWz{m02A9K%J$%C$8vBcF*cOi ztejq4nb@3JIo5Fs&$JGm1)Z+zE4hGY=`qS!lA5d%I%DdsAQep?R&kW*S-i^hD+s|}0P56B)`%F# zCF~Nu9mHA}Xx2EM4C6csv7}3-=WEF zwJhCY$;Q4c_i}b4ZvG2+I+)Pw`IvBFVo%{Kjneo^90?KCVl@rXm6fOl-x++ZZB7yy zX_e}DZLozVrdJ*gHCE&;vfA<)(&5v3t#rp9<3Zt(27^U_;xoY&_F3j4V8-#u& zK4wW;70MkR9(qlBG=G3n5OujcEd361DFJDrvIMhILOk!bqX1y~AE+cWfQ1<-g(qDu IB^Lhr9}m%WO8@`> literal 0 HcmV?d00001 diff --git a/.metadata/.plugins/org.eclipse.jdt.core/1811219029.index b/.metadata/.plugins/org.eclipse.jdt.core/1811219029.index index 9afd3f606e156de22558254228b452ca87bde66b..a3a856bee681f9ed6367999357f600caaf18e8cb 100644 GIT binary patch literal 4083 zcmb_f-A@}w5MSfZ17oM5qA8Usq(({}s1G*}d1;e4*w9nKxVC{xDWaFVwX@0j&e~g> z(7&i}ed+(#&d%JO?brqr6$!ZAo%!u=XXk6#mes5`e%n27v^&;mbGKTlKC3cT{)s&e zrDOJ_=|49^F&KKhRX;RU;0DU9IZBLe70Akadu;Dy+4{g1zS-4_jIk`s4ZTrc`0&kG zsoOYd9oM>zt7h$_(fJpCSa~ReA(u+<@KAU>#7U!de0F3tudF)iJvce7pB*=@4lVej zRZ)nsHTHcA(ai}D(*&j!|9K^0S|O$f2Pp)5ReKvMX*;UsINamG5%;;&CoqZiGJpym z3{axYH`!62t4Lb}{;>#^h6>I77>TjPTnNfEQ_R#_2>24f>bz%S`=b0$=FE52F9TX&eX_Io0sUD*|=!(b#G-r>rWQ{U4Ztx(xgX~Y#w_Il*I9zO_t#Xl<3iT+1$Xu$?tLzjb( z+ln{s0dT#~ZN@f0>%9V~lfWH$2=o~^h;nYbZfhn)R<$0HF=yjT`&@D{KZhz9{%@xH zeI^`WcQ9f9=3eKvW@8efDuzK@ynr1hwzwB^5@&zJ&KNt_A*6ypLi$07ow!RkA!kMtw&sPIW*qNdYjUi+#<@qZa>YH2q2Dh3sd|8B+ ze-X$J;m~$s3uK2QW&VH)U*Pr~1xc|B^@vBT=8eC#AO#>o*^wNAOdI&DZAHh(f^_sb z;}{R)15C0ofh_WXFSXq%TemTJO9*5XpT0uIGVDCMd7W4mIyDtL;J2rF?%{bQpLpmwWI%8gO5QfQ5TqtcKkQnqXz@JQlaepcKI3S-AljVYR%4I?M zIWair%gZkCRv*t%2}g4-^`nPy2cHzZxw~E%aCZhp5s;Iv2E(4Q7AvZmoGh?V-_+8#|OO&DKGjGkOwA z{56CqQhT&4$F`pe02CwL2W~+2OaFF;n-2U z;cO``GL*`3Zs(5bn3p48i2=v67)dap?zgdS7aE`Wo)u*_XSyRqNe42vZczvBk7V!{ zC|{t#n@b!m?BnxMSBVmtkrH&bX$XCs%G=a~;~>kOK+=`xoL~T|q!xsIfowARiGg!D zig?1{&CXQ}Xe332Mgb$qk*J;XxZhXrXvqVX_};}&XK!|ysXdV+gy9kzqv zuaLV&@X&4Z9*q8Gr2$v(0$c?r4MBa6ZQ8ycC|lbF literal 4083 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 literal 0 HcmV?d00001 diff --git a/.metadata/.plugins/org.eclipse.jdt.core/2574233358.index b/.metadata/.plugins/org.eclipse.jdt.core/2574233358.index new file mode 100644 index 0000000000000000000000000000000000000000..02bd068b30fccc919ac5f24fdd495009da5d2ddd GIT binary patch literal 13069 zcmc&*TW=f36+W^=U2WYX+i~prp>5K_@Y+rq6s_xkp=f0tnNlg)acm&Mn%v0iP+WGo za%vQ4-9F_1wEw2)ThU)3N@Bk`Gkc$qq+v*D<75mYG{Ei90A^(jbb7Q=ZM2+D*Oodq4D+DVvJb$bCDdeO&7dPzsmy@b zDOJo}&u0Bs+_n!Q5nF87f?W0KzGnD#S`S*eDlFHr(hb({*q;A($365Kwqa<<=IW+T z<$Q5c{;OpLDu$a8eHIs6S-!BHq&z(;YgmumIlh9H7fI%beyektVT5^7aSu8!0_tVU zPI|E+on>H%YI&2cctZD?x3tNIVeXN+<9mk<|Io9WLM0h595Og6rhp%(y}#}rSWY{s zr(&5P<9gbw5NQcMtRla>R@Sv3|<73J|J$fdHbIl4`TnTNu4NJJz z9i_%Zp{-Y&VSwM%d|3aKo+mUnOjO9i8=Qzrlc_lBL!|Z|x!}I;x@oKmSRY((Xf?&6 zV%#lAS(_qKN~bc!gPYvE|WBfibhVr-(*xaOso`9+Y#;Nd(;TrD_>>qzshi5 zh~SxQGx0}Y+dQ!L?U7**tV+$pkjL~j3|X@da_l$~_C>hbr)Lch>A;2pf=cYXeyQlN z7jDIsF^r2OT`#VYBYNp{6+S+6J+U)A516Wjd_e}wymZ}`ZHb(ALeHgY7#e>J<R z3N@W<99@njPE1&g5woX^V%rO)QHLkD0vCw;uL$N{`;Y!GNkM5zX#_rnEgg1XaH$@d zF?yq>+>qQc{m?~T)SSnhCm>W>X(}}Ym5A=xM+8h*T!@6TjcP5Y04!wor0U`cN90g; zW>vfj4;UU#0-H@H0&CI>Drb*8{62sUSyIAHde{x;afit72C?$x8`152Z#Y$O#KWw4$`jRkE}M2&sgZ1Ta3 z9d2Sq-3f#k-2T?_a$0 zlXA+zRY{NjG8lae>GeEPv+{|?XnO07?RmHj#gi!-yD&acn#8};^l9o2uA@rz=<-f; zf;mGRF+WT5pPh`dlYc(UCN=F~&RM_aB?lvH-s}_lNMq5w(LMSw>w9^F`*bS@2=Zne z(MQ{vt7XlJt+6B(O0-BTS%&UFg%>6!b+2&m&97FUI`;Rrmq-Jj;9ZHvgryf#*Cuxu zKj+GxXT25pWXK2a#o;Z?4Ind4Vb%R` zEv3CnKAwvX*X0_q2V%r2t!i{GhpuG3P!e6$_>6o*^da3C47JbzF8IR&ftkOKDfwsY z7;;Rr4P0B}q7UcdJY`noAF(MjguRKDvqvX9?h;5xg*rc4Xvfc!4Pg^y_&E@je6Wd+ zX(UPvYf6BctVdZI$g8fMVi5twq*1g7|1*262#ytVp$3QX=c>Zk1=pU_$K{C zuB$vRlgETCa^T`&r-{=q#&6t=#0g)LG}yX|ZJ|v*Q&rk5foYyHNn;FtmoY$h(u?(= zI}D*YNfmC$G>>R8eJ>#G0YWnFa8)2or&PZtr!&9U_~Td*-6O_53=r!6U{Gd=h^%O; zM7#}zm~Pqaeg73NJHe6u0p!d*OU6v1E8tgK=ir@UeI7&9=Gt73D|*i9s+vQoRVZKfp&$>M8Uz}R9OOTyl~ne= zW6b>f-8;NGrTYQ&YA`*7Vg1r9_z6AIfuerKS+awp9@X;Teq@?Qg!?u0aK%ML={u5n zz+xZ1axE8kugZ9igit~=IGoVgfu|4_?v$JBuNfZJV)A3RuRTW8q zdT>mo#nl*4CzX(!m#*fXo5Elx^q!?Tg&?RK+!GkZ?^0AmHfmly-Zhw%woOjkLqnMtW_j0t#LiO0CIGhVZj zFUs^QuXAH_mNH<=#K)bsFIGohSks@N^RSt)&}7w>8sdf)^N>%(ArAfqyoGI?c*YDZ z?$*n-9dj4mse60S)($8f(NYGhFkaO4mlCBjueOj%I?T~^QT8Pp*P<=I&~A{vm3|b= zM=x#+?sLIFlv?Ac^b^h=6r0S$glL|{z(Dqr-Ecjj7Gc>bTlRP2W9Ti@Oe^Sko$AUX z3ydJTC|_mlHr-L3x)>9zv!?H)V4ifXwRs(`vyrpLsRzk2sX3;u=?=zBDC$Cq@;hu- zG&gUUrYtlaln*f;rqq2V9$kPNO-rX%ox&@cW-iGE%r#-7aWGCvNx|%^+8B<0V6}zU z3PX*gZtJ#W?JN?4X}nO;g>_;uF}s?8qkU zRE^)o>!4)z^BbHm)wwArDaS$z=0HjsWMMCY zgAt+d=t~KvZS78Wh+h~7GFDnvSN3kdpWodUE;IKSrEXFot7dJtx=}B0?maDUKB?}R zkINeZr3Ki{TZs;KJXPFHzUFQ)SoN5evj+*$z(uuKxSfe!Ed&v?Z8g3_M@8&Ss%Mj( zCmbGO6#J#??PF%B{^?EljAylCK5`X2=zD_Yl49pJTgE0R;qddxLK!@qQmG}H*)dD* zoJ7hGHYIo{*qI3rNSNvQdUdB-ezLb$+p0cU7ogswar@xgILFJ`qM7GjP6TiS+mdOq zZ<&-Q$9NE6-lgr$a;3Vr_o%wNRTIk{(_$ml7^pa1*{Ig4b+eK-JNDuiL$1q@#TN~F zP>)F9+gs-P4yF^$#oA7p*{MdTJmn%eUks2HjKZj;%w83=16fu+-`d)&mTM^nF`yIs zf`dx(DTDwSc?3}Ei1QJ_GOa~*c)T)T_9w($0smKGbz!)$<{X<1){}bZ(}c)uc&TK> zIqB3G4)y6Oe*b~rS(?FDHCoMeq&0l}J5A$D7PeQnVezp)&^&hZuUvkMQW0!T|BEhJ zZ6q~rGUH*_4Vo6*ND|k-z}G;~cgcO@t|WBhpEM&0@r0W#T8Isi^M3j%%|?q6{rowN KdxDE!{N}#{tzMM? literal 0 HcmV?d00001 diff --git a/.metadata/.plugins/org.eclipse.jdt.core/3311238943.index b/.metadata/.plugins/org.eclipse.jdt.core/3311238943.index new file mode 100644 index 0000000000000000000000000000000000000000..6c23abf37b9a32144551fc8a783e9612255c4732 GIT binary patch literal 31407 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 literal 4123 zcmb_f-EJF26rLphjh(nOsFYMfxu_7J$dk~E-XOqQgtOKGqdM>=gj$EveE7|TjyIpwoZHPlg`#|efQZe zAvH!mkAzDHf(FlN#7ASFb(=?2hTrv%k7&b{eB#JZ)L%Ih=SiMaMh*{XAKwx}@?^c= zI_@4d`mKvj{pe5#NMn@MYB%t!g^^9OmG}}vClf-3Vgqw z4J>_jYQ$)CJX_M_D{M5-dyfBdvE*7%xgmseo%p>ln40=Q50d~?>N@UgXQ-hz+u69{ zVbFtclWcg6&~SH|QXtP%tm-$dH!d4XV8GDHh0&1Xs-Uw7i5~p~krs^|mo=^&!7|X5 z_DKSP#8nI|py9z#hf^^f5Xx@dBmt3Ql|#I6$LGIkoeDY@@m;Me*o3pIjLc#yMN!bA zOjvzlEzyU-HdzLjQ#vX4BW5vTV!~Y`talBsMp_XQBEW$Al7{~I7rnC)gS$MNKrZQJ z1R0@=z|7iGiZZ_NjV>k+!5+8u)bCb8F*Nt8HQB(4eVMUC9_t3`P-g8;uixnGw{ZIu zov_#z+Bp>)pf(Q()SS}EgbBetZ6ZR}$mYBPMt4wPC5bS)iwD)IQ|U82sbxHG_zJ2- zQYiKC6jYKM_DYfhhOngL(O?zPbolmWJ; zHv}7w=S>4SrTR<}i*>whto%5Z^h>l`c?_u}{lHkJ<_ZRxtpq|XGKU`^O;18i=tG-f zM#qPO4OO%WQ!FAw{=}YJ=N~|83I%jTD`b|hGDffQs2wDA!La4QCT97eLeM4Z6qOLy zMya&RZ-Jm+8#oP_ZiHjkdA5yh`?TVGyzpW)(!~P)`jqW-Tc=%rR!b_+Ws-^ zPqqf4%HQ5768FMZ34$m;q%;1m5N4u)48u_~j>Pn94{P%TEqTe3Cr8~x5RZO`U z?|HeP=H3<4mTTzM)J`L6ZDJnfys&bnHUE9WE2o=TM1}jbR?N>+s&YIbOsYmT?RZrE z-TLiA(C9`QBHHYELzgNfNH?N)?v$CPxVX#D91N;ydm7s;lTS^}p55bguK};)HJ&D> zozt3BB${Vwd5OaEWBB#qw@S(b&U~*4pPaDmkrlxPu=ty-IYAIgM|~Kas-yhxWF0DO zBt@(y1%37xDUX#{Ylm}huT9^j|eIMLsq9}Fl+ux MO7eQlG)JxSKaa6OPXGV_ diff --git a/.metadata/.plugins/org.eclipse.jdt.core/4138038359.index b/.metadata/.plugins/org.eclipse.jdt.core/4138038359.index index 41dead305a7aa2079ef7cfabbe2c334c78eb9b2e..a7ccf954d47929213eaa1411ded008eb2d4dfade 100644 GIT binary patch literal 35052 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 literal 33933 zcmcg#*>{`Ab-xrz5Zo7ul6O0H9XGKmc!}*KP8`!DB%_uog`{MsJt+#4pJgNz$pE02 zoSw#MdeYPWQGMz|9`n}6p7!)nq)1UFB}$6=yLaZ!H}h?TY^5&}@qIIQ?!L`nK*wwI zbJY)@xm;aXtX-IY=H)Xlzxp!K@BWh>Z?~2!?dH{u)o5d7wQ_E=xzbo$j?Vm|@o8hM zp9U_r)|aDpdm4XMSEH-ZT4$_8rG@BMn^AkBpGxiZ&DL^+krRswy*-ov3Arc><&^e%9