feat: ajout des sources du TP5

This commit is contained in:
Laurent Fainsin 2021-10-05 22:17:48 +02:00
parent 60027ab264
commit a79985efd6
55 changed files with 3199 additions and 4 deletions

2
.gitignore vendored
View file

@ -1,2 +1,2 @@
.metadata
.metadata/.plugins/
**/bin/

0
.metadata/.lock Normal file
View file

406
.metadata/.log Normal file
View file

@ -0,0 +1,406 @@
!ENTRY fr.n7.simplePDL.toHTML.ui 4 0 2021-10-05 16:30:06.608
!MESSAGE '/fr/n7/simplePDL/toHTML/main/toHTML.emtl' not found
!STACK 0
java.io.IOException: '/fr/n7/simplePDL/toHTML/main/toHTML.emtl' not found
at org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator.initialize(AbstractAcceleoGenerator.java:481)
at fr.n7.simplePDL.toHTML.main.ToHTML.<init>(ToHTML.java:90)
at fr.n7.simplePDL.toHTML.ui.common.GenerateAll.doGenerate(GenerateAll.java:77)
at fr.n7.simplePDL.toHTML.ui.popupMenus.AcceleoGenerateToHTMLAction$1.run(AcceleoGenerateToHTMLAction.java:78)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)
!ENTRY fr.n7.simplePDL.toHTML.ui 4 0 2021-10-05 16:51:13.534
!MESSAGE '/fr/n7/simplePDL/toHTML/main/toHTML.emtl' not found
!STACK 0
java.io.IOException: '/fr/n7/simplePDL/toHTML/main/toHTML.emtl' not found
at org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator.initialize(AbstractAcceleoGenerator.java:481)
at fr.n7.simplePDL.toHTML.main.ToHTML.<init>(ToHTML.java:90)
at fr.n7.simplePDL.toHTML.ui.common.GenerateAll.doGenerate(GenerateAll.java:77)
at fr.n7.simplePDL.toHTML.ui.popupMenus.AcceleoGenerateToHTMLAction$1.run(AcceleoGenerateToHTMLAction.java:78)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)
!ENTRY org.eclipse.emf.cdo.explorer 4 0 2021-10-05 16:53:25.649
!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-05 16:53:26.906 -----------------------------------------------
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/proj_idm/ -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.modeling.product
!ENTRY org.eclipse.emf.ecore 2 0 2021-10-05 16:53:32.004
!MESSAGE Both 'fr.n7.idm.simplepdl' and 'fr.n7.simplePDL' register a package for 'http://simplepdl'
!ENTRY fr.n7.simplePDL.toHTML.ui 4 0 2021-10-05 16:53:53.767
!MESSAGE '/fr/n7/simplePDL/toHTML/main/toHTML.emtl' not found
!STACK 0
java.io.IOException: '/fr/n7/simplePDL/toHTML/main/toHTML.emtl' not found
at org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator.initialize(AbstractAcceleoGenerator.java:481)
at fr.n7.simplePDL.toHTML.main.ToHTML.<init>(ToHTML.java:91)
at fr.n7.simplePDL.toHTML.ui.common.GenerateAll.doGenerate(GenerateAll.java:77)
at fr.n7.simplePDL.toHTML.ui.popupMenus.AcceleoGenerateToHTMLAction$1.run(AcceleoGenerateToHTMLAction.java:78)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)
!ENTRY org.eclipse.emf.ecore 2 0 2021-10-05 16:56:25.148
!MESSAGE class simplepdl.impl.SimplepdlFactoryImpl cannot be cast to class simplepdl.SimplepdlFactory (simplepdl.impl.SimplepdlFactoryImpl is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @29ca9b1c; simplepdl.SimplepdlFactory is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @1c6b7c49)
!STACK 0
java.lang.ClassCastException: class simplepdl.impl.SimplepdlFactoryImpl cannot be cast to class simplepdl.SimplepdlFactory (simplepdl.impl.SimplepdlFactoryImpl is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @29ca9b1c; simplepdl.SimplepdlFactory is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @1c6b7c49)
at simplepdl.impl.SimplepdlFactoryImpl.init(SimplepdlFactoryImpl.java:38)
at simplepdl.SimplepdlFactory.<clinit>(SimplepdlFactory.java:22)
at simplepdl.impl.SimplepdlPackageImpl.<init>(SimplepdlPackageImpl.java:102)
at simplepdl.impl.SimplepdlPackageImpl.init(SimplepdlPackageImpl.java:129)
at simplepdl.SimplepdlPackage.<clinit>(SimplepdlPackage.java:58)
at simplepdl.util.SimplepdlSwitch.<init>(SimplepdlSwitch.java:48)
at simplepdl.util.SimplepdlAdapterFactory$1.<init>(SimplepdlAdapterFactory.java:75)
at simplepdl.util.SimplepdlAdapterFactory.<init>(SimplepdlAdapterFactory.java:75)
at simplepdl.provider.SimplepdlItemProviderAdapterFactory.<init>(SimplepdlItemProviderAdapterFactory.java:66)
at simplepdl.presentation.SimplepdlEditor.initializeEditingDomain(SimplepdlEditor.java:703)
at simplepdl.presentation.SimplepdlEditor.<init>(SimplepdlEditor.java:688)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
at org.eclipse.core.internal.registry.osgi.RegistryStrategyOSGI.createExecutableExtension(RegistryStrategyOSGI.java:204)
at org.eclipse.core.internal.registry.ExtensionRegistry.createExecutableExtension(ExtensionRegistry.java:923)
at org.eclipse.core.internal.registry.ConfigurationElement.createExecutableExtension(ConfigurationElement.java:246)
at org.eclipse.core.internal.registry.ConfigurationElementHandle.createExecutableExtension(ConfigurationElementHandle.java:63)
at org.eclipse.ui.internal.WorkbenchPlugin.lambda$0(WorkbenchPlugin.java:287)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:74)
at org.eclipse.ui.internal.WorkbenchPlugin.createExtension(WorkbenchPlugin.java:285)
at org.eclipse.ui.internal.registry.EditorDescriptor.createEditor(EditorDescriptor.java:231)
at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:321)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.createPart(CompatibilityPart.java:300)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityEditor.createPart(CompatibilityEditor.java:61)
at org.eclipse.ui.internal.e4.compatibility.CompatibilityPart.create(CompatibilityPart.java:338)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:58)
at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:999)
at org.eclipse.e4.core.internal.di.InjectorImpl.processAnnotated(InjectorImpl.java:964)
at org.eclipse.e4.core.internal.di.InjectorImpl.internalInject(InjectorImpl.java:140)
at org.eclipse.e4.core.internal.di.InjectorImpl.internalMake(InjectorImpl.java:405)
at org.eclipse.e4.core.internal.di.InjectorImpl.make(InjectorImpl.java:332)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.make(ContextInjectionFactory.java:202)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.createFromBundle(ReflectionContributionFactory.java:91)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.doCreate(ReflectionContributionFactory.java:60)
at org.eclipse.e4.ui.internal.workbench.ReflectionContributionFactory.create(ReflectionContributionFactory.java:42)
at org.eclipse.e4.ui.workbench.renderers.swt.ContributedPartRenderer.createWidget(ContributedPartRenderer.java:132)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createWidget(PartRenderingEngine.java:999)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:659)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.safeCreateGui(PartRenderingEngine.java:765)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.access$0(PartRenderingEngine.java:736)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$2.run(PartRenderingEngine.java:730)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.createGui(PartRenderingEngine.java:714)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.lambda$0(PartServiceImpl.java:104)
at org.eclipse.e4.ui.services.internal.events.UIEventHandler.lambda$0(UIEventHandler.java:38)
at org.eclipse.swt.widgets.Synchronizer.syncExec(Synchronizer.java:236)
at org.eclipse.ui.internal.UISynchronizer.syncExec(UISynchronizer.java:133)
at org.eclipse.swt.widgets.Display.syncExec(Display.java:5855)
at org.eclipse.e4.ui.internal.workbench.swt.E4Application$1.syncExec(E4Application.java:219)
at org.eclipse.e4.ui.services.internal.events.UIEventHandler.handleEvent(UIEventHandler.java:38)
at org.eclipse.equinox.internal.event.EventHandlerWrapper.handleEvent(EventHandlerWrapper.java:205)
at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:203)
at org.eclipse.equinox.internal.event.EventHandlerTracker.dispatchEvent(EventHandlerTracker.java:1)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)
at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:151)
at org.eclipse.equinox.internal.event.EventAdminImpl.dispatchEvent(EventAdminImpl.java:132)
at org.eclipse.equinox.internal.event.EventAdminImpl.sendEvent(EventAdminImpl.java:75)
at org.eclipse.equinox.internal.event.EventComponent.sendEvent(EventComponent.java:44)
at org.eclipse.e4.ui.services.internal.events.EventBroker.send(EventBroker.java:55)
at org.eclipse.e4.ui.internal.workbench.UIEventPublisher.notifyChanged(UIEventPublisher.java:63)
at org.eclipse.emf.common.notify.impl.BasicNotifierImpl.eNotify(BasicNotifierImpl.java:424)
at org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElementGen(ElementContainerImpl.java:170)
at org.eclipse.e4.ui.model.application.ui.impl.ElementContainerImpl.setSelectedElement(ElementContainerImpl.java:188)
at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.showElementInWindow(ModelServiceImpl.java:659)
at org.eclipse.e4.ui.internal.workbench.ModelServiceImpl.bringToTop(ModelServiceImpl.java:623)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.delegateBringToTop(PartServiceImpl.java:786)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.bringToTop(PartServiceImpl.java:400)
at org.eclipse.e4.ui.internal.workbench.PartServiceImpl.showPart(PartServiceImpl.java:1262)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(WorkbenchPage.java:3197)
at org.eclipse.ui.internal.WorkbenchPage.lambda$9(WorkbenchPage.java:3102)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator.java:74)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3100)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3070)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPage.java:3061)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:569)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:524)
at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:363)
at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInEditor(EditorUtility.java:170)
at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:285)
at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:251)
at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchRun(SelectionDispatchAction.java:274)
at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(SelectionDispatchAction.java:252)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerActionGroup.handleOpen(PackageExplorerActionGroup.java:366)
at org.eclipse.jdt.internal.ui.packageview.PackageExplorerPart$3.open(PackageExplorerPart.java:546)
at org.eclipse.ui.OpenAndLinkWithEditorHelper$InternalListener.open(OpenAndLinkWithEditorHelper.java:48)
at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredViewer.java:802)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:45)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:174)
at org.eclipse.jface.viewers.StructuredViewer.fireOpen(StructuredViewer.java:799)
at org.eclipse.jface.viewers.StructuredViewer.handleOpen(StructuredViewer.java:1118)
at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrategy.java:275)
at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.java:270)
at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrategy.java:310)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5745)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1427)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5013)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4507)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$5.run(PartRenderingEngine.java:1157)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1046)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:155)
at org.eclipse.ui.internal.Workbench.lambda$3(Workbench.java:644)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:338)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:551)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:153)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:150)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:657)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:594)
at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
!ENTRY fr.n7.simplePDL.toHTML.ui 4 0 2021-10-05 16:56:47.773
!MESSAGE '/fr/n7/simplePDL/toHTML/main/toHTML.emtl' not found
!STACK 0
java.io.IOException: '/fr/n7/simplePDL/toHTML/main/toHTML.emtl' not found
at org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator.initialize(AbstractAcceleoGenerator.java:481)
at fr.n7.simplePDL.toHTML.main.ToHTML.<init>(ToHTML.java:91)
at fr.n7.simplePDL.toHTML.ui.common.GenerateAll.doGenerate(GenerateAll.java:77)
at fr.n7.simplePDL.toHTML.ui.popupMenus.AcceleoGenerateToHTMLAction$1.run(AcceleoGenerateToHTMLAction.java:78)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)
!ENTRY org.eclipse.emf.cdo.explorer 4 0 2021-10-05 17:04:41.552
!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-05 17:04:42.800 -----------------------------------------------
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/proj_idm/ -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.modeling.product
!ENTRY org.eclipse.emf.ecore 2 0 2021-10-05 17:04:47.781
!MESSAGE Both 'fr.n7.idm.simplepdl' and 'fr.n7.simplePDL' register a package for 'http://simplepdl'
!ENTRY org.eclipse.emf.cdo.explorer 4 0 2021-10-05 17:05:51.304
!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-05 17:05:52.174 -----------------------------------------------
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/proj_idm/ -os linux -ws gtk -arch x86_64 -product org.eclipse.epp.package.modeling.product
!ENTRY fr.n7.simplepdl.toHTML 4 0 2021-10-05 17:05:55.280
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.osgi.framework.BundleException: Could not resolve module: fr.n7.simplepdl.toHTML [861]
Unresolved requirement: Require-Capability: osgi.ee; filter:="(&(osgi.ee=JavaSE)(version=14))"
at org.eclipse.osgi.container.Module.start(Module.java:463)
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel$2.run(ModuleContainer.java:1845)
at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor$1$1.execute(EquinoxContainerAdaptor.java:136)
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1838)
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1779)
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1743)
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1665)
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:345)
!ENTRY fr.n7.simplepdl.toHTML.ui 4 0 2021-10-05 17:05:55.283
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.osgi.framework.BundleException: Could not resolve module: fr.n7.simplepdl.toHTML.ui [862]
Unresolved requirement: Require-Bundle: fr.n7.simplepdl.toHTML
-> Bundle-SymbolicName: fr.n7.simplepdl.toHTML; bundle-version="1.0.0.202110051701"
fr.n7.simplepdl.toHTML [861]
Unresolved requirement: Require-Capability: osgi.ee; filter:="(&(osgi.ee=JavaSE)(version=14))"
at org.eclipse.osgi.container.Module.start(Module.java:463)
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel$2.run(ModuleContainer.java:1845)
at org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor$1$1.execute(EquinoxContainerAdaptor.java:136)
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1838)
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.incStartLevel(ModuleContainer.java:1779)
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.doContainerStartLevel(ModuleContainer.java:1743)
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1665)
at org.eclipse.osgi.container.ModuleContainer$ContainerStartLevel.dispatchEvent(ModuleContainer.java:1)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:234)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:345)
!ENTRY org.eclipse.emf.ecore 2 0 2021-10-05 17:05:57.602
!MESSAGE Both 'fr.n7.idm.simplepdl' and 'fr.n7.simplePDL' register a package for 'http://simplepdl'
!ENTRY org.eclipse.emf.ecore 2 0 2021-10-05 17:06:23.932
!MESSAGE class simplepdl.impl.SimplepdlFactoryImpl cannot be cast to class simplepdl.SimplepdlFactory (simplepdl.impl.SimplepdlFactoryImpl is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @49f012bf; simplepdl.SimplepdlFactory is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @24f9b267)
!STACK 0
java.lang.ClassCastException: class simplepdl.impl.SimplepdlFactoryImpl cannot be cast to class simplepdl.SimplepdlFactory (simplepdl.impl.SimplepdlFactoryImpl is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @49f012bf; simplepdl.SimplepdlFactory is in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @24f9b267)
at simplepdl.impl.SimplepdlFactoryImpl.init(SimplepdlFactoryImpl.java:36)
at simplepdl.SimplepdlFactory.<clinit>(SimplepdlFactory.java:22)
at simplepdl.impl.SimplepdlPackageImpl.<init>(SimplepdlPackageImpl.java:86)
at simplepdl.impl.SimplepdlPackageImpl.init(SimplepdlPackageImpl.java:113)
at simplepdl.SimplepdlPackage.<clinit>(SimplepdlPackage.java:58)
at fr.n7.simplePDL.toHTML.main.ToHTML.registerPackages(ToHTML.java:347)
at org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator.initialize(AbstractAcceleoGenerator.java:453)
at fr.n7.simplePDL.toHTML.main.ToHTML.<init>(ToHTML.java:91)
at fr.n7.simplePDL.toHTML.ui.common.GenerateAll.doGenerate(GenerateAll.java:77)
at fr.n7.simplePDL.toHTML.ui.popupMenus.AcceleoGenerateToHTMLAction$1.run(AcceleoGenerateToHTMLAction.java:78)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)
!ENTRY fr.n7.simplePDL.toHTML.ui 4 0 2021-10-05 17:06:23.941
!MESSAGE '/fr/n7/simplePDL/toHTML/main/toHTML.emtl' not found
!STACK 0
java.io.IOException: '/fr/n7/simplePDL/toHTML/main/toHTML.emtl' not found
at org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator.initialize(AbstractAcceleoGenerator.java:481)
at fr.n7.simplePDL.toHTML.main.ToHTML.<init>(ToHTML.java:91)
at fr.n7.simplePDL.toHTML.ui.common.GenerateAll.doGenerate(GenerateAll.java:77)
at fr.n7.simplePDL.toHTML.ui.popupMenus.AcceleoGenerateToHTMLAction$1.run(AcceleoGenerateToHTMLAction.java:78)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)
!ENTRY fr.n7.simplePDL.toHTML.ui 4 0 2021-10-05 17:09:56.064
!MESSAGE '/fr/n7/simplePDL/toHTML/main/toHTML.emtl' not found
!STACK 0
java.io.IOException: '/fr/n7/simplePDL/toHTML/main/toHTML.emtl' not found
at org.eclipse.acceleo.engine.service.AbstractAcceleoGenerator.initialize(AbstractAcceleoGenerator.java:481)
at fr.n7.simplePDL.toHTML.main.ToHTML.<init>(ToHTML.java:91)
at fr.n7.simplePDL.toHTML.ui.common.GenerateAll.doGenerate(GenerateAll.java:77)
at fr.n7.simplePDL.toHTML.ui.popupMenus.AcceleoGenerateToHTMLAction$1.run(AcceleoGenerateToHTMLAction.java:78)
at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:122)
!ENTRY org.eclipse.emf.cdo.explorer 4 0 2021-10-05 18:01:11.006
!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)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

3
.metadata/version.ini Normal file
View file

@ -0,0 +1,3 @@
#Tue Oct 05 17:05:57 CEST 2021
org.eclipse.core.runtime=2
org.eclipse.platform=4.17.0.v20200902-1800

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" output="bin" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>

View file

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>fr.n7.petriNET.toTINA</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.acceleo.ide.ui.acceleoBuilder</name>
<arguments>
<dictionary>
<key>compilation.kind</key>
<value>compilation.platform.resource</value>
</dictionary>
<dictionary>
<key>compliance</key>
<value>pragmatic</value>
</dictionary>
<dictionary>
<key>resource.kind</key>
<value>xmi</value>
</dictionary>
<dictionary>
<key>trim-position</key>
<value>false</value>
</dictionary>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.acceleo.ide.ui.acceleoNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.pde.PluginNature</nature>
</natures>
</projectDescription>

View file

@ -0,0 +1,23 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
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-Vendor: Eclipse Modeling Project
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.emf.ecore,
org.eclipse.emf.ecore,
org.eclipse.emf.ecore.xmi,
org.eclipse.ocl,
org.eclipse.ocl.ecore,
org.eclipse.acceleo.common;bundle-version="3.3.0",
org.eclipse.acceleo.model;bundle-version="3.3.0",
org.eclipse.acceleo.profiler;bundle-version="3.3.0",
org.eclipse.acceleo.engine;bundle-version="3.3.0",
com.google.guava
Bundle-RequiredExecutionEnvironment: JavaSE-11
Bundle-ActivationPolicy: lazy
Eclipse-LazyStart: true
Export-Package: fr.n7.petriNET.toTINA.main

View file

@ -0,0 +1,5 @@
source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.
jre.compilation.profile = JavaSE-11

View file

@ -0,0 +1,66 @@
/*******************************************************************************
* Copyright (c) 2008, 2011 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;
import org.eclipse.core.runtime.Plugin;
import org.osgi.framework.BundleContext;
/**
* The activator class controls the plug-in life cycle.
*/
public class Activator extends Plugin {
/**
* The plug-in ID.
*/
public static final String PLUGIN_ID = "fr.n7.petriNET.toTINA";
/**
* The shared instance.
*/
private static Activator plugin;
/**
* The constructor.
*/
public Activator() {
}
/**
* {@inheritDoc}
*
* @see org.eclipse.core.runtime.Plugin#start(org.osgi.framework.BundleContext)
*/
public void start(BundleContext context) throws Exception {
super.start(context);
plugin = this;
}
/**
* {@inheritDoc}
*
* @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
*/
public void stop(BundleContext context) throws Exception {
plugin = null;
super.stop(context);
}
/**
* Returns the shared instance.
*
* @return the shared instance
*/
public static Activator getDefault() {
return plugin;
}
}

View file

@ -0,0 +1,421 @@
/*******************************************************************************
* 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<String> propertiesFiles = new ArrayList<String>();
/**
* 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.
* <p>
* 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()}.
* </p>
*
* @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<? extends Object> 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<? extends Object> 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<String> arguments = new ArrayList<String>();
/*
* 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<org.eclipse.emf.ecore.resource.Resource.Diagnostic> 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<IAcceleoTextGenerationListener> getGenerationListeners() {
List<IAcceleoTextGenerationListener> 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.
* <p>
* 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.
* </p>
* <p>
* 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}.
* <b>Note</b>, however, that this <b>cannot</b> be used standalone.
* </p>
* <p>
* All three of these default strategies support merging through JMerge.
* </p>
*
* @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<String> 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)
}
}

View file

@ -0,0 +1,10 @@
[comment encoding = UTF-8 /]
[module toTINA('http://petrinet')]
[template public networkToTINA(aReseau : Reseau)]
[comment @main/]
[file (aReseau.name, false, 'UTF-8')]
[/file]
[/template]

View file

@ -0,0 +1,66 @@
<?xml version="1.0" encoding="UTF-8"?>
<project default="toTINA" name="fr.n7.petriNET.toTINA">
<property name="ECLIPSE_HOME" value="../../../../../mnt/n7fs/ens/tp_cregut/eclipse-gls-2020-09"/>
<property name="ECLIPSE_WORKSPACE" value="../.."/>
<!-- The classpath with only the dependencies used by the project -->
<path id="fr.n7.petriNET.toTINA.libraryclasspath">
<pathelement location="${ECLIPSE_WORKSPACE}/fr.n7.petriNET.toTINA/bin"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.core.runtime_3.19.0.v20200724-1004.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.osgi_3.16.0.v20200828-0759.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.osgi.compatibility.state_1.2.100.v20200811-1344.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.equinox.common_3.13.0.v20200828-1034.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.core.jobs_3.10.800.v20200421-0950.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.equinox.registry_3.9.0.v20200625-1425.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.equinox.preferences_3.8.0.v20200422-1833.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.core.contenttype_3.7.800.v20200724-0804.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.equinox.app_1.5.0.v20200717-0620.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.emf.ecore_2.23.0.v20200630-0516.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.emf.common_2.20.0.v20200822-0801.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.emf.ecore.xmi_2.16.0.v20190528-0725.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.ocl_3.15.100.v20201208-2229.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/lpg.runtime.java_2.0.17.v201004271640.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.ocl.common_1.8.500.v20201208-2229.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.ocl.ecore_3.15.100.v20201208-2229.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.acceleo.common_3.7.11.202102190929.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.acceleo.model_3.7.11.202102190929.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.acceleo.profiler_3.7.11.202102190929.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.acceleo.engine_3.7.11.202102190929.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.emf.codegen.ecore_2.23.0.v20200701-0840.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.emf.codegen_2.21.0.v20200708-0547.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/com.google.guava_27.1.0.v20190517-1946.jar"/>
</path>
<path id="fr.n7.petriNET.toTINA.classpath">
<path refid="fr.n7.petriNET.toTINA.libraryclasspath"/>
</path>
<!-- The classpath with only the jars available in the plugin folder of Eclipse -->
<path id="fr.n7.petriNET.toTINA.libraryclasspath.alljars">
<pathelement location="../fr.n7.petriNET.toTINA/bin"/>
<fileset dir="${ECLIPSE_HOME}/plugins/" includes="*.jar"/>
</path>
<path id="fr.n7.petriNET.toTINA.classpath.alljars">
<path refid="fr.n7.petriNET.toTINA.libraryclasspath.alljars"/>
</path>
<!-- The default task with the jars used by this project -->
<target name="toTINA">
<java classname="fr.n7.petriNET.toTINA.main.ToTINA" classpathref="fr.n7.petriNET.toTINA.classpath">
<arg value="${model}"/>
<arg value="${target}"/>
</java>
</target>
<!--
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
-->
<target name="toTINA.alljars">
<java classname="fr.n7.petriNET.toTINA.main.ToTINA" classpathref="fr.n7.petriNET.toTINA.classpath">
<arg value="${model}"/>
<arg value="${target}"/>
</java>
</target>
</project>

View file

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Place this file in the target project and call it with "External Tools > Run As > Ant Build" -->
<!-- You have to change the MODEL and the TARGET values -->
<project basedir="." default="toTINASample" name="fr.n7.petriNET.toTINASample">
<import file="../../fr.n7.petriNET.toTINA/tasks/toTINA.xml"/>
<!-- Change the values of MODEL and TARGET to point to your model and output folder -->
<property name="MODEL" value="${basedir}/model/file.xmi"/>
<property name="TARGET" value="${basedir}/src-gen"/>
<target name="toTINASample" description="Generate files in 'TARGET'">
<antcall target="toTINA" >
<param name="model" value="${MODEL}"/>
<param name="target" value="${TARGET}"/>
</antcall>
</target>
</project>

View file

@ -12,6 +12,10 @@
<description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
<target xmi:type="ecore:EPackage" href="petriNet.ecore#/"/>
</ownedRepresentationDescriptors>
<ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_nT-TACX0EeyV9fQppiJGXQ" name="petrinet class diagram" repPath="#_nTkqYCX0EeyV9fQppiJGXQ" changeId="a83ccfba-9055-426a-aefe-10737e329fd8">
<description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
<target xmi:type="ecore:EPackage" href="petriNet.ecore#/"/>
</ownedRepresentationDescriptors>
</ownedViews>
<ownedViews xmi:type="viewpoint:DView" uid="_oSeucBuHEeynApCp8QEOUg">
<viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Review']"/>
@ -665,4 +669,348 @@
<activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']/@ownedRepresentationExtensions[name='Entities%20With%20Archetypes']/@layers[name='Archetypes']"/>
<target xmi:type="ecore:EPackage" href="petriNet.ecore#/"/>
</diagram:DSemanticDiagram>
<diagram:DSemanticDiagram uid="_nTkqYCX0EeyV9fQppiJGXQ">
<ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_nUQm4CX0EeyV9fQppiJGXQ" source="GMF_DIAGRAMS">
<data xmi:type="notation:Diagram" xmi:id="_nUQm4SX0EeyV9fQppiJGXQ" type="Sirius" element="_nTkqYCX0EeyV9fQppiJGXQ" measurementUnit="Pixel">
<children xmi:type="notation:Node" xmi:id="_n49PYCX0EeyV9fQppiJGXQ" type="2003" element="_n4c5ECX0EeyV9fQppiJGXQ">
<children xmi:type="notation:Node" xmi:id="_n492cCX0EeyV9fQppiJGXQ" type="5007"/>
<children xmi:type="notation:Node" xmi:id="_n492cSX0EeyV9fQppiJGXQ" type="7004">
<children xmi:type="notation:Node" xmi:id="_n5ASsyX0EeyV9fQppiJGXQ" type="3010" element="_n4ul5CX0EeyV9fQppiJGXQ">
<styles xmi:type="notation:FontStyle" xmi:id="_n5AStCX0EeyV9fQppiJGXQ" fontName="Ubuntu" fontHeight="8" bold="true"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_n5AStSX0EeyV9fQppiJGXQ"/>
</children>
<styles xmi:type="notation:SortingStyle" xmi:id="_n492ciX0EeyV9fQppiJGXQ"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_n492cyX0EeyV9fQppiJGXQ"/>
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_n49PYSX0EeyV9fQppiJGXQ" fontName="Ubuntu" fontHeight="8"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_n49PYiX0EeyV9fQppiJGXQ" x="172" y="316"/>
</children>
<children xmi:type="notation:Node" xmi:id="_n4-dgCX0EeyV9fQppiJGXQ" type="2003" element="_n4gjcCX0EeyV9fQppiJGXQ">
<children xmi:type="notation:Node" xmi:id="_n4-dgyX0EeyV9fQppiJGXQ" type="5007"/>
<children xmi:type="notation:Node" xmi:id="_n4-dhCX0EeyV9fQppiJGXQ" type="7004">
<styles xmi:type="notation:SortingStyle" xmi:id="_n4-dhSX0EeyV9fQppiJGXQ"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_n4-dhiX0EeyV9fQppiJGXQ"/>
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_n4-dgSX0EeyV9fQppiJGXQ" fontName="Ubuntu" fontHeight="8"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_n4-dgiX0EeyV9fQppiJGXQ" x="648" y="316"/>
</children>
<children xmi:type="notation:Node" xmi:id="_n4_EkCX0EeyV9fQppiJGXQ" type="2003" element="_n4hxkCX0EeyV9fQppiJGXQ">
<children xmi:type="notation:Node" xmi:id="_n4_EkyX0EeyV9fQppiJGXQ" type="5007"/>
<children xmi:type="notation:Node" xmi:id="_n4_ElCX0EeyV9fQppiJGXQ" type="7004">
<children xmi:type="notation:Node" xmi:id="_n5A5wCX0EeyV9fQppiJGXQ" type="3010" element="_n4xCICX0EeyV9fQppiJGXQ">
<styles xmi:type="notation:FontStyle" xmi:id="_n5A5wSX0EeyV9fQppiJGXQ" fontName="Ubuntu" fontHeight="8" bold="true"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_n5A5wiX0EeyV9fQppiJGXQ"/>
</children>
<children xmi:type="notation:Node" xmi:id="_n5A5wyX0EeyV9fQppiJGXQ" type="3010" element="_n4xpMSX0EeyV9fQppiJGXQ">
<styles xmi:type="notation:FontStyle" xmi:id="_n5A5xCX0EeyV9fQppiJGXQ" fontName="Ubuntu" fontHeight="8" bold="true"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_n5A5xSX0EeyV9fQppiJGXQ"/>
</children>
<styles xmi:type="notation:SortingStyle" xmi:id="_n4_ElSX0EeyV9fQppiJGXQ"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_n4_EliX0EeyV9fQppiJGXQ"/>
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_n4_EkSX0EeyV9fQppiJGXQ" fontName="Ubuntu" fontHeight="8"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_n4_EkiX0EeyV9fQppiJGXQ" x="399" y="316"/>
</children>
<children xmi:type="notation:Node" xmi:id="_n4_ElyX0EeyV9fQppiJGXQ" type="2003" element="_n4iYoSX0EeyV9fQppiJGXQ">
<children xmi:type="notation:Node" xmi:id="_n4_roCX0EeyV9fQppiJGXQ" type="5007"/>
<children xmi:type="notation:Node" xmi:id="_n4_roSX0EeyV9fQppiJGXQ" type="7004">
<children xmi:type="notation:Node" xmi:id="_n5Bg0CX0EeyV9fQppiJGXQ" type="3010" element="_n4y3UCX0EeyV9fQppiJGXQ">
<styles xmi:type="notation:FontStyle" xmi:id="_n5Bg0SX0EeyV9fQppiJGXQ" fontName="Ubuntu" fontHeight="8" bold="true"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_n5Bg0iX0EeyV9fQppiJGXQ"/>
</children>
<styles xmi:type="notation:SortingStyle" xmi:id="_n4_roiX0EeyV9fQppiJGXQ"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_n4_royX0EeyV9fQppiJGXQ"/>
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_n4_EmCX0EeyV9fQppiJGXQ" fontName="Ubuntu" fontHeight="8" italic="true"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_n4_EmSX0EeyV9fQppiJGXQ" x="416" y="160"/>
</children>
<children xmi:type="notation:Node" xmi:id="_n4_rpCX0EeyV9fQppiJGXQ" type="2003" element="_n4kN0CX0EeyV9fQppiJGXQ">
<children xmi:type="notation:Node" xmi:id="_n4_rpyX0EeyV9fQppiJGXQ" type="5007"/>
<children xmi:type="notation:Node" xmi:id="_n5ASsCX0EeyV9fQppiJGXQ" type="7004">
<children xmi:type="notation:Node" xmi:id="_n5CH4CX0EeyV9fQppiJGXQ" type="3010" element="_n4zeYCX0EeyV9fQppiJGXQ">
<styles xmi:type="notation:FontStyle" xmi:id="_n5CH4SX0EeyV9fQppiJGXQ" fontName="Ubuntu" fontHeight="8" bold="true"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_n5CH4iX0EeyV9fQppiJGXQ"/>
</children>
<styles xmi:type="notation:SortingStyle" xmi:id="_n5ASsSX0EeyV9fQppiJGXQ"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_n5ASsiX0EeyV9fQppiJGXQ"/>
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_n4_rpSX0EeyV9fQppiJGXQ" fontName="Ubuntu" fontHeight="8"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_n4_rpiX0EeyV9fQppiJGXQ" x="180" y="160"/>
</children>
<styles xmi:type="notation:DiagramStyle" xmi:id="_nUQm4iX0EeyV9fQppiJGXQ"/>
<edges xmi:type="notation:Edge" xmi:id="_n5DWACX0EeyV9fQppiJGXQ" type="4001" element="_n41TkCX0EeyV9fQppiJGXQ" source="_n4-dgCX0EeyV9fQppiJGXQ" target="_n4_EkCX0EeyV9fQppiJGXQ">
<children xmi:type="notation:Node" xmi:id="_n5D9ECX0EeyV9fQppiJGXQ" type="6001">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_n5D9ESX0EeyV9fQppiJGXQ" x="7" y="-10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_n5EkICX0EeyV9fQppiJGXQ" type="6002">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_n5EkISX0EeyV9fQppiJGXQ" y="-10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_n5EkIiX0EeyV9fQppiJGXQ" type="6003">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_n5EkIyX0EeyV9fQppiJGXQ" y="-10"/>
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_n5DWASX0EeyV9fQppiJGXQ" routing="Rectilinear"/>
<styles xmi:type="notation:FontStyle" xmi:id="_n5DWAiX0EeyV9fQppiJGXQ" fontColor="7490599" fontName="Ubuntu" fontHeight="8"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_n5DWAyX0EeyV9fQppiJGXQ" points="[-59, 7, 173, 7]$[-156, 7, 76, 7]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_n5JcoCX0EeyV9fQppiJGXQ" id="(0.5,0.5)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_n5JcoSX0EeyV9fQppiJGXQ" id="(0.5,0.5)"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_n5JcoiX0EeyV9fQppiJGXQ" type="4001" element="_n43IwCX0EeyV9fQppiJGXQ" source="_n4_EkCX0EeyV9fQppiJGXQ" target="_n49PYCX0EeyV9fQppiJGXQ">
<children xmi:type="notation:Node" xmi:id="_n5KDsCX0EeyV9fQppiJGXQ" type="6001">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_n5KDsSX0EeyV9fQppiJGXQ" y="10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_n5KDsiX0EeyV9fQppiJGXQ" type="6002">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_n5KDsyX0EeyV9fQppiJGXQ" y="-10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_n5KDtCX0EeyV9fQppiJGXQ" type="6003">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_n5KDtSX0EeyV9fQppiJGXQ" y="-10"/>
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_n5JcoyX0EeyV9fQppiJGXQ" routing="Rectilinear"/>
<styles xmi:type="notation:FontStyle" xmi:id="_n5JcpCX0EeyV9fQppiJGXQ" fontColor="7490599" fontName="Ubuntu" fontHeight="8"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_n5JcpSX0EeyV9fQppiJGXQ" points="[-76, -25, 168, -25]$[-185, -25, 59, -25]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_n5KDtiX0EeyV9fQppiJGXQ" id="(0.5,0.5)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_n5KDtyX0EeyV9fQppiJGXQ" id="(0.5,0.5)"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_n5KqwCX0EeyV9fQppiJGXQ" type="4001" element="_n43v2SX0EeyV9fQppiJGXQ" source="_n4_rpCX0EeyV9fQppiJGXQ" target="_n4_ElyX0EeyV9fQppiJGXQ">
<children xmi:type="notation:Node" xmi:id="_n5KqxCX0EeyV9fQppiJGXQ" type="6001">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_n5KqxSX0EeyV9fQppiJGXQ" y="10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_n5KqxiX0EeyV9fQppiJGXQ" type="6002">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_n5KqxyX0EeyV9fQppiJGXQ" y="-10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_n5KqyCX0EeyV9fQppiJGXQ" type="6003">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_n5KqySX0EeyV9fQppiJGXQ" x="-1" y="-10"/>
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_n5KqwSX0EeyV9fQppiJGXQ" routing="Rectilinear"/>
<styles xmi:type="notation:FontStyle" xmi:id="_n5KqwiX0EeyV9fQppiJGXQ" fontColor="7490599" fontName="Ubuntu" fontHeight="8"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_n5KqwyX0EeyV9fQppiJGXQ" points="[236, 0, 0, -98]$[236, 98, 0, 0]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_n5KqyiX0EeyV9fQppiJGXQ" id="(0.5084745762711864,0.0)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_n5KqyyX0EeyV9fQppiJGXQ" id="(0.5084745762711864,1.0)"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_n5KqzCX0EeyV9fQppiJGXQ" type="4001" element="_n4498CX0EeyV9fQppiJGXQ" source="_n49PYCX0EeyV9fQppiJGXQ" target="_n4_ElyX0EeyV9fQppiJGXQ">
<children xmi:type="notation:Node" xmi:id="_n5LR0CX0EeyV9fQppiJGXQ" type="6001">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_n5LR0SX0EeyV9fQppiJGXQ" y="-10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_n5LR0iX0EeyV9fQppiJGXQ" type="6002">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_n5LR0yX0EeyV9fQppiJGXQ" y="10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_n5LR1CX0EeyV9fQppiJGXQ" type="6003">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_n5LR1SX0EeyV9fQppiJGXQ" y="10"/>
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_n5KqzSX0EeyV9fQppiJGXQ" routing="Tree"/>
<styles xmi:type="notation:FontStyle" xmi:id="_n5KqziX0EeyV9fQppiJGXQ" fontName="Ubuntu" fontHeight="8"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_n5KqzyX0EeyV9fQppiJGXQ" points="[-1, 0, -189, 60]$[187, -60, -1, 0]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_n5LR1iX0EeyV9fQppiJGXQ" id="(0.5084745762711864,0.0)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_n5LR1yX0EeyV9fQppiJGXQ" id="(0.5084745762711864,1.0)"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_n5LR2CX0EeyV9fQppiJGXQ" type="4001" element="_n46MECX0EeyV9fQppiJGXQ" source="_n4-dgCX0EeyV9fQppiJGXQ" target="_n4_ElyX0EeyV9fQppiJGXQ">
<children xmi:type="notation:Node" xmi:id="_n5L44CX0EeyV9fQppiJGXQ" type="6001">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_n5L44SX0EeyV9fQppiJGXQ" y="-10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_n5L44iX0EeyV9fQppiJGXQ" type="6002">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_n5L44yX0EeyV9fQppiJGXQ" y="10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_n5L45CX0EeyV9fQppiJGXQ" type="6003">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_n5L45SX0EeyV9fQppiJGXQ" y="10"/>
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_n5LR2SX0EeyV9fQppiJGXQ" routing="Tree"/>
<styles xmi:type="notation:FontStyle" xmi:id="_n5LR2iX0EeyV9fQppiJGXQ" fontName="Ubuntu" fontHeight="8"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_n5LR2yX0EeyV9fQppiJGXQ" points="[-1, 0, 96, 380]$[-2, -320, 95, 60]$[-98, -380, -1, 0]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_n5L45iX0EeyV9fQppiJGXQ" id="(0.5084745762711864,0.0)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_n5L45yX0EeyV9fQppiJGXQ" id="(0.5084745762711864,1.0)"/>
</edges>
</data>
</ownedAnnotationEntries>
<ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_nUnzQCX0EeyV9fQppiJGXQ" source="DANNOTATION_CUSTOMIZATION_KEY">
<data xmi:type="diagram:ComputedStyleDescriptionRegistry" uid="_nUnzQSX0EeyV9fQppiJGXQ">
<computedStyleDescriptions xmi:type="style:BundledImageDescription" xmi:id="_n4v0ACX0EeyV9fQppiJGXQ" labelExpression="service:render" labelAlignment="LEFT" tooltipExpression="service:renderTooltip" sizeComputationExpression="1">
<borderColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelFormat>bold</labelFormat>
<labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<color xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</computedStyleDescriptions>
<computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_n42hsCX0EeyV9fQppiJGXQ" sourceArrow="FillDiamond" routingStyle="manhattan">
<strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_n42hsSX0EeyV9fQppiJGXQ" showIcon="false" labelExpression="service:render">
<labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</centerLabelStyleDescription>
<endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_n42hsiX0EeyV9fQppiJGXQ" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
<labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
</endLabelStyleDescription>
</computedStyleDescriptions>
<computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_n43v0CX0EeyV9fQppiJGXQ" routingStyle="manhattan">
<strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_n43v0SX0EeyV9fQppiJGXQ" showIcon="false" labelExpression="service:render">
<labelFormat>bold</labelFormat>
<labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</centerLabelStyleDescription>
<endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_n43v0iX0EeyV9fQppiJGXQ" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel">
<labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
</endLabelStyleDescription>
</computedStyleDescriptions>
</data>
</ownedAnnotationEntries>
<ownedDiagramElements xmi:type="diagram:DNodeList" uid="_n4c5ECX0EeyV9fQppiJGXQ" name="Place" tooltipText="" outgoingEdges="_n4498CX0EeyV9fQppiJGXQ" incomingEdges="_n43IwCX0EeyV9fQppiJGXQ" width="12" height="10">
<target xmi:type="ecore:EClass" href="petriNet.ecore#//Place"/>
<semanticElements xmi:type="ecore:EClass" href="petriNet.ecore#//Place"/>
<arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
<arrangeConstraints>KEEP_SIZE</arrangeConstraints>
<arrangeConstraints>KEEP_RATIO</arrangeConstraints>
<ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_n4euQCX0EeyV9fQppiJGXQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
<description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
</ownedStyle>
<actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
<ownedElements xmi:type="diagram:DNodeListElement" uid="_n4ul5CX0EeyV9fQppiJGXQ" name="jetons : EInt" tooltipText="">
<target xmi:type="ecore:EAttribute" href="petriNet.ecore#//Place/jetons"/>
<semanticElements xmi:type="ecore:EAttribute" href="petriNet.ecore#//Place/jetons"/>
<ownedStyle xmi:type="diagram:BundledImage" uid="_n4wbECX0EeyV9fQppiJGXQ" labelAlignment="LEFT" description="_n4v0ACX0EeyV9fQppiJGXQ">
<labelFormat>bold</labelFormat>
</ownedStyle>
<actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
</ownedElements>
</ownedDiagramElements>
<ownedDiagramElements xmi:type="diagram:DNodeList" uid="_n4gjcCX0EeyV9fQppiJGXQ" name="Transition" tooltipText="" outgoingEdges="_n41TkCX0EeyV9fQppiJGXQ _n46MECX0EeyV9fQppiJGXQ" width="12" height="10">
<target xmi:type="ecore:EClass" href="petriNet.ecore#//Transition"/>
<semanticElements xmi:type="ecore:EClass" href="petriNet.ecore#//Transition"/>
<arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
<arrangeConstraints>KEEP_SIZE</arrangeConstraints>
<arrangeConstraints>KEEP_RATIO</arrangeConstraints>
<ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_n4gjcSX0EeyV9fQppiJGXQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
<description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
</ownedStyle>
<actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
</ownedDiagramElements>
<ownedDiagramElements xmi:type="diagram:DNodeList" uid="_n4hxkCX0EeyV9fQppiJGXQ" name="Flèche" tooltipText="" outgoingEdges="_n43IwCX0EeyV9fQppiJGXQ" incomingEdges="_n41TkCX0EeyV9fQppiJGXQ" width="12" height="10">
<target xmi:type="ecore:EClass" href="petriNet.ecore#//Flèche"/>
<semanticElements xmi:type="ecore:EClass" href="petriNet.ecore#//Flèche"/>
<arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
<arrangeConstraints>KEEP_SIZE</arrangeConstraints>
<arrangeConstraints>KEEP_RATIO</arrangeConstraints>
<ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_n4hxkSX0EeyV9fQppiJGXQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
<description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
</ownedStyle>
<actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
<ownedElements xmi:type="diagram:DNodeListElement" uid="_n4xCICX0EeyV9fQppiJGXQ" name="poids : EInt" tooltipText="">
<target xmi:type="ecore:EAttribute" href="petriNet.ecore#//Flèche/poids"/>
<semanticElements xmi:type="ecore:EAttribute" href="petriNet.ecore#//Flèche/poids"/>
<ownedStyle xmi:type="diagram:BundledImage" uid="_n4xpMCX0EeyV9fQppiJGXQ" labelAlignment="LEFT" description="_n4v0ACX0EeyV9fQppiJGXQ">
<labelFormat>bold</labelFormat>
</ownedStyle>
<actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
</ownedElements>
<ownedElements xmi:type="diagram:DNodeListElement" uid="_n4xpMSX0EeyV9fQppiJGXQ" name="sortant : EBoolean = false" tooltipText="">
<target xmi:type="ecore:EAttribute" href="petriNet.ecore#//Flèche/sortant"/>
<semanticElements xmi:type="ecore:EAttribute" href="petriNet.ecore#//Flèche/sortant"/>
<ownedStyle xmi:type="diagram:BundledImage" uid="_n4yQQCX0EeyV9fQppiJGXQ" labelAlignment="LEFT" description="_n4v0ACX0EeyV9fQppiJGXQ">
<labelFormat>bold</labelFormat>
</ownedStyle>
<actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
</ownedElements>
</ownedDiagramElements>
<ownedDiagramElements xmi:type="diagram:DNodeList" uid="_n4iYoSX0EeyV9fQppiJGXQ" name="Noeud" tooltipText="" incomingEdges="_n43v2SX0EeyV9fQppiJGXQ _n4498CX0EeyV9fQppiJGXQ _n46MECX0EeyV9fQppiJGXQ" width="12" height="10">
<target xmi:type="ecore:EClass" href="petriNet.ecore#//Noeud"/>
<semanticElements xmi:type="ecore:EClass" href="petriNet.ecore#//Noeud"/>
<arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
<arrangeConstraints>KEEP_SIZE</arrangeConstraints>
<arrangeConstraints>KEEP_RATIO</arrangeConstraints>
<ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_n4i_sCX0EeyV9fQppiJGXQ" iconPath="/org.eclipse.emf.ecoretools.design/icons/full/obj16/EClass_abstract.gif" borderSize="1" borderSizeComputationExpression="1" borderColor="125,125,125" backgroundStyle="Liquid" foregroundColor="228,228,228">
<labelFormat>italic</labelFormat>
<description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@conditionnalStyles.1/@style"/>
</ownedStyle>
<actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
<ownedElements xmi:type="diagram:DNodeListElement" uid="_n4y3UCX0EeyV9fQppiJGXQ" name="name : EString" tooltipText="">
<target xmi:type="ecore:EAttribute" href="petriNet.ecore#//Noeud/name"/>
<semanticElements xmi:type="ecore:EAttribute" href="petriNet.ecore#//Noeud/name"/>
<ownedStyle xmi:type="diagram:BundledImage" uid="_n4y3USX0EeyV9fQppiJGXQ" labelAlignment="LEFT" description="_n4v0ACX0EeyV9fQppiJGXQ">
<labelFormat>bold</labelFormat>
</ownedStyle>
<actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
</ownedElements>
</ownedDiagramElements>
<ownedDiagramElements xmi:type="diagram:DNodeList" uid="_n4kN0CX0EeyV9fQppiJGXQ" name="Reseau" tooltipText="" outgoingEdges="_n43v2SX0EeyV9fQppiJGXQ" width="12" height="10">
<target xmi:type="ecore:EClass" href="petriNet.ecore#//Reseau"/>
<semanticElements xmi:type="ecore:EClass" href="petriNet.ecore#//Reseau"/>
<ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_n4k04CX0EeyV9fQppiJGXQ" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216">
<description xmi:type="style:FlatContainerStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@style"/>
</ownedStyle>
<actualMapping xmi:type="description_1:ContainerMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']"/>
<ownedElements xmi:type="diagram:DNodeListElement" uid="_n4zeYCX0EeyV9fQppiJGXQ" name="name : EString" tooltipText="">
<target xmi:type="ecore:EAttribute" href="petriNet.ecore#//Reseau/name"/>
<semanticElements xmi:type="ecore:EAttribute" href="petriNet.ecore#//Reseau/name"/>
<ownedStyle xmi:type="diagram:BundledImage" uid="_n40FcCX0EeyV9fQppiJGXQ" labelAlignment="LEFT" description="_n4v0ACX0EeyV9fQppiJGXQ">
<labelFormat>bold</labelFormat>
</ownedStyle>
<actualMapping xmi:type="description_1:NodeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@containerMappings[name='EC%20EClass']/@subNodeMappings[name='EC%20EAttribute']"/>
</ownedElements>
</ownedDiagramElements>
<ownedDiagramElements xmi:type="diagram:DEdge" uid="_n41TkCX0EeyV9fQppiJGXQ" name="[0..*] fleches" sourceNode="_n4gjcCX0EeyV9fQppiJGXQ" targetNode="_n4hxkCX0EeyV9fQppiJGXQ">
<target xmi:type="ecore:EReference" href="petriNet.ecore#//Transition/fleches"/>
<semanticElements xmi:type="ecore:EReference" href="petriNet.ecore#//Transition/fleches"/>
<ownedStyle xmi:type="diagram:EdgeStyle" uid="_n42hsyX0EeyV9fQppiJGXQ" description="_n42hsCX0EeyV9fQppiJGXQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
<centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_n42htSX0EeyV9fQppiJGXQ" showIcon="false">
<customFeatures>labelSize</customFeatures>
</centerLabelStyle>
<endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_n42htCX0EeyV9fQppiJGXQ" showIcon="false" labelColor="39,76,114">
<customFeatures>labelSize</customFeatures>
</endLabelStyle>
</ownedStyle>
<actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
</ownedDiagramElements>
<ownedDiagramElements xmi:type="diagram:DEdge" uid="_n43IwCX0EeyV9fQppiJGXQ" name="[1..1] cible" sourceNode="_n4hxkCX0EeyV9fQppiJGXQ" targetNode="_n4c5ECX0EeyV9fQppiJGXQ">
<target xmi:type="ecore:EReference" href="petriNet.ecore#//Flèche/cible"/>
<semanticElements xmi:type="ecore:EReference" href="petriNet.ecore#//Flèche/cible"/>
<ownedStyle xmi:type="diagram:EdgeStyle" uid="_n43v0yX0EeyV9fQppiJGXQ" description="_n43v0CX0EeyV9fQppiJGXQ" routingStyle="manhattan" strokeColor="0,0,0">
<centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_n43v1SX0EeyV9fQppiJGXQ" showIcon="false">
<customFeatures>labelSize</customFeatures>
</centerLabelStyle>
<endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_n43v1CX0EeyV9fQppiJGXQ" showIcon="false" labelColor="39,76,114">
<customFeatures>labelSize</customFeatures>
</endLabelStyle>
</ownedStyle>
<actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
</ownedDiagramElements>
<ownedDiagramElements xmi:type="diagram:DEdge" uid="_n43v2SX0EeyV9fQppiJGXQ" name="[0..*] noeuds" sourceNode="_n4kN0CX0EeyV9fQppiJGXQ" targetNode="_n4iYoSX0EeyV9fQppiJGXQ">
<target xmi:type="ecore:EReference" href="petriNet.ecore#//Reseau/noeuds"/>
<semanticElements xmi:type="ecore:EReference" href="petriNet.ecore#//Reseau/noeuds"/>
<ownedStyle xmi:type="diagram:EdgeStyle" uid="_n44W4CX0EeyV9fQppiJGXQ" description="_n42hsCX0EeyV9fQppiJGXQ" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
<centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_n44W4iX0EeyV9fQppiJGXQ" showIcon="false">
<customFeatures>labelSize</customFeatures>
</centerLabelStyle>
<endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_n44W4SX0EeyV9fQppiJGXQ" showIcon="false" labelColor="39,76,114">
<customFeatures>labelSize</customFeatures>
</endLabelStyle>
</ownedStyle>
<actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC_EReference']"/>
</ownedDiagramElements>
<ownedDiagramElements xmi:type="diagram:DEdge" uid="_n4498CX0EeyV9fQppiJGXQ" sourceNode="_n4c5ECX0EeyV9fQppiJGXQ" targetNode="_n4iYoSX0EeyV9fQppiJGXQ">
<target xmi:type="ecore:EClass" href="petriNet.ecore#//Place"/>
<semanticElements xmi:type="ecore:EClass" href="petriNet.ecore#//Place"/>
<ownedStyle xmi:type="diagram:EdgeStyle" uid="_n45lACX0EeyV9fQppiJGXQ" targetArrow="InputClosedArrow" routingStyle="tree">
<description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
<beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_n45lASX0EeyV9fQppiJGXQ" showIcon="false">
<labelFormat>italic</labelFormat>
</beginLabelStyle>
<centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_n45lAiX0EeyV9fQppiJGXQ" showIcon="false"/>
</ownedStyle>
<actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
</ownedDiagramElements>
<ownedDiagramElements xmi:type="diagram:DEdge" uid="_n46MECX0EeyV9fQppiJGXQ" sourceNode="_n4gjcCX0EeyV9fQppiJGXQ" targetNode="_n4iYoSX0EeyV9fQppiJGXQ">
<target xmi:type="ecore:EClass" href="petriNet.ecore#//Transition"/>
<semanticElements xmi:type="ecore:EClass" href="petriNet.ecore#//Transition"/>
<ownedStyle xmi:type="diagram:EdgeStyle" uid="_n46zICX0EeyV9fQppiJGXQ" targetArrow="InputClosedArrow" routingStyle="tree">
<description xmi:type="style:EdgeStyleDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']/@style"/>
<beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_n46zISX0EeyV9fQppiJGXQ" showIcon="false">
<labelFormat>italic</labelFormat>
</beginLabelStyle>
<centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_n46zIiX0EeyV9fQppiJGXQ" showIcon="false"/>
</ownedStyle>
<actualMapping xmi:type="description_1:EdgeMapping" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer/@edgeMappings[name='EC%20ESupertypes']"/>
</ownedDiagramElements>
<description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/>
<filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_nTzT4CX0EeyV9fQppiJGXQ"/>
<activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/>
<activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Package']"/>
<activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@additionalLayers[name='Validation']"/>
<activatedLayers xmi:type="description_1:AdditionalLayer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']/@ownedRepresentationExtensions[name='Entities%20With%20Archetypes']/@layers[name='Archetypes']"/>
<target xmi:type="ecore:EPackage" href="petriNet.ecore#/"/>
</diagram:DSemanticDiagram>
</xmi:XMI>

View file

@ -7,7 +7,7 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Transition" eSuperTypes="#//Noeud">
<eStructuralFeatures xsi:type="ecore:EReference" name="fleches" upperBound="-1"
eType="#//Flèche"/>
eType="#//Flèche" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Flèche">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="poids" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 252 KiB

After

Width:  |  Height:  |  Size: 269 KiB

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" output="bin" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>

View file

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>fr.n7.simplePDF.todot</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.acceleo.ide.ui.acceleoBuilder</name>
<arguments>
<dictionary>
<key>compilation.kind</key>
<value>compilation.platform.resource</value>
</dictionary>
<dictionary>
<key>compliance</key>
<value>pragmatic</value>
</dictionary>
<dictionary>
<key>resource.kind</key>
<value>xmi</value>
</dictionary>
<dictionary>
<key>trim-position</key>
<value>false</value>
</dictionary>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.acceleo.ide.ui.acceleoNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.pde.PluginNature</nature>
</natures>
</projectDescription>

View file

@ -0,0 +1,24 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Acceleo Todot Module Runtime Plug-in
Bundle-SymbolicName: fr.n7.simplePDF.todot
Bundle-Version: 1.0.0.qualifier
Bundle-Activator: fr.n7.simplePDF.todot.Activator
Bundle-Vendor: Eclipse Modeling Project
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.emf.ecore,
org.eclipse.emf.ecore,
org.eclipse.emf.ecore.xmi,
org.eclipse.ocl,
org.eclipse.ocl.ecore,
org.eclipse.acceleo.common;bundle-version="3.3.0",
org.eclipse.acceleo.model;bundle-version="3.3.0",
org.eclipse.acceleo.profiler;bundle-version="3.3.0",
org.eclipse.acceleo.engine;bundle-version="3.3.0",
com.google.guava
Bundle-RequiredExecutionEnvironment: JavaSE-11
Bundle-ActivationPolicy: lazy
Eclipse-LazyStart: true
Export-Package: fr.n7.simplePDF.todot.main
Import-Package: simplepdl

View file

@ -0,0 +1,5 @@
source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.
jre.compilation.profile = JavaSE-11

View file

@ -0,0 +1,4 @@
digraph "Mon premier processus" {
"Ma première WorkDefinition, quelle émotion" -> "Ma deuxième WorkDefinition, toujours autant d'émotion" [arrowhead=vee label=finishToFinish]
"Ma première WorkDefinition, quelle émotion" -> "Ma deuxième WorkDefinition, toujours autant d'émotion" [arrowhead=vee label=startToStart]
}

View file

@ -0,0 +1,66 @@
/*******************************************************************************
* Copyright (c) 2008, 2011 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.simplePDF.todot;
import org.eclipse.core.runtime.Plugin;
import org.osgi.framework.BundleContext;
/**
* The activator class controls the plug-in life cycle.
*/
public class Activator extends Plugin {
/**
* The plug-in ID.
*/
public static final String PLUGIN_ID = "fr.n7.simplePDF.todot";
/**
* The shared instance.
*/
private static Activator plugin;
/**
* The constructor.
*/
public Activator() {
}
/**
* {@inheritDoc}
*
* @see org.eclipse.core.runtime.Plugin#start(org.osgi.framework.BundleContext)
*/
public void start(BundleContext context) throws Exception {
super.start(context);
plugin = this;
}
/**
* {@inheritDoc}
*
* @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
*/
public void stop(BundleContext context) throws Exception {
plugin = null;
super.stop(context);
}
/**
* Returns the shared instance.
*
* @return the shared instance
*/
public static Activator getDefault() {
return plugin;
}
}

View file

@ -0,0 +1,419 @@
/*******************************************************************************
* 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.simplePDF.todot.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 'Todot' generation module.
*
* @generated
*/
public class Todot extends AbstractAcceleoGenerator {
/**
* The name of the module.
*
* @generated
*/
public static final String MODULE_FILE_NAME = "/fr/n7/simplePDF/todot/main/todot";
/**
* The name of the templates that are to be generated.
*
* @generated
*/
public static final String[] TEMPLATE_NAMES = { "processToDot" };
/**
* The list of properties files from the launch parameters (Launch configuration).
*
* @generated
*/
private List<String> propertiesFiles = new ArrayList<String>();
/**
* 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.
* <p>
* 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()}.
* </p>
*
* @generated
*/
public Todot() {
// 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 Todot(URI modelURI, File targetFolder,
List<? extends Object> 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 Todot(EObject model, File targetFolder,
List<? extends Object> 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<String> arguments = new ArrayList<String>();
/*
* 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.
*/
Todot generator = new Todot(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<org.eclipse.emf.ecore.resource.Resource.Diagnostic> 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<IAcceleoTextGenerationListener> getGenerationListeners() {
List<IAcceleoTextGenerationListener> 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.
* <p>
* 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.
* </p>
* <p>
* 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}.
* <b>Note</b>, however, that this <b>cannot</b> be used standalone.
* </p>
* <p>
* All three of these default strategies support merging through JMerge.
* </p>
*
* @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<String> 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(SimplepdlPackage.class))
resourceSet.getPackageRegistry().put(
SimplepdlPackage.eNS_URI, SimplepdlPackage.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)
}
}

View file

@ -0,0 +1,28 @@
[comment encoding = UTF-8 /]
[module todot('http://simplepdl')]
[template public processToDot(aProcess : Process)]
[comment @main/]
[file (aProcess.name + '.dot', false, 'UTF-8')]
digraph "[aProcess.name/]" {
[let wss : OrderedSet(WorkSequence) = aProcess.getWSs() ]
[if (wss->size() > 0)]
[for (ws : WorkSequence | wss)]
[ws.afficher()/]
[/for]
[else]
[/if]
[/let]
}
[/file]
[/template]
[query public getWSs(p: Process) : OrderedSet(WorkSequence) =
p.processElements->select( e | e.oclIsTypeOf(WorkSequence) )
->collect( e | e.oclAsType(WorkSequence) )
->asOrderedSet()
/]
[template public afficher(ws : WorkSequence) post (trim()) ]
"[ws.predecessor.name/]" -> "[ws.successor.name/]" ['['/]arrowhead=vee label=[ws.linkType/][']'/]
[/template]

View file

@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8"?>
<project default="todot" name="fr.n7.simplePDF.todot">
<property name="ECLIPSE_HOME" value="../../../../../mnt/n7fs/ens/tp_cregut/eclipse-gls-2020-09"/>
<property name="ECLIPSE_WORKSPACE" value="../.."/>
<!-- The classpath with only the dependencies used by the project -->
<path id="fr.n7.simplePDF.todot.libraryclasspath">
<pathelement location="${ECLIPSE_WORKSPACE}/fr.n7.simplePDF.todot/bin"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.core.runtime_3.19.0.v20200724-1004.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.osgi_3.16.0.v20200828-0759.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.osgi.compatibility.state_1.2.100.v20200811-1344.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.equinox.common_3.13.0.v20200828-1034.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.core.jobs_3.10.800.v20200421-0950.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.equinox.registry_3.9.0.v20200625-1425.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.equinox.preferences_3.8.0.v20200422-1833.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.core.contenttype_3.7.800.v20200724-0804.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.equinox.app_1.5.0.v20200717-0620.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.emf.ecore_2.23.0.v20200630-0516.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.emf.common_2.20.0.v20200822-0801.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.emf.ecore.xmi_2.16.0.v20190528-0725.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.ocl_3.15.100.v20201208-2229.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/lpg.runtime.java_2.0.17.v201004271640.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.ocl.common_1.8.500.v20201208-2229.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.ocl.ecore_3.15.100.v20201208-2229.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.acceleo.common_3.7.11.202102190929.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.acceleo.model_3.7.11.202102190929.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.acceleo.profiler_3.7.11.202102190929.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.acceleo.engine_3.7.11.202102190929.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.emf.codegen.ecore_2.23.0.v20200701-0840.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.emf.codegen_2.21.0.v20200708-0547.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/com.google.guava_27.1.0.v20190517-1946.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/fr.n7.idm.simplepdl_1.0.0.202110051623.jar"/>
</path>
<path id="fr.n7.simplePDF.todot.classpath">
<path refid="fr.n7.simplePDF.todot.libraryclasspath"/>
</path>
<!-- The classpath with only the jars available in the plugin folder of Eclipse -->
<path id="fr.n7.simplePDF.todot.libraryclasspath.alljars">
<pathelement location="../fr.n7.simplePDF.todot/bin"/>
<fileset dir="${ECLIPSE_HOME}/plugins/" includes="*.jar"/>
</path>
<path id="fr.n7.simplePDF.todot.classpath.alljars">
<path refid="fr.n7.simplePDF.todot.libraryclasspath.alljars"/>
</path>
<!-- The default task with the jars used by this project -->
<target name="todot">
<java classname="fr.n7.simplePDF.todot.main.Todot" classpathref="fr.n7.simplePDF.todot.classpath">
<arg value="${model}"/>
<arg value="${target}"/>
</java>
</target>
<!--
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
-->
<target name="todot.alljars">
<java classname="fr.n7.simplePDF.todot.main.Todot" classpathref="fr.n7.simplePDF.todot.classpath">
<arg value="${model}"/>
<arg value="${target}"/>
</java>
</target>
</project>

View file

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Place this file in the target project and call it with "External Tools > Run As > Ant Build" -->
<!-- You have to change the MODEL and the TARGET values -->
<project basedir="." default="todotSample" name="fr.n7.simplePDF.todotSample">
<import file="../../fr.n7.simplePDF.todot/tasks/todot.xml"/>
<!-- Change the values of MODEL and TARGET to point to your model and output folder -->
<property name="MODEL" value="${basedir}/model/file.xmi"/>
<property name="TARGET" value="${basedir}/src-gen"/>
<target name="todotSample" description="Generate files in 'TARGET'">
<antcall target="todot" >
<param name="model" value="${MODEL}"/>
<param name="target" value="${TARGET}"/>
</antcall>
</target>
</project>

View file

@ -118,7 +118,7 @@ public class ResourceItemProvider extends ProcessElementItemProvider {
int qty = ((Resource)object).getQuantity();
return label == null || label.length() == 0 ?
getString("_UI_Resource_type") :
getString("_UI_Resource_type") + " " + label + "( " + qty + " )";
getString("_UI_Resource_type") + " " + label + " (" + qty + ")";
}

View file

@ -134,7 +134,7 @@ public class WorkSequenceItemProvider extends ProcessElementItemProvider {
* This returns the label text for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
* @generated NOT
*/
@Override
public String getText(Object object) {

View file

@ -44,4 +44,18 @@
version="0.0.0"
unpack="false"/>
<plugin
id="fr.n7.simplePDL.toHTML"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="fr.n7.simplePDL.toHTML.ui"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
</feature>

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>

View file

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>fr.n7.simplePDL.toHTML.ui</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

View file

@ -0,0 +1,6 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
org.eclipse.jdt.core.compiler.compliance=1.5
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.5

View file

@ -0,0 +1,20 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Acceleo ToHTML Module IDE Plug-in
Bundle-SymbolicName: fr.n7.simplePDL.toHTML.ui;singleton:=true
Bundle-Version: 1.0.0.qualifier
Bundle-Activator: fr.n7.simplePDL.toHTML.ui.Activator
Bundle-Vendor: Eclipse Modeling Project
Require-Bundle: org.eclipse.ui,
org.eclipse.core.runtime,
org.eclipse.core.resources,
fr.n7.simplePDL.toHTML,
org.eclipse.emf.ecore,
org.eclipse.emf.ecore.xmi,
org.eclipse.ocl,
org.eclipse.ocl.ecore,
org.eclipse.acceleo.model,
org.eclipse.acceleo.engine
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Bundle-ActivationPolicy: lazy
Eclipse-LazyStart: true

View file

@ -0,0 +1,7 @@
source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.,\
plugin.xml,\
icons/

Binary file not shown.

After

Width:  |  Height:  |  Size: 534 B

View file

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<plugin>
<extension point="org.eclipse.ui.popupMenus">
<objectContribution
adaptable="true"
objectClass="org.eclipse.core.resources.IFile"
nameFilter="*.simplepdl"
id="fr.n7.simplePDL.toHTML.ui.popupMenus.contribution.IFile">
<menu id="org.eclipse.acceleo.module.menu" label="Acceleo Model to Text" path="additionsAcceleo">
<groupMarker name="acceleo"/>
</menu>
<action
class="fr.n7.simplePDL.toHTML.ui.popupMenus.AcceleoGenerateToHTMLAction"
enablesFor="+"
id="fr.n7.simplePDL.toHTML.ui.popupMenus.acceleoGenerateToHTMLAction"
icon="icons/default.gif"
label="Generate ToHTML"
menubarPath="org.eclipse.acceleo.module.menu/acceleo"/>
</objectContribution>
</extension>
</plugin>

View file

@ -0,0 +1,66 @@
/*******************************************************************************
* 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.simplePDL.toHTML.ui;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext;
/**
* The activator class controls the plug-in life cycle.
*/
public class Activator extends AbstractUIPlugin {
/**
* The plug-in ID.
*/
public static final String PLUGIN_ID = "fr.n7.simplePDL.toHTML.ui";
/**
* The shared instance.
*/
private static Activator plugin;
/**
* The constructor.
*/
public Activator() {
}
/**{@inheritDoc}
*
* @see org.eclipse.core.runtime.Plugin#start(org.osgi.framework.BundleContext)
* @generated
*/
public void start(BundleContext context) throws Exception {
super.start(context);
plugin = this;
}
/**{@inheritDoc}
*
* @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
* @generated
*/
public void stop(BundleContext context) throws Exception {
plugin = null;
super.stop(context);
}
/**
* Returns the shared instance.
*
* @return the shared instance
*/
public static Activator getDefault() {
return plugin;
}
}

View file

@ -0,0 +1,86 @@
/*******************************************************************************
* 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.simplePDL.toHTML.ui.common;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import org.eclipse.emf.common.util.BasicMonitor;
import org.eclipse.core.resources.IContainer;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.emf.common.util.URI;
/**
* Main entry point of the 'ToHTML' generation module.
*/
public class GenerateAll {
/**
* The model URI.
*/
private URI modelURI;
/**
* The output folder.
*/
private IContainer targetFolder;
/**
* The other arguments.
*/
List<? extends Object> arguments;
/**
* Constructor.
*
* @param modelURI
* is the URI of the model.
* @param targetFolder
* is the output folder
* @param arguments
* are the other arguments
* @throws IOException
* Thrown when the output cannot be saved.
* @generated
*/
public GenerateAll(URI modelURI, IContainer targetFolder, List<? extends Object> arguments) {
this.modelURI = modelURI;
this.targetFolder = targetFolder;
this.arguments = arguments;
}
/**
* Launches the generation.
*
* @param monitor
* This will be used to display progress information to the user.
* @throws IOException
* Thrown when the output cannot be saved.
* @generated
*/
public void doGenerate(IProgressMonitor monitor) throws IOException {
if (!targetFolder.getLocation().toFile().exists()) {
targetFolder.getLocation().toFile().mkdirs();
}
monitor.subTask("Loading...");
fr.n7.simplePDL.toHTML.main.ToHTML gen0 = new fr.n7.simplePDL.toHTML.main.ToHTML(modelURI, targetFolder.getLocation().toFile(), arguments);
monitor.worked(1);
String generationID = org.eclipse.acceleo.engine.utils.AcceleoLaunchingUtil.computeUIProjectID("fr.n7.simplePDL.toHTML", "fr.n7.simplePDL.toHTML.main.ToHTML", modelURI.toString(), targetFolder.getFullPath().toString(), new ArrayList<String>());
gen0.setGenerationID(generationID);
gen0.doGenerate(BasicMonitor.toMonitor(monitor));
}
}

View file

@ -0,0 +1,116 @@
/*******************************************************************************
* 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.simplePDL.toHTML.ui.popupMenus;
import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.util.Iterator;
import java.util.List;
import java.util.ArrayList;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.emf.common.util.URI;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.operation.IRunnableWithProgress;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import fr.n7.simplePDL.toHTML.ui.Activator;
import fr.n7.simplePDL.toHTML.ui.common.GenerateAll;
import org.eclipse.ui.IActionDelegate;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.actions.ActionDelegate;
/**
* ToHTML code generation.
*/
public class AcceleoGenerateToHTMLAction extends ActionDelegate implements IActionDelegate {
/**
* Selected model files.
*/
protected List<IFile> files;
/**{@inheritDoc}
*
* @see org.eclipse.ui.actions.ActionDelegate#selectionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection)
* @generated
*/
@SuppressWarnings("unchecked")
public void selectionChanged(IAction action, ISelection selection) {
if (selection instanceof IStructuredSelection) {
files = ((IStructuredSelection) selection).toList();
}
}
/**{@inheritDoc}
*
* @see org.eclipse.ui.actions.ActionDelegate#run(org.eclipse.jface.action.IAction)
* @generated
*/
public void run(IAction action) {
if (files != null) {
IRunnableWithProgress operation = new IRunnableWithProgress() {
public void run(IProgressMonitor monitor) {
try {
Iterator<IFile> filesIt = files.iterator();
while (filesIt.hasNext()) {
IFile model = (IFile)filesIt.next();
URI modelURI = URI.createPlatformResourceURI(model.getFullPath().toString(), true);
IContainer targetFolder = null;
try {
IContainer target = model.getProject().getFolder("src-gen");
targetFolder = target;
GenerateAll generator = new GenerateAll(modelURI, targetFolder, getArguments());
generator.doGenerate(monitor);
} catch (IOException e) {
IStatus status = new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e);
Activator.getDefault().getLog().log(status);
} finally {
if (targetFolder != null) {
targetFolder.getProject().refreshLocal(IResource.DEPTH_INFINITE, monitor);
}
}
}
} catch (CoreException e) {
IStatus status = new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e);
Activator.getDefault().getLog().log(status);
}
}
};
try {
PlatformUI.getWorkbench().getProgressService().run(true, true, operation);
} catch (InvocationTargetException e) {
IStatus status = new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e);
Activator.getDefault().getLog().log(status);
} catch (InterruptedException e) {
IStatus status = new Status(IStatus.ERROR, Activator.PLUGIN_ID, e.getMessage(), e);
Activator.getDefault().getLog().log(status);
}
}
}
/**
* Computes the arguments of the generator.
*
* @return the arguments
* @generated
*/
protected List<? extends Object> getArguments() {
return new ArrayList<String>();
}
}

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" output="bin" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>

View file

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>fr.n7.simplePDL.toHTML</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.acceleo.ide.ui.acceleoBuilder</name>
<arguments>
<dictionary>
<key>compilation.kind</key>
<value>compilation.platform.resource</value>
</dictionary>
<dictionary>
<key>compliance</key>
<value>pragmatic</value>
</dictionary>
<dictionary>
<key>resource.kind</key>
<value>xmi</value>
</dictionary>
<dictionary>
<key>trim-position</key>
<value>false</value>
</dictionary>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.acceleo.ide.ui.acceleoNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.pde.PluginNature</nature>
</natures>
</projectDescription>

View file

@ -0,0 +1,24 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Acceleo ToHTML Module Runtime Plug-in
Bundle-SymbolicName: fr.n7.simplePDL.toHTML
Bundle-Version: 1.0.0.qualifier
Bundle-Activator: fr.n7.simplePDL.toHTML.Activator
Bundle-Vendor: Eclipse Modeling Project
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.emf.ecore,
org.eclipse.emf.ecore,
org.eclipse.emf.ecore.xmi,
org.eclipse.ocl,
org.eclipse.ocl.ecore,
org.eclipse.acceleo.common;bundle-version="3.3.0",
org.eclipse.acceleo.model;bundle-version="3.3.0",
org.eclipse.acceleo.profiler;bundle-version="3.3.0",
org.eclipse.acceleo.engine;bundle-version="3.3.0",
com.google.guava
Bundle-RequiredExecutionEnvironment: JavaSE-11
Bundle-ActivationPolicy: lazy
Eclipse-LazyStart: true
Export-Package: fr.n7.simplePDL.toHTML.main
Import-Package: simplepdl

View file

@ -0,0 +1,5 @@
source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.
jre.compilation.profile = JavaSE-11

View file

@ -0,0 +1,66 @@
/*******************************************************************************
* Copyright (c) 2008, 2011 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.simplePDL.toHTML;
import org.eclipse.core.runtime.Plugin;
import org.osgi.framework.BundleContext;
/**
* The activator class controls the plug-in life cycle.
*/
public class Activator extends Plugin {
/**
* The plug-in ID.
*/
public static final String PLUGIN_ID = "fr.n7.simplePDL.toHTML";
/**
* The shared instance.
*/
private static Activator plugin;
/**
* The constructor.
*/
public Activator() {
}
/**
* {@inheritDoc}
*
* @see org.eclipse.core.runtime.Plugin#start(org.osgi.framework.BundleContext)
*/
public void start(BundleContext context) throws Exception {
super.start(context);
plugin = this;
}
/**
* {@inheritDoc}
*
* @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
*/
public void stop(BundleContext context) throws Exception {
plugin = null;
super.stop(context);
}
/**
* Returns the shared instance.
*
* @return the shared instance
*/
public static Activator getDefault() {
return plugin;
}
}

View file

@ -0,0 +1,418 @@
/*******************************************************************************
* 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.simplePDL.toHTML.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 'ToHTML' generation module.
*
* @generated
*/
public class ToHTML extends AbstractAcceleoGenerator {
/**
* The name of the module.
*
* @generated
*/
public static final String MODULE_FILE_NAME = "/fr/n7/simplePDL/toHTML/main/toHTML";
/**
* The name of the templates that are to be generated.
*
* @generated
*/
public static final String[] TEMPLATE_NAMES = { "processToHTML" };
/**
* The list of properties files from the launch parameters (Launch configuration).
*
* @generated
*/
private List<String> propertiesFiles = new ArrayList<String>();
/**
* 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.
* <p>
* 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()}.
* </p>
*
* @generated
*/
public ToHTML() {
// 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 ToHTML(URI modelURI, File targetFolder,
List<? extends Object> 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 ToHTML(EObject model, File targetFolder,
List<? extends Object> 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<String> arguments = new ArrayList<String>();
/*
* 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.
*/
ToHTML generator = new ToHTML(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<org.eclipse.emf.ecore.resource.Resource.Diagnostic> 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<IAcceleoTextGenerationListener> getGenerationListeners() {
List<IAcceleoTextGenerationListener> 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.
* <p>
* 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.
* </p>
* <p>
* 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}.
* <b>Note</b>, however, that this <b>cannot</b> be used standalone.
* </p>
* <p>
* All three of these default strategies support merging through JMerge.
* </p>
*
* @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<String> 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(SimplepdlPackage.class))
resourceSet.getPackageRegistry().put(
SimplepdlPackage.eNS_URI, SimplepdlPackage.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)
}
}

View file

@ -0,0 +1,45 @@
[comment encoding = UTF-8 /]
[module toHTML('http://simplepdl')]
[template public processToHTML(aProcess : Process)]
[comment @main/]
[file (aProcess.name + '.html', false, 'UTF-8')]
<head><title>[aProcess.name/]</title></head>
<body>
<h1>Process "[aProcess.name/]"</h1>
<h2>Work definitions</h2>
[let wds : OrderedSet(WorkDefinition) = aProcess.getWDs() ]
[if (wds->size() > 0)]
<ul>
[for (wd : WorkDefinition | wds)]
<li>[wd.toHTML()/]</li>
[/for]
</ul>
[else]
<b>None.</b>
[/if]
[/let]
</body>
[/file]
[/template]
[query public getWDs(p: Process) : OrderedSet(WorkDefinition) =
p.processElements->select( e | e.oclIsTypeOf(WorkDefinition) )
->collect( e | e.oclAsType(WorkDefinition) )
->asOrderedSet()
/]
[query public toState(link: WorkSequenceType) : String =
if link = WorkSequenceType::startToStart or link = WorkSequenceType::startToFinish then
'started'
else
'finished'
endif
/]
[template public toHTML(wd : WorkDefinition) post (trim()) ]
[wd.name /] [for (ws: WorkSequence | wd.linksToPredecessors)
before (' requires ') separator (', ') after('.')
][ws.predecessor.name /] to be [ws.linkType.toState()
/][/for]
[/template]

View file

@ -0,0 +1,67 @@
<?xml version="1.0" encoding="UTF-8"?>
<project default="toHTML" name="fr.n7.simplePDL.toHTML">
<property name="ECLIPSE_HOME" value="../../../../../mnt/n7fs/ens/tp_cregut/eclipse-gls-2020-09"/>
<property name="ECLIPSE_WORKSPACE" value="../.."/>
<!-- The classpath with only the dependencies used by the project -->
<path id="fr.n7.simplePDL.toHTML.libraryclasspath">
<pathelement location="${ECLIPSE_WORKSPACE}/fr.n7.simplePDL.toHTML/bin"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.core.runtime_3.19.0.v20200724-1004.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.osgi_3.16.0.v20200828-0759.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.osgi.compatibility.state_1.2.100.v20200811-1344.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.equinox.common_3.13.0.v20200828-1034.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.core.jobs_3.10.800.v20200421-0950.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.equinox.registry_3.9.0.v20200625-1425.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.equinox.preferences_3.8.0.v20200422-1833.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.core.contenttype_3.7.800.v20200724-0804.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.equinox.app_1.5.0.v20200717-0620.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.emf.ecore_2.23.0.v20200630-0516.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.emf.common_2.20.0.v20200822-0801.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.emf.ecore.xmi_2.16.0.v20190528-0725.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.ocl_3.15.100.v20201208-2229.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/lpg.runtime.java_2.0.17.v201004271640.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.ocl.common_1.8.500.v20201208-2229.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.ocl.ecore_3.15.100.v20201208-2229.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.acceleo.common_3.7.11.202102190929.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.acceleo.model_3.7.11.202102190929.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.acceleo.profiler_3.7.11.202102190929.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.acceleo.engine_3.7.11.202102190929.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.emf.codegen.ecore_2.23.0.v20200701-0840.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/org.eclipse.emf.codegen_2.21.0.v20200708-0547.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/com.google.guava_27.1.0.v20190517-1946.jar"/>
<pathelement location="${ECLIPSE_HOME}/plugins/fr.n7.idm.simplepdl_1.0.0.202110051623.jar"/>
</path>
<path id="fr.n7.simplePDL.toHTML.classpath">
<path refid="fr.n7.simplePDL.toHTML.libraryclasspath"/>
</path>
<!-- The classpath with only the jars available in the plugin folder of Eclipse -->
<path id="fr.n7.simplePDL.toHTML.libraryclasspath.alljars">
<pathelement location="../fr.n7.simplePDL.toHTML/bin"/>
<fileset dir="${ECLIPSE_HOME}/plugins/" includes="*.jar"/>
</path>
<path id="fr.n7.simplePDL.toHTML.classpath.alljars">
<path refid="fr.n7.simplePDL.toHTML.libraryclasspath.alljars"/>
</path>
<!-- The default task with the jars used by this project -->
<target name="toHTML">
<java classname="fr.n7.simplePDL.toHTML.main.ToHTML" classpathref="fr.n7.simplePDL.toHTML.classpath">
<arg value="${model}"/>
<arg value="${target}"/>
</java>
</target>
<!--
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
-->
<target name="toHTML.alljars">
<java classname="fr.n7.simplePDL.toHTML.main.ToHTML" classpathref="fr.n7.simplePDL.toHTML.classpath">
<arg value="${model}"/>
<arg value="${target}"/>
</java>
</target>
</project>

View file

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Place this file in the target project and call it with "External Tools > Run As > Ant Build" -->
<!-- You have to change the MODEL and the TARGET values -->
<project basedir="." default="toHTMLSample" name="fr.n7.simplePDL.toHTMLSample">
<import file="../../fr.n7.simplePDL.toHTML/tasks/toHTML.xml"/>
<!-- Change the values of MODEL and TARGET to point to your model and output folder -->
<property name="MODEL" value="${basedir}/model/file.xmi"/>
<property name="TARGET" value="${basedir}/src-gen"/>
<target name="toHTMLSample" description="Generate files in 'TARGET'">
<antcall target="toHTML" >
<param name="model" value="${MODEL}"/>
<param name="target" value="${TARGET}"/>
</antcall>
</target>
</project>

View file

@ -0,0 +1,9 @@
<head><title>Mon premier processus</title></head>
<body>
<h1>Process "Mon premier processus"</h1>
<h2>Work definitions</h2>
<ul>
<li>Ma première WorkDefinition, quelle émotion</li>
<li>Ma deuxième WorkDefinition, toujours autant d'émotion requires Ma première WorkDefinition, quelle émotion to be finished, Ma première WorkDefinition, quelle émotion to be started.</li>
</ul>
</body>