feat: extraction de l'archive

This commit is contained in:
Laureηt 2021-10-03 22:23:04 +02:00
parent 166af99659
commit 60027ab264
No known key found for this signature in database
GPG key ID: D88C6B294FD40994
99 changed files with 12718 additions and 0 deletions

2
.gitignore vendored Normal file
View file

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

BIN
ec_ws.tar

Binary file not shown.

11
fr.n7.petriNet/.project Normal file
View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>fr.n7.petriNet</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
</buildSpec>
<natures>
</natures>
</projectDescription>

View file

@ -0,0 +1,668 @@
<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/description/1.1.0" xmlns:diagram="http://www.eclipse.org/sirius/diagram/1.1.0" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.3/notation" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:viewpoint="http://www.eclipse.org/sirius/1.1.0" xsi:schemaLocation="http://www.eclipse.org/sirius/description/1.1.0 http://www.eclipse.org/sirius/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description http://www.eclipse.org/sirius/diagram/description/style/1.1.0 http://www.eclipse.org/sirius/diagram/1.1.0#//description/style">
<viewpoint:DAnalysis uid="_oRyK4BuHEeynApCp8QEOUg" selectedViews="_oSYAwBuHEeynApCp8QEOUg _oSeucBuHEeynApCp8QEOUg _oSf8kBuHEeynApCp8QEOUg _oSiY0BuHEeynApCp8QEOUg" version="14.3.1.202003261200">
<semanticResources>petriNet.ecore</semanticResources>
<ownedViews xmi:type="viewpoint:DView" uid="_oSYAwBuHEeynApCp8QEOUg">
<viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/>
<ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_og5k8RuHEeynApCp8QEOUg" name="petrinet class diagram" repPath="#_og0FYBuHEeynApCp8QEOUg" changeId="2e379185-3ad3-48bc-ab74-3982a119a1f4">
<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="_Th3hsCKXEeyolrAZ4xuFwg" name="petrinet class diagram" repPath="#_ThzQQCKXEeyolrAZ4xuFwg" changeId="e53edb5d-c1e3-46dc-abdc-a6d8903e5a28">
<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']"/>
</ownedViews>
<ownedViews xmi:type="viewpoint:DView" uid="_oSf8kBuHEeynApCp8QEOUg">
<viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Archetype']"/>
</ownedViews>
<ownedViews xmi:type="viewpoint:DView" uid="_oSiY0BuHEeynApCp8QEOUg">
<viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Generation']"/>
</ownedViews>
</viewpoint:DAnalysis>
<diagram:DSemanticDiagram uid="_og0FYBuHEeynApCp8QEOUg">
<ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_og5k8huHEeynApCp8QEOUg" source="GMF_DIAGRAMS">
<data xmi:type="notation:Diagram" xmi:id="_og5k8xuHEeynApCp8QEOUg" type="Sirius" element="_og0FYBuHEeynApCp8QEOUg" measurementUnit="Pixel">
<children xmi:type="notation:Node" xmi:id="_ou3IcBuHEeynApCp8QEOUg" type="2003" element="_ouulkBuHEeynApCp8QEOUg">
<children xmi:type="notation:Node" xmi:id="_ou3IcxuHEeynApCp8QEOUg" type="5007"/>
<children xmi:type="notation:Node" xmi:id="_ou3IdBuHEeynApCp8QEOUg" type="7004">
<children xmi:type="notation:Node" xmi:id="_ou3vkhuHEeynApCp8QEOUg" type="3010" element="_ouy3AhuHEeynApCp8QEOUg">
<styles xmi:type="notation:FontStyle" xmi:id="_ou3vkxuHEeynApCp8QEOUg" fontName="Ubuntu" fontHeight="8"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_ou3vlBuHEeynApCp8QEOUg"/>
</children>
<styles xmi:type="notation:SortingStyle" xmi:id="_ou3IdRuHEeynApCp8QEOUg"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_ou3IdhuHEeynApCp8QEOUg"/>
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_ou3IcRuHEeynApCp8QEOUg" fontName="Ubuntu" fontHeight="8"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_ou3IchuHEeynApCp8QEOUg" x="756" y="240"/>
</children>
<children xmi:type="notation:Node" xmi:id="_ou3IdxuHEeynApCp8QEOUg" type="2003" element="_ouvzsRuHEeynApCp8QEOUg">
<children xmi:type="notation:Node" xmi:id="_ou3vgBuHEeynApCp8QEOUg" type="5007"/>
<children xmi:type="notation:Node" xmi:id="_ou3vgRuHEeynApCp8QEOUg" type="7004">
<styles xmi:type="notation:SortingStyle" xmi:id="_ou3vghuHEeynApCp8QEOUg"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_ou3vgxuHEeynApCp8QEOUg"/>
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_ou3IeBuHEeynApCp8QEOUg" fontName="Ubuntu" fontHeight="8"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_ou3IeRuHEeynApCp8QEOUg" x="328" y="232"/>
</children>
<children xmi:type="notation:Node" xmi:id="_ou3vhBuHEeynApCp8QEOUg" type="2003" element="_ouwawBuHEeynApCp8QEOUg">
<children xmi:type="notation:Node" xmi:id="_ou3vhxuHEeynApCp8QEOUg" type="5007"/>
<children xmi:type="notation:Node" xmi:id="_ou3viBuHEeynApCp8QEOUg" type="7004">
<children xmi:type="notation:Node" xmi:id="_ou3vlRuHEeynApCp8QEOUg" type="3010" element="_ouzeEBuHEeynApCp8QEOUg">
<styles xmi:type="notation:FontStyle" xmi:id="_ou3vlhuHEeynApCp8QEOUg" fontName="Ubuntu" fontHeight="8" bold="true"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_ou3vlxuHEeynApCp8QEOUg"/>
</children>
<styles xmi:type="notation:SortingStyle" xmi:id="_ou3viRuHEeynApCp8QEOUg"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_ou3vihuHEeynApCp8QEOUg"/>
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_ou3vhRuHEeynApCp8QEOUg" fontName="Ubuntu" fontHeight="8"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_ou3vhhuHEeynApCp8QEOUg" x="540" y="424"/>
</children>
<children xmi:type="notation:Node" xmi:id="_ou3vixuHEeynApCp8QEOUg" type="2003" element="_ouwawxuHEeynApCp8QEOUg">
<children xmi:type="notation:Node" xmi:id="_ou3vjhuHEeynApCp8QEOUg" type="5007"/>
<children xmi:type="notation:Node" xmi:id="_ou3vjxuHEeynApCp8QEOUg" type="7004">
<children xmi:type="notation:Node" xmi:id="_ou4WkBuHEeynApCp8QEOUg" type="3010" element="_ou0FIBuHEeynApCp8QEOUg">
<styles xmi:type="notation:FontStyle" xmi:id="_ou4WkRuHEeynApCp8QEOUg" fontName="Ubuntu" fontHeight="8" bold="true"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_ou4WkhuHEeynApCp8QEOUg"/>
</children>
<styles xmi:type="notation:SortingStyle" xmi:id="_ou3vkBuHEeynApCp8QEOUg"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_ou3vkRuHEeynApCp8QEOUg"/>
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_ou3vjBuHEeynApCp8QEOUg" fontName="Ubuntu" fontHeight="8"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_ou3vjRuHEeynApCp8QEOUg" x="540" y="108"/>
</children>
<styles xmi:type="notation:DiagramStyle" xmi:id="_og5k9BuHEeynApCp8QEOUg"/>
<edges xmi:type="notation:Edge" xmi:id="_ou4WkxuHEeynApCp8QEOUg" type="4001" element="_ou0sMBuHEeynApCp8QEOUg" source="_ou3IdxuHEeynApCp8QEOUg" target="_ou3vhBuHEeynApCp8QEOUg">
<children xmi:type="notation:Node" xmi:id="_ou4WlxuHEeynApCp8QEOUg" type="6001">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_ou4WmBuHEeynApCp8QEOUg" x="89" y="10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_ou4WmRuHEeynApCp8QEOUg" type="6002">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_ou4WmhuHEeynApCp8QEOUg" x="10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_ou4WmxuHEeynApCp8QEOUg" type="6003">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_ou4WnBuHEeynApCp8QEOUg" x="4" y="-6"/>
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_ou4WlBuHEeynApCp8QEOUg" routing="Rectilinear"/>
<styles xmi:type="notation:FontStyle" xmi:id="_ou4WlRuHEeynApCp8QEOUg" fontColor="7490599" fontName="Ubuntu" fontHeight="8"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ou4WlhuHEeynApCp8QEOUg" points="[0, 98, -212, -192]$[0, 240, -212, -50]$[152, 240, -60, -50]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ou4WnRuHEeynApCp8QEOUg" id="(0.5084745762711864,0.0)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ou4WnhuHEeynApCp8QEOUg" id="(0.5084745762711864,1.0)"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_ou49oBuHEeynApCp8QEOUg" type="4001" element="_ou0sNxuHEeynApCp8QEOUg" source="_ou3vhBuHEeynApCp8QEOUg" target="_ou3vixuHEeynApCp8QEOUg">
<children xmi:type="notation:Node" xmi:id="_ou49pBuHEeynApCp8QEOUg" type="6001">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_ou49pRuHEeynApCp8QEOUg" x="30"/>
</children>
<children xmi:type="notation:Node" xmi:id="_ou49phuHEeynApCp8QEOUg" type="6002">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_ou49pxuHEeynApCp8QEOUg" x="-4"/>
</children>
<children xmi:type="notation:Node" xmi:id="_ou49qBuHEeynApCp8QEOUg" type="6003">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_ou49qRuHEeynApCp8QEOUg" x="-139"/>
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_ou49oRuHEeynApCp8QEOUg" routing="Rectilinear"/>
<styles xmi:type="notation:FontStyle" xmi:id="_ou49ohuHEeynApCp8QEOUg" fontColor="7490599" fontName="Ubuntu" fontHeight="8"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ou49oxuHEeynApCp8QEOUg" points="[36, 0, 36, 218]$[36, -218, 36, 0]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ou49qhuHEeynApCp8QEOUg" id="(0.5084745762711864,0.0)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ou49qxuHEeynApCp8QEOUg" id="(0.5084745762711864,1.0)"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_ou49rBuHEeynApCp8QEOUg" type="4001" element="_ou1TSRuHEeynApCp8QEOUg" source="_ou3vhBuHEeynApCp8QEOUg" target="_ou3vixuHEeynApCp8QEOUg">
<children xmi:type="notation:Node" xmi:id="_ou49sBuHEeynApCp8QEOUg" type="6001">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_ou49sRuHEeynApCp8QEOUg" x="30"/>
</children>
<children xmi:type="notation:Node" xmi:id="_ou49shuHEeynApCp8QEOUg" type="6002">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_ou49sxuHEeynApCp8QEOUg" x="-4"/>
</children>
<children xmi:type="notation:Node" xmi:id="_ou49tBuHEeynApCp8QEOUg" type="6003">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_ou49tRuHEeynApCp8QEOUg" x="-129" y="10"/>
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_ou49rRuHEeynApCp8QEOUg" routing="Rectilinear"/>
<styles xmi:type="notation:FontStyle" xmi:id="_ou49rhuHEeynApCp8QEOUg" fontColor="7490599" fontName="Ubuntu" fontHeight="8"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ou49rxuHEeynApCp8QEOUg" points="[-28, 0, -28, 218]$[-28, -218, -28, 0]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ou49thuHEeynApCp8QEOUg" id="(0.5084745762711864,0.0)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ou49txuHEeynApCp8QEOUg" id="(0.5084745762711864,1.0)"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_ou49uBuHEeynApCp8QEOUg" type="4001" element="_ou16UxuHEeynApCp8QEOUg" source="_ou3IcBuHEeynApCp8QEOUg" target="_ou3vixuHEeynApCp8QEOUg">
<children xmi:type="notation:Node" xmi:id="_ou49vBuHEeynApCp8QEOUg" type="6001">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_ou49vRuHEeynApCp8QEOUg" x="-1" y="-10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_ou49vhuHEeynApCp8QEOUg" type="6002">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_ou49vxuHEeynApCp8QEOUg" x="-6" y="10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_ou49wBuHEeynApCp8QEOUg" type="6003">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_ou49wRuHEeynApCp8QEOUg" x="-16" y="10"/>
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_ou49uRuHEeynApCp8QEOUg" routing="Tree"/>
<styles xmi:type="notation:FontStyle" xmi:id="_ou49uhuHEeynApCp8QEOUg" fontName="Ubuntu" fontHeight="8"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ou49uxuHEeynApCp8QEOUg" points="[0, 0, 216, 34]$[0, -176, 216, -142]$[-218, -176, -2, -142]$[-218, -132, -2, -98]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ou49whuHEeynApCp8QEOUg" id="(0.5084745762711864,0.0)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ou49wxuHEeynApCp8QEOUg" id="(0.5084745762711864,1.0)"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_ou5ksBuHEeynApCp8QEOUg" type="4001" element="_ou2hZhuHEeynApCp8QEOUg" source="_ou3IdxuHEeynApCp8QEOUg" target="_ou3vixuHEeynApCp8QEOUg">
<children xmi:type="notation:Node" xmi:id="_ou5ktBuHEeynApCp8QEOUg" type="6001">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_ou5ktRuHEeynApCp8QEOUg" x="25" y="-10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_ou5kthuHEeynApCp8QEOUg" type="6002">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_ou5ktxuHEeynApCp8QEOUg" x="26" y="10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_ou5kuBuHEeynApCp8QEOUg" type="6003">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_ou5kuRuHEeynApCp8QEOUg" x="15" y="2"/>
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_ou5ksRuHEeynApCp8QEOUg" routing="Tree"/>
<styles xmi:type="notation:FontStyle" xmi:id="_ou5kshuHEeynApCp8QEOUg" fontName="Ubuntu" fontHeight="8"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ou5ksxuHEeynApCp8QEOUg" points="[0, 0, -162, 61]$[0, -156, -162, -95]$[176, -156, 14, -95]$[176, -124, 14, -63]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ou5kuhuHEeynApCp8QEOUg" id="(0.5084745762711864,0.0)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ou5kuxuHEeynApCp8QEOUg" id="(0.0847457627118644,0.6428571428571429)"/>
</edges>
</data>
</ownedAnnotationEntries>
<ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_og7aIRuHEeynApCp8QEOUg" source="DANNOTATION_CUSTOMIZATION_KEY">
<data xmi:type="diagram:ComputedStyleDescriptionRegistry" uid="_og7aIhuHEeynApCp8QEOUg">
<computedStyleDescriptions xmi:type="style:BundledImageDescription" xmi:id="_ouzeERuHEeynApCp8QEOUg" 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="_ou1TQBuHEeynApCp8QEOUg" routingStyle="manhattan">
<strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_ou1TQRuHEeynApCp8QEOUg" 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="_ou1TQhuHEeynApCp8QEOUg" 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="_ouulkBuHEeynApCp8QEOUg" name="Place" tooltipText="" outgoingEdges="_ou16UxuHEeynApCp8QEOUg" 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="_ouvMoBuHEeynApCp8QEOUg" 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="_ouy3AhuHEeynApCp8QEOUg" name="Jeton : EInt" tooltipText="">
<target xmi:type="ecore:EAttribute" href="petriNet.ecore#//Place/Jeton"/>
<semanticElements xmi:type="ecore:EAttribute" href="petriNet.ecore#//Place/Jeton"/>
<ownedStyle xmi:type="diagram:BundledImage" uid="_ouy3AxuHEeynApCp8QEOUg" labelAlignment="LEFT">
<description xmi:type="style:BundledImageDescription" 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']/@style"/>
</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="_ouvzsRuHEeynApCp8QEOUg" name="Transition" tooltipText="" outgoingEdges="_ou0sMBuHEeynApCp8QEOUg _ou2hZhuHEeynApCp8QEOUg" 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="_ouvzshuHEeynApCp8QEOUg" 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="_ouwawBuHEeynApCp8QEOUg" name="Flèche" tooltipText="" outgoingEdges="_ou0sNxuHEeynApCp8QEOUg _ou1TSRuHEeynApCp8QEOUg" incomingEdges="_ou0sMBuHEeynApCp8QEOUg" 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="_ouwawRuHEeynApCp8QEOUg" 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="_ouzeEBuHEeynApCp8QEOUg" 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="_ouzeEhuHEeynApCp8QEOUg" labelAlignment="LEFT" description="_ouzeERuHEeynApCp8QEOUg">
<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="_ouwawxuHEeynApCp8QEOUg" name="Case" tooltipText="" incomingEdges="_ou0sNxuHEeynApCp8QEOUg _ou1TSRuHEeynApCp8QEOUg _ou16UxuHEeynApCp8QEOUg _ou2hZhuHEeynApCp8QEOUg" width="12" height="10">
<target xmi:type="ecore:EClass" href="petriNet.ecore#//Case"/>
<semanticElements xmi:type="ecore:EClass" href="petriNet.ecore#//Case"/>
<arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
<arrangeConstraints>KEEP_SIZE</arrangeConstraints>
<arrangeConstraints>KEEP_RATIO</arrangeConstraints>
<ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_ouxB0BuHEeynApCp8QEOUg" 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="_ou0FIBuHEeynApCp8QEOUg" name="name : EString" tooltipText="">
<target xmi:type="ecore:EAttribute" href="petriNet.ecore#//Case/name"/>
<semanticElements xmi:type="ecore:EAttribute" href="petriNet.ecore#//Case/name"/>
<ownedStyle xmi:type="diagram:BundledImage" uid="_ou0FIRuHEeynApCp8QEOUg" labelAlignment="LEFT" description="_ouzeERuHEeynApCp8QEOUg">
<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="_ou0sMBuHEeynApCp8QEOUg" name="[0..*] fleches" sourceNode="_ouvzsRuHEeynApCp8QEOUg" targetNode="_ouwawBuHEeynApCp8QEOUg">
<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="_ou0sMRuHEeynApCp8QEOUg" routingStyle="manhattan" strokeColor="0,0,0">
<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_EReference']/@style"/>
<centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_ou0sMxuHEeynApCp8QEOUg" showIcon="false">
<customFeatures>labelSize</customFeatures>
</centerLabelStyle>
<endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_ou0sMhuHEeynApCp8QEOUg" 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="_ou0sNxuHEeynApCp8QEOUg" name="[1..1] origin" sourceNode="_ouwawBuHEeynApCp8QEOUg" targetNode="_ouwawxuHEeynApCp8QEOUg">
<target xmi:type="ecore:EReference" href="petriNet.ecore#//Flèche/origin"/>
<semanticElements xmi:type="ecore:EReference" href="petriNet.ecore#//Flèche/origin"/>
<ownedStyle xmi:type="diagram:EdgeStyle" uid="_ou1TQxuHEeynApCp8QEOUg" description="_ou1TQBuHEeynApCp8QEOUg" routingStyle="manhattan" strokeColor="0,0,0">
<centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_ou1TRRuHEeynApCp8QEOUg" showIcon="false">
<customFeatures>labelSize</customFeatures>
</centerLabelStyle>
<endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_ou1TRBuHEeynApCp8QEOUg" 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="_ou1TSRuHEeynApCp8QEOUg" name="[1..1] cible" sourceNode="_ouwawBuHEeynApCp8QEOUg" targetNode="_ouwawxuHEeynApCp8QEOUg">
<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="_ou1TShuHEeynApCp8QEOUg" description="_ou1TQBuHEeynApCp8QEOUg" routingStyle="manhattan" strokeColor="0,0,0">
<centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_ou1TTBuHEeynApCp8QEOUg" showIcon="false">
<customFeatures>labelSize</customFeatures>
</centerLabelStyle>
<endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_ou1TSxuHEeynApCp8QEOUg" 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="_ou16UxuHEeynApCp8QEOUg" sourceNode="_ouulkBuHEeynApCp8QEOUg" targetNode="_ouwawxuHEeynApCp8QEOUg">
<target xmi:type="ecore:EClass" href="petriNet.ecore#//Place"/>
<semanticElements xmi:type="ecore:EClass" href="petriNet.ecore#//Place"/>
<ownedStyle xmi:type="diagram:EdgeStyle" uid="_ou2hYBuHEeynApCp8QEOUg" 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="_ou2hYRuHEeynApCp8QEOUg" showIcon="false">
<labelFormat>italic</labelFormat>
</beginLabelStyle>
<centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_ou2hYhuHEeynApCp8QEOUg" 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="_ou2hZhuHEeynApCp8QEOUg" sourceNode="_ouvzsRuHEeynApCp8QEOUg" targetNode="_ouwawxuHEeynApCp8QEOUg">
<target xmi:type="ecore:EClass" href="petriNet.ecore#//Transition"/>
<semanticElements xmi:type="ecore:EClass" href="petriNet.ecore#//Transition"/>
<ownedStyle xmi:type="diagram:EdgeStyle" uid="_ou2hZxuHEeynApCp8QEOUg" 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="_ou2haBuHEeynApCp8QEOUg" showIcon="false">
<labelFormat>italic</labelFormat>
</beginLabelStyle>
<centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_ou2haRuHEeynApCp8QEOUg" 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="_og494BuHEeynApCp8QEOUg"/>
<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>
<diagram:DSemanticDiagram uid="_ThzQQCKXEeyolrAZ4xuFwg">
<ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_Th3hsSKXEeyolrAZ4xuFwg" source="GMF_DIAGRAMS">
<data xmi:type="notation:Diagram" xmi:id="_Th3hsiKXEeyolrAZ4xuFwg" type="Sirius" element="_ThzQQCKXEeyolrAZ4xuFwg" measurementUnit="Pixel">
<children xmi:type="notation:Node" xmi:id="_TuWegCKXEeyolrAZ4xuFwg" type="2003" element="_TuPJwCKXEeyolrAZ4xuFwg">
<children xmi:type="notation:Node" xmi:id="_TuWegyKXEeyolrAZ4xuFwg" type="5007"/>
<children xmi:type="notation:Node" xmi:id="_TuWehCKXEeyolrAZ4xuFwg" type="7004">
<children xmi:type="notation:Node" xmi:id="_TuXFqCKXEeyolrAZ4xuFwg" type="3010" element="_TuS0IiKXEeyolrAZ4xuFwg">
<styles xmi:type="notation:FontStyle" xmi:id="_TuXFqSKXEeyolrAZ4xuFwg" fontName="Ubuntu" fontHeight="8" bold="true"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_TuXFqiKXEeyolrAZ4xuFwg"/>
</children>
<styles xmi:type="notation:SortingStyle" xmi:id="_TuWehSKXEeyolrAZ4xuFwg"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_TuWehiKXEeyolrAZ4xuFwg"/>
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_TuWegSKXEeyolrAZ4xuFwg" fontName="Ubuntu" fontHeight="8"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_TuWegiKXEeyolrAZ4xuFwg" x="256" y="223"/>
</children>
<children xmi:type="notation:Node" xmi:id="_TuWehyKXEeyolrAZ4xuFwg" type="2003" element="_TuPw0SKXEeyolrAZ4xuFwg">
<children xmi:type="notation:Node" xmi:id="_TuWeiiKXEeyolrAZ4xuFwg" type="5007"/>
<children xmi:type="notation:Node" xmi:id="_TuXFkCKXEeyolrAZ4xuFwg" type="7004">
<styles xmi:type="notation:SortingStyle" xmi:id="_TuXFkSKXEeyolrAZ4xuFwg"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_TuXFkiKXEeyolrAZ4xuFwg"/>
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_TuWeiCKXEeyolrAZ4xuFwg" fontName="Ubuntu" fontHeight="8"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_TuWeiSKXEeyolrAZ4xuFwg" x="844" y="223"/>
</children>
<children xmi:type="notation:Node" xmi:id="_TuXFkyKXEeyolrAZ4xuFwg" type="2003" element="_TuPw1CKXEeyolrAZ4xuFwg">
<children xmi:type="notation:Node" xmi:id="_TuXFliKXEeyolrAZ4xuFwg" type="5007"/>
<children xmi:type="notation:Node" xmi:id="_TuXFlyKXEeyolrAZ4xuFwg" type="7004">
<children xmi:type="notation:Node" xmi:id="_TuXsoCKXEeyolrAZ4xuFwg" type="3010" element="_TuTbMCKXEeyolrAZ4xuFwg">
<styles xmi:type="notation:FontStyle" xmi:id="_TuXsoSKXEeyolrAZ4xuFwg" fontName="Ubuntu" fontHeight="8" bold="true"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_TuXsoiKXEeyolrAZ4xuFwg"/>
</children>
<children xmi:type="notation:Node" xmi:id="_TuXsoyKXEeyolrAZ4xuFwg" type="3010" element="_TuTbMiKXEeyolrAZ4xuFwg">
<styles xmi:type="notation:FontStyle" xmi:id="_TuXspCKXEeyolrAZ4xuFwg" fontName="Ubuntu" fontHeight="8" bold="true"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_TuXspSKXEeyolrAZ4xuFwg"/>
</children>
<styles xmi:type="notation:SortingStyle" xmi:id="_TuXFmCKXEeyolrAZ4xuFwg"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_TuXFmSKXEeyolrAZ4xuFwg"/>
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_TuXFlCKXEeyolrAZ4xuFwg" fontName="Ubuntu" fontHeight="8"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_TuXFlSKXEeyolrAZ4xuFwg" x="560" y="223"/>
</children>
<children xmi:type="notation:Node" xmi:id="_TuXFmiKXEeyolrAZ4xuFwg" type="2003" element="_TuQX4iKXEeyolrAZ4xuFwg">
<children xmi:type="notation:Node" xmi:id="_TuXFnSKXEeyolrAZ4xuFwg" type="5007"/>
<children xmi:type="notation:Node" xmi:id="_TuXFniKXEeyolrAZ4xuFwg" type="7004">
<children xmi:type="notation:Node" xmi:id="_TuXspiKXEeyolrAZ4xuFwg" type="3010" element="_TuTbNCKXEeyolrAZ4xuFwg">
<styles xmi:type="notation:FontStyle" xmi:id="_TuXspyKXEeyolrAZ4xuFwg" fontName="Ubuntu" fontHeight="8" bold="true"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_TuXsqCKXEeyolrAZ4xuFwg"/>
</children>
<styles xmi:type="notation:SortingStyle" xmi:id="_TuXFnyKXEeyolrAZ4xuFwg"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_TuXFoCKXEeyolrAZ4xuFwg"/>
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_TuXFmyKXEeyolrAZ4xuFwg" fontName="Ubuntu" fontHeight="8" italic="true"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_TuXFnCKXEeyolrAZ4xuFwg" x="584" y="68"/>
</children>
<children xmi:type="notation:Node" xmi:id="_TuXFoSKXEeyolrAZ4xuFwg" type="2003" element="_TuQX5SKXEeyolrAZ4xuFwg">
<children xmi:type="notation:Node" xmi:id="_TuXFpCKXEeyolrAZ4xuFwg" type="5007"/>
<children xmi:type="notation:Node" xmi:id="_TuXFpSKXEeyolrAZ4xuFwg" type="7004">
<children xmi:type="notation:Node" xmi:id="_TuXsqSKXEeyolrAZ4xuFwg" type="3010" element="_TuUCQSKXEeyolrAZ4xuFwg">
<styles xmi:type="notation:FontStyle" xmi:id="_TuXsqiKXEeyolrAZ4xuFwg" fontName="Ubuntu" fontHeight="8" bold="true"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_TuXsqyKXEeyolrAZ4xuFwg"/>
</children>
<styles xmi:type="notation:SortingStyle" xmi:id="_TuXFpiKXEeyolrAZ4xuFwg"/>
<styles xmi:type="notation:FilteringStyle" xmi:id="_TuXFpyKXEeyolrAZ4xuFwg"/>
</children>
<styles xmi:type="notation:ShapeStyle" xmi:id="_TuXFoiKXEeyolrAZ4xuFwg" fontName="Ubuntu" fontHeight="8"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_TuXFoyKXEeyolrAZ4xuFwg" x="256" y="68"/>
</children>
<styles xmi:type="notation:DiagramStyle" xmi:id="_Th3hsyKXEeyolrAZ4xuFwg"/>
<edges xmi:type="notation:Edge" xmi:id="_TuXsrCKXEeyolrAZ4xuFwg" type="4001" element="_TuUpUCKXEeyolrAZ4xuFwg" source="_TuWehyKXEeyolrAZ4xuFwg" target="_TuXFkyKXEeyolrAZ4xuFwg">
<children xmi:type="notation:Node" xmi:id="_TuXssCKXEeyolrAZ4xuFwg" type="6001">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_TuXssSKXEeyolrAZ4xuFwg" x="-32" y="-15"/>
</children>
<children xmi:type="notation:Node" xmi:id="_TuXssiKXEeyolrAZ4xuFwg" type="6002">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_TuXssyKXEeyolrAZ4xuFwg" x="16" y="-10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_TuYTsCKXEeyolrAZ4xuFwg" type="6003">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_TuYTsSKXEeyolrAZ4xuFwg" x="16" y="-10"/>
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_TuXsrSKXEeyolrAZ4xuFwg" routing="Rectilinear"/>
<styles xmi:type="notation:FontStyle" xmi:id="_TuXsriKXEeyolrAZ4xuFwg" fontColor="7490599" fontName="Ubuntu" fontHeight="8"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_TuXsryKXEeyolrAZ4xuFwg" points="[-59, -10, 208, -10]$[-191, -10, 76, -10]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TuYTsiKXEeyolrAZ4xuFwg" id="(0.5,0.5)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TuYTsyKXEeyolrAZ4xuFwg" id="(0.5,0.5)"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_TuYTtCKXEeyolrAZ4xuFwg" type="4001" element="_TuUpVyKXEeyolrAZ4xuFwg" source="_TuXFkyKXEeyolrAZ4xuFwg" target="_TuWegCKXEeyolrAZ4xuFwg">
<children xmi:type="notation:Node" xmi:id="_TuYTuCKXEeyolrAZ4xuFwg" type="6001">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_TuYTuSKXEeyolrAZ4xuFwg" x="-61" y="-13"/>
</children>
<children xmi:type="notation:Node" xmi:id="_TuYTuiKXEeyolrAZ4xuFwg" type="6002">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_TuYTuyKXEeyolrAZ4xuFwg" x="59" y="-10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_TuYTvCKXEeyolrAZ4xuFwg" type="6003">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_TuYTvSKXEeyolrAZ4xuFwg" x="16" y="-10"/>
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_TuYTtSKXEeyolrAZ4xuFwg" routing="Rectilinear"/>
<styles xmi:type="notation:FontStyle" xmi:id="_TuYTtiKXEeyolrAZ4xuFwg" fontColor="7490599" fontName="Ubuntu" fontHeight="8"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_TuYTtyKXEeyolrAZ4xuFwg" points="[-76, 8, 245, 8]$[-262, 8, 59, 8]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TuYTviKXEeyolrAZ4xuFwg" id="(0.5,0.5)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TuYTvyKXEeyolrAZ4xuFwg" id="(0.5,0.5)"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_TuYTwCKXEeyolrAZ4xuFwg" type="4001" element="_TuVQYyKXEeyolrAZ4xuFwg" source="_TuXFoSKXEeyolrAZ4xuFwg" target="_TuXFmiKXEeyolrAZ4xuFwg">
<children xmi:type="notation:Node" xmi:id="_TuYTxCKXEeyolrAZ4xuFwg" type="6001">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_TuYTxSKXEeyolrAZ4xuFwg" x="-38" y="10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_TuYTxiKXEeyolrAZ4xuFwg" type="6002">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_TuYTxyKXEeyolrAZ4xuFwg" x="-20" y="-10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_TuYTyCKXEeyolrAZ4xuFwg" type="6003">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_TuYTySKXEeyolrAZ4xuFwg" x="-11" y="-10"/>
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_TuYTwSKXEeyolrAZ4xuFwg" routing="Rectilinear"/>
<styles xmi:type="notation:FontStyle" xmi:id="_TuYTwiKXEeyolrAZ4xuFwg" fontColor="7490599" fontName="Ubuntu" fontHeight="8"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_TuYTwyKXEeyolrAZ4xuFwg" points="[58, 28, -270, -70]$[268, 28, -60, -70]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TuYTyiKXEeyolrAZ4xuFwg" id="(0.5084745762711864,0.0)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TuYTyyKXEeyolrAZ4xuFwg" id="(0.5084745762711864,1.0)"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_TuYTzCKXEeyolrAZ4xuFwg" type="4001" element="_TuVQbSKXEeyolrAZ4xuFwg" source="_TuWegCKXEeyolrAZ4xuFwg" target="_TuXFmiKXEeyolrAZ4xuFwg">
<children xmi:type="notation:Node" xmi:id="_TuY6wCKXEeyolrAZ4xuFwg" type="6001">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_TuY6wSKXEeyolrAZ4xuFwg" x="-8" y="-10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_TuY6wiKXEeyolrAZ4xuFwg" type="6002">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_TuY6wyKXEeyolrAZ4xuFwg" x="-8" y="10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_TuY6xCKXEeyolrAZ4xuFwg" type="6003">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_TuY6xSKXEeyolrAZ4xuFwg" x="-8" y="10"/>
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_TuYTzSKXEeyolrAZ4xuFwg" routing="Tree"/>
<styles xmi:type="notation:FontStyle" xmi:id="_TuYTziKXEeyolrAZ4xuFwg" fontName="Ubuntu" fontHeight="8"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_TuYTzyKXEeyolrAZ4xuFwg" points="[0, 0, -328, 57]$[0, -31, -328, 26]$[328, -31, 0, 26]$[328, -57, 0, 0]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TuY6xiKXEeyolrAZ4xuFwg" id="(0.5084745762711864,0.0)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TuY6xyKXEeyolrAZ4xuFwg" id="(0.5084745762711864,1.0)"/>
</edges>
<edges xmi:type="notation:Edge" xmi:id="_TuY6yCKXEeyolrAZ4xuFwg" type="4001" element="_TuV3cyKXEeyolrAZ4xuFwg" source="_TuWehyKXEeyolrAZ4xuFwg" target="_TuXFmiKXEeyolrAZ4xuFwg">
<children xmi:type="notation:Node" xmi:id="_TuY6zCKXEeyolrAZ4xuFwg" type="6001">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_TuY6zSKXEeyolrAZ4xuFwg" y="-10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_TuY6ziKXEeyolrAZ4xuFwg" type="6002">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_TuY6zyKXEeyolrAZ4xuFwg" y="10"/>
</children>
<children xmi:type="notation:Node" xmi:id="_TuY60CKXEeyolrAZ4xuFwg" type="6003">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_TuY60SKXEeyolrAZ4xuFwg" y="10"/>
</children>
<styles xmi:type="notation:ConnectorStyle" xmi:id="_TuY6ySKXEeyolrAZ4xuFwg" routing="Tree"/>
<styles xmi:type="notation:FontStyle" xmi:id="_TuY6yiKXEeyolrAZ4xuFwg" fontName="Ubuntu" fontHeight="8"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_TuY6yyKXEeyolrAZ4xuFwg" points="[-1, 0, 96, 380]$[-2, -320, 95, 60]$[-98, -380, -1, 0]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TuY60iKXEeyolrAZ4xuFwg" id="(0.5084745762711864,0.0)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TuY60yKXEeyolrAZ4xuFwg" id="(0.5084745762711864,1.0)"/>
</edges>
</data>
</ownedAnnotationEntries>
<ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_Th4IwyKXEeyolrAZ4xuFwg" source="DANNOTATION_CUSTOMIZATION_KEY">
<data xmi:type="diagram:ComputedStyleDescriptionRegistry" uid="_Th4IxCKXEeyolrAZ4xuFwg">
<computedStyleDescriptions xmi:type="style:BundledImageDescription" xmi:id="_TuS0IyKXEeyolrAZ4xuFwg" 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="_TuUpWCKXEeyolrAZ4xuFwg" routingStyle="manhattan">
<strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_TuUpWSKXEeyolrAZ4xuFwg" 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="_TuUpWiKXEeyolrAZ4xuFwg" 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="_TuVQZCKXEeyolrAZ4xuFwg" sourceArrow="FillDiamond" routingStyle="manhattan">
<strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_TuVQZSKXEeyolrAZ4xuFwg" 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="_TuVQZiKXEeyolrAZ4xuFwg" 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="_TuPJwCKXEeyolrAZ4xuFwg" name="Place" tooltipText="" outgoingEdges="_TuVQbSKXEeyolrAZ4xuFwg" incomingEdges="_TuUpVyKXEeyolrAZ4xuFwg" 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="_TuPJwSKXEeyolrAZ4xuFwg" 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="_TuS0IiKXEeyolrAZ4xuFwg" 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="_TuS0JCKXEeyolrAZ4xuFwg" labelAlignment="LEFT" description="_TuS0IyKXEeyolrAZ4xuFwg">
<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="_TuPw0SKXEeyolrAZ4xuFwg" name="Transition" tooltipText="" outgoingEdges="_TuUpUCKXEeyolrAZ4xuFwg _TuV3cyKXEeyolrAZ4xuFwg" 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="_TuPw0iKXEeyolrAZ4xuFwg" 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="_TuPw1CKXEeyolrAZ4xuFwg" name="Flèche" tooltipText="" outgoingEdges="_TuUpVyKXEeyolrAZ4xuFwg" incomingEdges="_TuUpUCKXEeyolrAZ4xuFwg" 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="_TuQX4CKXEeyolrAZ4xuFwg" 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="_TuTbMCKXEeyolrAZ4xuFwg" 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="_TuTbMSKXEeyolrAZ4xuFwg" labelAlignment="LEFT" description="_TuS0IyKXEeyolrAZ4xuFwg">
<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="_TuTbMiKXEeyolrAZ4xuFwg" 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="_TuTbMyKXEeyolrAZ4xuFwg" labelAlignment="LEFT" description="_TuS0IyKXEeyolrAZ4xuFwg">
<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="_TuQX4iKXEeyolrAZ4xuFwg" name="Noeud" tooltipText="" incomingEdges="_TuVQYyKXEeyolrAZ4xuFwg _TuVQbSKXEeyolrAZ4xuFwg _TuV3cyKXEeyolrAZ4xuFwg" 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="_TuQX4yKXEeyolrAZ4xuFwg" 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="_TuTbNCKXEeyolrAZ4xuFwg" 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="_TuUCQCKXEeyolrAZ4xuFwg" labelAlignment="LEFT" description="_TuS0IyKXEeyolrAZ4xuFwg">
<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="_TuQX5SKXEeyolrAZ4xuFwg" name="Reseau" tooltipText="" outgoingEdges="_TuVQYyKXEeyolrAZ4xuFwg" width="12" height="10">
<target xmi:type="ecore:EClass" href="petriNet.ecore#//Reseau"/>
<semanticElements xmi:type="ecore:EClass" href="petriNet.ecore#//Reseau"/>
<arrangeConstraints>KEEP_LOCATION</arrangeConstraints>
<arrangeConstraints>KEEP_SIZE</arrangeConstraints>
<arrangeConstraints>KEEP_RATIO</arrangeConstraints>
<ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_TuQX5iKXEeyolrAZ4xuFwg" 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="_TuUCQSKXEeyolrAZ4xuFwg" 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="_TuUCQiKXEeyolrAZ4xuFwg" labelAlignment="LEFT" description="_TuS0IyKXEeyolrAZ4xuFwg">
<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="_TuUpUCKXEeyolrAZ4xuFwg" name="[0..*] fleches" sourceNode="_TuPw0SKXEeyolrAZ4xuFwg" targetNode="_TuPw1CKXEeyolrAZ4xuFwg">
<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="_TuUpUSKXEeyolrAZ4xuFwg" routingStyle="manhattan" strokeColor="0,0,0">
<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_EReference']/@style"/>
<centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_TuUpUyKXEeyolrAZ4xuFwg" showIcon="false">
<customFeatures>labelSize</customFeatures>
</centerLabelStyle>
<endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_TuUpUiKXEeyolrAZ4xuFwg" 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="_TuUpVyKXEeyolrAZ4xuFwg" name="[1..1] cible" sourceNode="_TuPw1CKXEeyolrAZ4xuFwg" targetNode="_TuPJwCKXEeyolrAZ4xuFwg">
<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="_TuUpWyKXEeyolrAZ4xuFwg" description="_TuUpWCKXEeyolrAZ4xuFwg" routingStyle="manhattan" strokeColor="0,0,0">
<centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_TuUpXSKXEeyolrAZ4xuFwg" showIcon="false">
<customFeatures>labelSize</customFeatures>
</centerLabelStyle>
<endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_TuUpXCKXEeyolrAZ4xuFwg" 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="_TuVQYyKXEeyolrAZ4xuFwg" name="[0..*] noeuds" sourceNode="_TuQX5SKXEeyolrAZ4xuFwg" targetNode="_TuQX4iKXEeyolrAZ4xuFwg">
<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="_TuVQZyKXEeyolrAZ4xuFwg" description="_TuVQZCKXEeyolrAZ4xuFwg" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0">
<centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_TuVQaSKXEeyolrAZ4xuFwg" showIcon="false">
<customFeatures>labelSize</customFeatures>
</centerLabelStyle>
<endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_TuVQaCKXEeyolrAZ4xuFwg" 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="_TuVQbSKXEeyolrAZ4xuFwg" sourceNode="_TuPJwCKXEeyolrAZ4xuFwg" targetNode="_TuQX4iKXEeyolrAZ4xuFwg">
<target xmi:type="ecore:EClass" href="petriNet.ecore#//Place"/>
<semanticElements xmi:type="ecore:EClass" href="petriNet.ecore#//Place"/>
<ownedStyle xmi:type="diagram:EdgeStyle" uid="_TuVQbiKXEeyolrAZ4xuFwg" 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="_TuVQbyKXEeyolrAZ4xuFwg" showIcon="false">
<labelFormat>italic</labelFormat>
</beginLabelStyle>
<centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_TuVQcCKXEeyolrAZ4xuFwg" 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="_TuV3cyKXEeyolrAZ4xuFwg" sourceNode="_TuPw0SKXEeyolrAZ4xuFwg" targetNode="_TuQX4iKXEeyolrAZ4xuFwg">
<target xmi:type="ecore:EClass" href="petriNet.ecore#//Transition"/>
<semanticElements xmi:type="ecore:EClass" href="petriNet.ecore#//Transition"/>
<ownedStyle xmi:type="diagram:EdgeStyle" uid="_TuV3dCKXEeyolrAZ4xuFwg" 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="_TuV3dSKXEeyolrAZ4xuFwg" showIcon="false">
<labelFormat>italic</labelFormat>
</beginLabelStyle>
<centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_TuV3diKXEeyolrAZ4xuFwg" 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="_Th26oCKXEeyolrAZ4xuFwg"/>
<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

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="petrinet" nsURI="http://petrinet" nsPrefix="petrinet">
<eClassifiers xsi:type="ecore:EClass" name="Place" eSuperTypes="#//Noeud">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="jetons" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Transition" eSuperTypes="#//Noeud">
<eStructuralFeatures xsi:type="ecore:EReference" name="fleches" upperBound="-1"
eType="#//Flèche"/>
</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"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="sortant" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="cible" lowerBound="1" eType="#//Place"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Noeud" abstract="true">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Reseau">
<eStructuralFeatures xsi:type="ecore:EReference" name="noeuds" upperBound="-1"
eType="#//Noeud" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
</ecore:EPackage>

Binary file not shown.

After

Width:  |  Height:  |  Size: 252 KiB

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<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="output" path="bin"/>
</classpath>

View file

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>fr.n7.simplePDL.edit</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.jdt.core.javanature</nature>
<nature>org.eclipse.pde.PluginNature</nature>
</natures>
</projectDescription>

View file

@ -0,0 +1,16 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: fr.n7.simplePDL.edit;singleton:=true
Automatic-Module-Name: fr.n7.simplePDL.edit
Bundle-Version: 1.0.0.qualifier
Bundle-ClassPath: .
Bundle-Activator: simplepdl.provider.SimplePDLEditPlugin$Implementation
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Export-Package: simplepdl.provider
Require-Bundle: org.eclipse.core.runtime,
fr.n7.simplePDL;visibility:=reexport,
org.eclipse.emf.edit;visibility:=reexport
Bundle-ActivationPolicy: lazy

View file

@ -0,0 +1,10 @@
#
bin.includes = .,\
icons/,\
META-INF/,\
plugin.xml,\
plugin.properties
jars.compile.order = .
source.. = src/
output.. = bin/

Binary file not shown.

After

Width:  |  Height:  |  Size: 223 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 223 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 223 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 223 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 223 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 129 B

View file

@ -0,0 +1,46 @@
#
pluginName = SimplePDL Model Edit Support
providerName = www.example.org
_UI_CreateChild_text = {0}
_UI_CreateChild_text2 = {1} {0}
_UI_CreateChild_text3 = {1}
_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.
_UI_PropertyDescriptor_description = The {0} of the {1}
_UI_ProcessElement_type = Process Element
_UI_WorkDefinition_type = Work Definition
_UI_WorkSequence_type = Work Sequence
_UI_Guidance_type = Guidance
_UI_Process_type = Process
_UI_Request_type = Request
_UI_Resource_type = Resource
_UI_Unknown_type = Object
_UI_Unknown_datatype= Value
_UI_WorkDefinition_linksToPredecessors_feature = Links To Predecessors
_UI_WorkDefinition_linksToSuccessors_feature = Links To Successors
_UI_WorkDefinition_name_feature = Name
_UI_WorkDefinition_requests_feature = Requests
_UI_WorkSequence_linkType_feature = Link Type
_UI_WorkSequence_predecessor_feature = Predecessor
_UI_WorkSequence_successor_feature = Successor
_UI_Guidance_text_feature = Text
_UI_Guidance_elements_feature = Elements
_UI_Process_name_feature = Name
_UI_Process_processElements_feature = Process Elements
_UI_Request_quantity_feature = Quantity
_UI_Request_target_feature = Target
_UI_Resource_quantity_feature = Quantity
_UI_Resource_name_feature = Name
_UI_Unknown_feature = Unspecified
_UI_WorkSequenceType_startToStart_literal = startToStart
_UI_WorkSequenceType_finishToStart_literal = finishToStart
_UI_WorkSequenceType_startToFinish_literal = startToFinish
_UI_WorkSequenceType_finishToFinish_literal = finishToFinish

View file

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<!--
-->
<plugin>
<extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
<!-- @generated SimplePDL -->
<factory
uri="http://simplepdl"
class="simplepdl.provider.SimplepdlItemProviderAdapterFactory"
supportedTypes=
"org.eclipse.emf.edit.provider.IEditingDomainItemProvider
org.eclipse.emf.edit.provider.IStructuredItemContentProvider
org.eclipse.emf.edit.provider.ITreeItemContentProvider
org.eclipse.emf.edit.provider.IItemLabelProvider
org.eclipse.emf.edit.provider.IItemPropertySource"/>
</extension>
</plugin>

View file

@ -0,0 +1,155 @@
/**
*/
package simplepdl.provider;
import java.util.Collection;
import java.util.List;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ViewerNotification;
import simplepdl.Guidance;
import simplepdl.SimplepdlPackage;
/**
* This is the item provider adapter for a {@link simplepdl.Guidance} object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public class GuidanceItemProvider extends ProcessElementItemProvider {
/**
* This constructs an instance from a factory and a notifier.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public GuidanceItemProvider(AdapterFactory adapterFactory) {
super(adapterFactory);
}
/**
* This returns the property descriptors for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
if (itemPropertyDescriptors == null) {
super.getPropertyDescriptors(object);
addTextPropertyDescriptor(object);
addElementsPropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
/**
* This adds a property descriptor for the Text feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addTextPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_Guidance_text_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_Guidance_text_feature", "_UI_Guidance_type"),
SimplepdlPackage.Literals.GUIDANCE__TEXT,
true,
false,
false,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
null,
null));
}
/**
* This adds a property descriptor for the Elements feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addElementsPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_Guidance_elements_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_Guidance_elements_feature", "_UI_Guidance_type"),
SimplepdlPackage.Literals.GUIDANCE__ELEMENTS,
true,
false,
true,
null,
null,
null));
}
/**
* This returns Guidance.gif.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object getImage(Object object) {
return overlayImage(object, getResourceLocator().getImage("full/obj16/Guidance"));
}
/**
* This returns the label text for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String getText(Object object) {
String label = ((Guidance)object).getText();
return label == null || label.length() == 0 ?
getString("_UI_Guidance_type") :
getString("_UI_Guidance_type") + " " + label;
}
/**
* This handles model notifications by calling {@link #updateChildren} to update any cached
* children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void notifyChanged(Notification notification) {
updateChildren(notification);
switch (notification.getFeatureID(Guidance.class)) {
case SimplepdlPackage.GUIDANCE__TEXT:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
}
super.notifyChanged(notification);
}
/**
* This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
* that can be created under this object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
super.collectNewChildDescriptors(newChildDescriptors, object);
}
}

View file

@ -0,0 +1,109 @@
/**
*/
package simplepdl.provider;
import java.util.Collection;
import java.util.List;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.util.ResourceLocator;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.IItemPropertySource;
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ItemProviderAdapter;
/**
* This is the item provider adapter for a {@link simplepdl.ProcessElement} object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public class ProcessElementItemProvider
extends ItemProviderAdapter
implements
IEditingDomainItemProvider,
IStructuredItemContentProvider,
ITreeItemContentProvider,
IItemLabelProvider,
IItemPropertySource {
/**
* This constructs an instance from a factory and a notifier.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ProcessElementItemProvider(AdapterFactory adapterFactory) {
super(adapterFactory);
}
/**
* This returns the property descriptors for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
if (itemPropertyDescriptors == null) {
super.getPropertyDescriptors(object);
}
return itemPropertyDescriptors;
}
/**
* This returns the label text for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String getText(Object object) {
return getString("_UI_ProcessElement_type");
}
/**
* This handles model notifications by calling {@link #updateChildren} to update any cached
* children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void notifyChanged(Notification notification) {
updateChildren(notification);
super.notifyChanged(notification);
}
/**
* This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
* that can be created under this object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
super.collectNewChildDescriptors(newChildDescriptors, object);
}
/**
* Return the resource locator for this item provider's resources.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public ResourceLocator getResourceLocator() {
return SimplePDLEditPlugin.INSTANCE;
}
}

View file

@ -0,0 +1,213 @@
/**
*/
package simplepdl.provider;
import java.util.Collection;
import java.util.List;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.util.ResourceLocator;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.IItemPropertySource;
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ItemProviderAdapter;
import org.eclipse.emf.edit.provider.ViewerNotification;
import simplepdl.SimplepdlFactory;
import simplepdl.SimplepdlPackage;
/**
* This is the item provider adapter for a {@link simplepdl.Process} object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public class ProcessItemProvider
extends ItemProviderAdapter
implements
IEditingDomainItemProvider,
IStructuredItemContentProvider,
ITreeItemContentProvider,
IItemLabelProvider,
IItemPropertySource {
/**
* This constructs an instance from a factory and a notifier.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ProcessItemProvider(AdapterFactory adapterFactory) {
super(adapterFactory);
}
/**
* This returns the property descriptors for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
if (itemPropertyDescriptors == null) {
super.getPropertyDescriptors(object);
addNamePropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
/**
* This adds a property descriptor for the Name feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addNamePropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_Process_name_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_Process_name_feature", "_UI_Process_type"),
SimplepdlPackage.Literals.PROCESS__NAME,
true,
false,
false,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
null,
null));
}
/**
* This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
* {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
* {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
if (childrenFeatures == null) {
super.getChildrenFeatures(object);
childrenFeatures.add(SimplepdlPackage.Literals.PROCESS__PROCESS_ELEMENTS);
}
return childrenFeatures;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EStructuralFeature getChildFeature(Object object, Object child) {
// Check the type of the specified child object and return the proper feature to use for
// adding (see {@link AddCommand}) it as a child.
return super.getChildFeature(object, child);
}
/**
* This returns Process.gif.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object getImage(Object object) {
return overlayImage(object, getResourceLocator().getImage("full/obj16/Process"));
}
/**
* This returns the label text for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String getText(Object object) {
String label = ((simplepdl.Process)object).getName();
return label == null || label.length() == 0 ?
getString("_UI_Process_type") :
getString("_UI_Process_type") + " " + label;
}
/**
* This handles model notifications by calling {@link #updateChildren} to update any cached
* children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void notifyChanged(Notification notification) {
updateChildren(notification);
switch (notification.getFeatureID(simplepdl.Process.class)) {
case SimplepdlPackage.PROCESS__NAME:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
case SimplepdlPackage.PROCESS__PROCESS_ELEMENTS:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
return;
}
super.notifyChanged(notification);
}
/**
* This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
* that can be created under this object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
super.collectNewChildDescriptors(newChildDescriptors, object);
newChildDescriptors.add
(createChildParameter
(SimplepdlPackage.Literals.PROCESS__PROCESS_ELEMENTS,
SimplepdlFactory.eINSTANCE.createWorkDefinition()));
newChildDescriptors.add
(createChildParameter
(SimplepdlPackage.Literals.PROCESS__PROCESS_ELEMENTS,
SimplepdlFactory.eINSTANCE.createWorkSequence()));
newChildDescriptors.add
(createChildParameter
(SimplepdlPackage.Literals.PROCESS__PROCESS_ELEMENTS,
SimplepdlFactory.eINSTANCE.createGuidance()));
newChildDescriptors.add
(createChildParameter
(SimplepdlPackage.Literals.PROCESS__PROCESS_ELEMENTS,
SimplepdlFactory.eINSTANCE.createResource()));
}
/**
* Return the resource locator for this item provider's resources.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public ResourceLocator getResourceLocator() {
return SimplePDLEditPlugin.INSTANCE;
}
}

View file

@ -0,0 +1,179 @@
/**
*/
package simplepdl.provider;
import java.util.Collection;
import java.util.List;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.util.ResourceLocator;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.IItemPropertySource;
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ItemProviderAdapter;
import org.eclipse.emf.edit.provider.ViewerNotification;
import simplepdl.Request;
import simplepdl.SimplepdlPackage;
/**
* This is the item provider adapter for a {@link simplepdl.Request} object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public class RequestItemProvider
extends ItemProviderAdapter
implements
IEditingDomainItemProvider,
IStructuredItemContentProvider,
ITreeItemContentProvider,
IItemLabelProvider,
IItemPropertySource {
/**
* This constructs an instance from a factory and a notifier.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public RequestItemProvider(AdapterFactory adapterFactory) {
super(adapterFactory);
}
/**
* This returns the property descriptors for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
if (itemPropertyDescriptors == null) {
super.getPropertyDescriptors(object);
addQuantityPropertyDescriptor(object);
addTargetPropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
/**
* This adds a property descriptor for the Quantity feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addQuantityPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_Request_quantity_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_Request_quantity_feature", "_UI_Request_type"),
SimplepdlPackage.Literals.REQUEST__QUANTITY,
true,
false,
false,
ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
null,
null));
}
/**
* This adds a property descriptor for the Target feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addTargetPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_Request_target_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_Request_target_feature", "_UI_Request_type"),
SimplepdlPackage.Literals.REQUEST__TARGET,
true,
false,
true,
null,
null,
null));
}
/**
* This returns Request.gif.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object getImage(Object object) {
return overlayImage(object, getResourceLocator().getImage("full/obj16/Request"));
}
/**
* This returns the label text for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String getText(Object object) {
Request request = (Request)object;
return getString("_UI_Request_type") + " --" + request.getQuantity() + "--> " + request.getTarget().getName();
}
/**
* This handles model notifications by calling {@link #updateChildren} to update any cached
* children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void notifyChanged(Notification notification) {
updateChildren(notification);
switch (notification.getFeatureID(Request.class)) {
case SimplepdlPackage.REQUEST__QUANTITY:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
}
super.notifyChanged(notification);
}
/**
* This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
* that can be created under this object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
super.collectNewChildDescriptors(newChildDescriptors, object);
}
/**
* Return the resource locator for this item provider's resources.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public ResourceLocator getResourceLocator() {
return SimplePDLEditPlugin.INSTANCE;
}
}

View file

@ -0,0 +1,157 @@
/**
*/
package simplepdl.provider;
import java.util.Collection;
import java.util.List;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ViewerNotification;
import simplepdl.Resource;
import simplepdl.SimplepdlPackage;
/**
* This is the item provider adapter for a {@link simplepdl.Resource} object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public class ResourceItemProvider extends ProcessElementItemProvider {
/**
* This constructs an instance from a factory and a notifier.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ResourceItemProvider(AdapterFactory adapterFactory) {
super(adapterFactory);
}
/**
* This returns the property descriptors for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
if (itemPropertyDescriptors == null) {
super.getPropertyDescriptors(object);
addQuantityPropertyDescriptor(object);
addNamePropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
/**
* This adds a property descriptor for the Quantity feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addQuantityPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_Resource_quantity_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_Resource_quantity_feature", "_UI_Resource_type"),
SimplepdlPackage.Literals.RESOURCE__QUANTITY,
true,
false,
false,
ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
null,
null));
}
/**
* This adds a property descriptor for the Name feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addNamePropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_Resource_name_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_Resource_name_feature", "_UI_Resource_type"),
SimplepdlPackage.Literals.RESOURCE__NAME,
true,
false,
false,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
null,
null));
}
/**
* This returns Resource.gif.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object getImage(Object object) {
return overlayImage(object, getResourceLocator().getImage("full/obj16/Resource"));
}
/**
* This returns the label text for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String getText(Object object) {
String label = ((Resource)object).getName();
int qty = ((Resource)object).getQuantity();
return label == null || label.length() == 0 ?
getString("_UI_Resource_type") :
getString("_UI_Resource_type") + " " + label + "( " + qty + " )";
}
/**
* This handles model notifications by calling {@link #updateChildren} to update any cached
* children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void notifyChanged(Notification notification) {
updateChildren(notification);
switch (notification.getFeatureID(Resource.class)) {
case SimplepdlPackage.RESOURCE__QUANTITY:
case SimplepdlPackage.RESOURCE__NAME:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
}
super.notifyChanged(notification);
}
/**
* This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
* that can be created under this object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
super.collectNewChildDescriptors(newChildDescriptors, object);
}
}

View file

@ -0,0 +1,89 @@
/**
*/
package simplepdl.provider;
import org.eclipse.emf.common.EMFPlugin;
import org.eclipse.emf.common.util.ResourceLocator;
/**
* This is the central singleton for the SimplePDL edit plugin.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public final class SimplePDLEditPlugin extends EMFPlugin {
/**
* Keep track of the singleton.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static final SimplePDLEditPlugin INSTANCE = new SimplePDLEditPlugin();
/**
* Keep track of the singleton.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private static Implementation plugin;
/**
* Create the instance.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public SimplePDLEditPlugin() {
super
(new ResourceLocator [] {
});
}
/**
* Returns the singleton instance of the Eclipse plugin.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the singleton instance.
* @generated
*/
@Override
public ResourceLocator getPluginResourceLocator() {
return plugin;
}
/**
* Returns the singleton instance of the Eclipse plugin.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the singleton instance.
* @generated
*/
public static Implementation getPlugin() {
return plugin;
}
/**
* The actual implementation of the Eclipse <b>Plugin</b>.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static class Implementation extends EclipsePlugin {
/**
* Creates an instance.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Implementation() {
super();
// Remember the static instance.
//
plugin = this;
}
}
}

View file

@ -0,0 +1,319 @@
/**
*/
package simplepdl.provider;
import java.util.ArrayList;
import java.util.Collection;
import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.Notifier;
import org.eclipse.emf.edit.provider.ChangeNotifier;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
import org.eclipse.emf.edit.provider.IChangeNotifier;
import org.eclipse.emf.edit.provider.IDisposable;
import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
import org.eclipse.emf.edit.provider.IItemLabelProvider;
import org.eclipse.emf.edit.provider.IItemPropertySource;
import org.eclipse.emf.edit.provider.INotifyChangedListener;
import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
import simplepdl.util.SimplepdlAdapterFactory;
/**
* This is the factory that is used to provide the interfaces needed to support Viewers.
* The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
* The adapters also support Eclipse property sheets.
* Note that most of the adapters are shared among multiple instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public class SimplepdlItemProviderAdapterFactory extends SimplepdlAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
/**
* This keeps track of the root adapter factory that delegates to this adapter factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ComposedAdapterFactory parentAdapterFactory;
/**
* This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected IChangeNotifier changeNotifier = new ChangeNotifier();
/**
* This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected Collection<Object> supportedTypes = new ArrayList<Object>();
/**
* This constructs an instance.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public SimplepdlItemProviderAdapterFactory() {
supportedTypes.add(IEditingDomainItemProvider.class);
supportedTypes.add(IStructuredItemContentProvider.class);
supportedTypes.add(ITreeItemContentProvider.class);
supportedTypes.add(IItemLabelProvider.class);
supportedTypes.add(IItemPropertySource.class);
}
/**
* This keeps track of the one adapter used for all {@link simplepdl.WorkDefinition} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected WorkDefinitionItemProvider workDefinitionItemProvider;
/**
* This creates an adapter for a {@link simplepdl.WorkDefinition}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createWorkDefinitionAdapter() {
if (workDefinitionItemProvider == null) {
workDefinitionItemProvider = new WorkDefinitionItemProvider(this);
}
return workDefinitionItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link simplepdl.WorkSequence} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected WorkSequenceItemProvider workSequenceItemProvider;
/**
* This creates an adapter for a {@link simplepdl.WorkSequence}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createWorkSequenceAdapter() {
if (workSequenceItemProvider == null) {
workSequenceItemProvider = new WorkSequenceItemProvider(this);
}
return workSequenceItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link simplepdl.Guidance} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected GuidanceItemProvider guidanceItemProvider;
/**
* This creates an adapter for a {@link simplepdl.Guidance}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createGuidanceAdapter() {
if (guidanceItemProvider == null) {
guidanceItemProvider = new GuidanceItemProvider(this);
}
return guidanceItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link simplepdl.Process} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ProcessItemProvider processItemProvider;
/**
* This creates an adapter for a {@link simplepdl.Process}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createProcessAdapter() {
if (processItemProvider == null) {
processItemProvider = new ProcessItemProvider(this);
}
return processItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link simplepdl.Request} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected RequestItemProvider requestItemProvider;
/**
* This creates an adapter for a {@link simplepdl.Request}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createRequestAdapter() {
if (requestItemProvider == null) {
requestItemProvider = new RequestItemProvider(this);
}
return requestItemProvider;
}
/**
* This keeps track of the one adapter used for all {@link simplepdl.Resource} instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ResourceItemProvider resourceItemProvider;
/**
* This creates an adapter for a {@link simplepdl.Resource}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter createResourceAdapter() {
if (resourceItemProvider == null) {
resourceItemProvider = new ResourceItemProvider(this);
}
return resourceItemProvider;
}
/**
* This returns the root adapter factory that contains this factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ComposeableAdapterFactory getRootAdapterFactory() {
return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
}
/**
* This sets the composed adapter factory that contains this factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
this.parentAdapterFactory = parentAdapterFactory;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean isFactoryForType(Object type) {
return supportedTypes.contains(type) || super.isFactoryForType(type);
}
/**
* This implementation substitutes the factory itself as the key for the adapter.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Adapter adapt(Notifier notifier, Object type) {
return super.adapt(notifier, this);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object adapt(Object object, Object type) {
if (isFactoryForType(type)) {
Object adapter = super.adapt(object, type);
if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
return adapter;
}
}
return null;
}
/**
* This adds a listener.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void addListener(INotifyChangedListener notifyChangedListener) {
changeNotifier.addListener(notifyChangedListener);
}
/**
* This removes a listener.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void removeListener(INotifyChangedListener notifyChangedListener) {
changeNotifier.removeListener(notifyChangedListener);
}
/**
* This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void fireNotifyChanged(Notification notification) {
changeNotifier.fireNotifyChanged(notification);
if (parentAdapterFactory != null) {
parentAdapterFactory.fireNotifyChanged(notification);
}
}
/**
* This disposes all of the item providers created by this factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void dispose() {
if (workDefinitionItemProvider != null) workDefinitionItemProvider.dispose();
if (workSequenceItemProvider != null) workSequenceItemProvider.dispose();
if (guidanceItemProvider != null) guidanceItemProvider.dispose();
if (processItemProvider != null) processItemProvider.dispose();
if (requestItemProvider != null) requestItemProvider.dispose();
if (resourceItemProvider != null) resourceItemProvider.dispose();
}
}

View file

@ -0,0 +1,218 @@
/**
*/
package simplepdl.provider;
import java.util.Collection;
import java.util.List;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ViewerNotification;
import simplepdl.SimplepdlFactory;
import simplepdl.SimplepdlPackage;
import simplepdl.WorkDefinition;
/**
* This is the item provider adapter for a {@link simplepdl.WorkDefinition} object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public class WorkDefinitionItemProvider extends ProcessElementItemProvider {
/**
* This constructs an instance from a factory and a notifier.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public WorkDefinitionItemProvider(AdapterFactory adapterFactory) {
super(adapterFactory);
}
/**
* This returns the property descriptors for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
if (itemPropertyDescriptors == null) {
super.getPropertyDescriptors(object);
addLinksToPredecessorsPropertyDescriptor(object);
addLinksToSuccessorsPropertyDescriptor(object);
addNamePropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
/**
* This adds a property descriptor for the Links To Predecessors feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addLinksToPredecessorsPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_WorkDefinition_linksToPredecessors_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_WorkDefinition_linksToPredecessors_feature", "_UI_WorkDefinition_type"),
SimplepdlPackage.Literals.WORK_DEFINITION__LINKS_TO_PREDECESSORS,
true,
false,
true,
null,
null,
null));
}
/**
* This adds a property descriptor for the Links To Successors feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addLinksToSuccessorsPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_WorkDefinition_linksToSuccessors_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_WorkDefinition_linksToSuccessors_feature", "_UI_WorkDefinition_type"),
SimplepdlPackage.Literals.WORK_DEFINITION__LINKS_TO_SUCCESSORS,
true,
false,
true,
null,
null,
null));
}
/**
* This adds a property descriptor for the Name feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addNamePropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_WorkDefinition_name_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_WorkDefinition_name_feature", "_UI_WorkDefinition_type"),
SimplepdlPackage.Literals.WORK_DEFINITION__NAME,
true,
false,
false,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
null,
null));
}
/**
* This specifies how to implement {@link #getChildren} and is used to deduce an appropriate feature for an
* {@link org.eclipse.emf.edit.command.AddCommand}, {@link org.eclipse.emf.edit.command.RemoveCommand} or
* {@link org.eclipse.emf.edit.command.MoveCommand} in {@link #createCommand}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Collection<? extends EStructuralFeature> getChildrenFeatures(Object object) {
if (childrenFeatures == null) {
super.getChildrenFeatures(object);
childrenFeatures.add(SimplepdlPackage.Literals.WORK_DEFINITION__REQUESTS);
}
return childrenFeatures;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EStructuralFeature getChildFeature(Object object, Object child) {
// Check the type of the specified child object and return the proper feature to use for
// adding (see {@link AddCommand}) it as a child.
return super.getChildFeature(object, child);
}
/**
* This returns WorkDefinition.gif.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object getImage(Object object) {
return overlayImage(object, getResourceLocator().getImage("full/obj16/WorkDefinition"));
}
/**
* This returns the label text for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String getText(Object object) {
String label = ((WorkDefinition)object).getName();
return label == null || label.length() == 0 ?
getString("_UI_WorkDefinition_type") :
getString("_UI_WorkDefinition_type") + " " + label;
}
/**
* This handles model notifications by calling {@link #updateChildren} to update any cached
* children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void notifyChanged(Notification notification) {
updateChildren(notification);
switch (notification.getFeatureID(WorkDefinition.class)) {
case SimplepdlPackage.WORK_DEFINITION__NAME:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
case SimplepdlPackage.WORK_DEFINITION__REQUESTS:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), true, false));
return;
}
super.notifyChanged(notification);
}
/**
* This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
* that can be created under this object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
super.collectNewChildDescriptors(newChildDescriptors, object);
newChildDescriptors.add
(createChildParameter
(SimplepdlPackage.Literals.WORK_DEFINITION__REQUESTS,
SimplepdlFactory.eINSTANCE.createRequest()));
}
}

View file

@ -0,0 +1,185 @@
/**
*/
package simplepdl.provider;
import java.util.Collection;
import java.util.List;
import org.eclipse.emf.common.notify.AdapterFactory;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
import org.eclipse.emf.edit.provider.ViewerNotification;
import simplepdl.SimplepdlPackage;
import simplepdl.WorkSequence;
import simplepdl.WorkSequenceType;
/**
* This is the item provider adapter for a {@link simplepdl.WorkSequence} object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public class WorkSequenceItemProvider extends ProcessElementItemProvider {
/**
* This constructs an instance from a factory and a notifier.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public WorkSequenceItemProvider(AdapterFactory adapterFactory) {
super(adapterFactory);
}
/**
* This returns the property descriptors for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
if (itemPropertyDescriptors == null) {
super.getPropertyDescriptors(object);
addLinkTypePropertyDescriptor(object);
addPredecessorPropertyDescriptor(object);
addSuccessorPropertyDescriptor(object);
}
return itemPropertyDescriptors;
}
/**
* This adds a property descriptor for the Link Type feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addLinkTypePropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_WorkSequence_linkType_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_WorkSequence_linkType_feature", "_UI_WorkSequence_type"),
SimplepdlPackage.Literals.WORK_SEQUENCE__LINK_TYPE,
true,
false,
false,
ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
null,
null));
}
/**
* This adds a property descriptor for the Predecessor feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addPredecessorPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_WorkSequence_predecessor_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_WorkSequence_predecessor_feature", "_UI_WorkSequence_type"),
SimplepdlPackage.Literals.WORK_SEQUENCE__PREDECESSOR,
true,
false,
true,
null,
null,
null));
}
/**
* This adds a property descriptor for the Successor feature.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void addSuccessorPropertyDescriptor(Object object) {
itemPropertyDescriptors.add
(createItemPropertyDescriptor
(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
getResourceLocator(),
getString("_UI_WorkSequence_successor_feature"),
getString("_UI_PropertyDescriptor_description", "_UI_WorkSequence_successor_feature", "_UI_WorkSequence_type"),
SimplepdlPackage.Literals.WORK_SEQUENCE__SUCCESSOR,
true,
false,
true,
null,
null,
null));
}
/**
* This returns WorkSequence.gif.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object getImage(Object object) {
return overlayImage(object, getResourceLocator().getImage("full/obj16/WorkSequence"));
}
/**
* This returns the label text for the adapted class.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String getText(Object object) {
WorkSequence ws = (WorkSequence) object;
WorkSequenceType labelValue = ws.getLinkType();
String label = "--" + (labelValue == null ? "?" : labelValue.toString()) + "-->";
String previous = ws.getPredecessor() == null ? "?" : ws.getPredecessor().getName();
String next = ws.getSuccessor() == null ? "?" : ws.getSuccessor().getName();
return label == null || label.length() == 0 ?
getString("_UI_WorkSequence_type") :
getString("_UI_WorkSequence_type") + " " + previous + " " + label + " " + next;
}
/**
* This handles model notifications by calling {@link #updateChildren} to update any cached
* children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void notifyChanged(Notification notification) {
updateChildren(notification);
switch (notification.getFeatureID(WorkSequence.class)) {
case SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR:
case SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR:
case SimplepdlPackage.WORK_SEQUENCE__LINK_TYPE:
fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
return;
}
super.notifyChanged(notification);
}
/**
* This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
* that can be created under this object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
super.collectNewChildDescriptors(newChildDescriptors, object);
}
}

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<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="output" path="bin"/>
</classpath>

View file

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>fr.n7.simplePDL.editor</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.jdt.core.javanature</nature>
<nature>org.eclipse.pde.PluginNature</nature>
</natures>
</projectDescription>

View file

@ -0,0 +1,19 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: fr.n7.simplePDL.editor;singleton:=true
Automatic-Module-Name: fr.n7.simplePDL.editor
Bundle-Version: 1.0.0.qualifier
Bundle-ClassPath: .
Bundle-Activator: simplepdl.presentation.SimplePDLEditorPlugin$Implementation
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Export-Package: simplepdl.presentation
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.core.resources;visibility:=reexport,
fr.n7.simplePDL.edit;visibility:=reexport,
org.eclipse.emf.ecore.xmi;visibility:=reexport,
org.eclipse.emf.edit.ui;visibility:=reexport,
org.eclipse.ui.ide;visibility:=reexport
Bundle-ActivationPolicy: lazy

View file

@ -0,0 +1,10 @@
#
bin.includes = .,\
icons/,\
META-INF/,\
plugin.xml,\
plugin.properties
jars.compile.order = .
source.. = src/
output.. = bin

Binary file not shown.

After

Width:  |  Height:  |  Size: 346 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

View file

@ -0,0 +1,53 @@
#
pluginName = SimplePDL Model Editor
providerName = www.example.org
_UI_SimplepdlEditor_menu = &Simplepdl Editor
_UI_CreateChild_menu_item = &New Child
_UI_CreateSibling_menu_item = N&ew Sibling
_UI_ShowPropertiesView_menu_item = Show &Properties View
_UI_RefreshViewer_menu_item = &Refresh
_UI_SelectionPage_label = Selection
_UI_ParentPage_label = Parent
_UI_ListPage_label = List
_UI_TreePage_label = Tree
_UI_TablePage_label = Table
_UI_TreeWithColumnsPage_label = Tree with Columns
_UI_ObjectColumn_label = Object
_UI_SelfColumn_label = Self
_UI_NoObjectSelected = Selected Nothing
_UI_SingleObjectSelected = Selected Object: {0}
_UI_MultiObjectSelected = Selected {0} Objects
_UI_OpenEditorError_label = Open Editor
_UI_Wizard_category = Example EMF Model Creation Wizards
_UI_CreateModelError_message = Problems encountered in file "{0}"
_UI_SimplepdlModelWizard_label = Simplepdl Model
_UI_SimplepdlModelWizard_description = Create a new Simplepdl model
_UI_SimplepdlEditor_label = Simplepdl Model Editor
_UI_SimplepdlEditorFilenameDefaultBase = My
_UI_SimplepdlEditorFilenameExtensions = simplepdl
_UI_Wizard_label = New
_WARN_FilenameExtension = The file name must end in ''.{0}''
_WARN_FilenameExtensions = The file name must have one of the following extensions: {0}
_UI_ModelObject = &Model Object
_UI_XMLEncoding = &XML Encoding
_UI_XMLEncodingChoices = UTF-8 ASCII UTF-16 UTF-16BE UTF-16LE ISO-8859-1
_UI_Wizard_initial_object_description = Select a model object to create
_UI_FileConflict_label = File Conflict
_WARN_FileConflict = There are unsaved changes that conflict with changes made outside the editor. Do you wish to discard this editor's changes?

View file

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<!--
-->
<plugin>
<extension point="org.eclipse.ui.newWizards">
<!-- @generated SimplePDL -->
<category
id="org.eclipse.emf.ecore.Wizard.category.ID"
name="%_UI_Wizard_category"/>
<wizard
id="simplepdl.presentation.SimplepdlModelWizardID"
name="%_UI_SimplepdlModelWizard_label"
class="simplepdl.presentation.SimplepdlModelWizard"
category="org.eclipse.emf.ecore.Wizard.category.ID"
icon="icons/full/obj16/SimplepdlModelFile.gif">
<description>%_UI_SimplepdlModelWizard_description</description>
<selection class="org.eclipse.core.resources.IResource"/>
</wizard>
</extension>
<extension point="org.eclipse.ui.editors">
<!-- @generated SimplePDL -->
<editor
id="simplepdl.presentation.SimplepdlEditorID"
name="%_UI_SimplepdlEditor_label"
icon="icons/full/obj16/SimplepdlModelFile.gif"
extensions="simplepdl"
class="simplepdl.presentation.SimplepdlEditor"
contributorClass="simplepdl.presentation.SimplepdlActionBarContributor">
</editor>
</extension>
</plugin>

View file

@ -0,0 +1,91 @@
/**
*/
package simplepdl.presentation;
import org.eclipse.emf.common.EMFPlugin;
import org.eclipse.emf.common.ui.EclipseUIPlugin;
import org.eclipse.emf.common.util.ResourceLocator;
/**
* This is the central singleton for the SimplePDL editor plugin.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public final class SimplePDLEditorPlugin extends EMFPlugin {
/**
* Keep track of the singleton.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static final SimplePDLEditorPlugin INSTANCE = new SimplePDLEditorPlugin();
/**
* Keep track of the singleton.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private static Implementation plugin;
/**
* Create the instance.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public SimplePDLEditorPlugin() {
super
(new ResourceLocator [] {
});
}
/**
* Returns the singleton instance of the Eclipse plugin.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the singleton instance.
* @generated
*/
@Override
public ResourceLocator getPluginResourceLocator() {
return plugin;
}
/**
* Returns the singleton instance of the Eclipse plugin.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the singleton instance.
* @generated
*/
public static Implementation getPlugin() {
return plugin;
}
/**
* The actual implementation of the Eclipse <b>Plugin</b>.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static class Implementation extends EclipseUIPlugin {
/**
* Creates an instance.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Implementation() {
super();
// Remember the static instance.
//
plugin = this;
}
}
}

View file

@ -0,0 +1,424 @@
/**
*/
package simplepdl.presentation;
import java.util.ArrayList;
import java.util.Collection;
import org.eclipse.emf.common.ui.viewer.IViewerProvider;
import org.eclipse.emf.edit.domain.EditingDomain;
import org.eclipse.emf.edit.domain.IEditingDomainProvider;
import org.eclipse.emf.edit.ui.action.ControlAction;
import org.eclipse.emf.edit.ui.action.CreateChildAction;
import org.eclipse.emf.edit.ui.action.CreateSiblingAction;
import org.eclipse.emf.edit.ui.action.EditingDomainActionBarContributor;
import org.eclipse.emf.edit.ui.action.LoadResourceAction;
import org.eclipse.emf.edit.ui.action.ValidateAction;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.ActionContributionItem;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.action.IContributionItem;
import org.eclipse.jface.action.IContributionManager;
import org.eclipse.jface.action.IMenuListener;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.IToolBarManager;
import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.action.Separator;
import org.eclipse.jface.action.SubContributionItem;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.ISelectionChangedListener;
import org.eclipse.jface.viewers.ISelectionProvider;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.viewers.SelectionChangedEvent;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.PartInitException;
/**
* This is the action bar contributor for the Simplepdl model editor.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public class SimplepdlActionBarContributor
extends EditingDomainActionBarContributor
implements ISelectionChangedListener {
/**
* This keeps track of the active editor.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected IEditorPart activeEditorPart;
/**
* This keeps track of the current selection provider.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ISelectionProvider selectionProvider;
/**
* This action opens the Properties view.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected IAction showPropertiesViewAction =
new Action(SimplePDLEditorPlugin.INSTANCE.getString("_UI_ShowPropertiesView_menu_item")) {
@Override
public void run() {
try {
getPage().showView("org.eclipse.ui.views.PropertySheet");
}
catch (PartInitException exception) {
SimplePDLEditorPlugin.INSTANCE.log(exception);
}
}
};
/**
* This action refreshes the viewer of the current editor if the editor
* implements {@link org.eclipse.emf.common.ui.viewer.IViewerProvider}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected IAction refreshViewerAction =
new Action(SimplePDLEditorPlugin.INSTANCE.getString("_UI_RefreshViewer_menu_item")) {
@Override
public boolean isEnabled() {
return activeEditorPart instanceof IViewerProvider;
}
@Override
public void run() {
if (activeEditorPart instanceof IViewerProvider) {
Viewer viewer = ((IViewerProvider)activeEditorPart).getViewer();
if (viewer != null) {
viewer.refresh();
}
}
}
};
/**
* This will contain one {@link org.eclipse.emf.edit.ui.action.CreateChildAction} corresponding to each descriptor
* generated for the current selection by the item provider.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected Collection<IAction> createChildActions;
/**
* This is the menu manager into which menu contribution items should be added for CreateChild actions.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected IMenuManager createChildMenuManager;
/**
* This will contain one {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} corresponding to each descriptor
* generated for the current selection by the item provider.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected Collection<IAction> createSiblingActions;
/**
* This is the menu manager into which menu contribution items should be added for CreateSibling actions.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected IMenuManager createSiblingMenuManager;
/**
* This creates an instance of the contributor.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public SimplepdlActionBarContributor() {
super(ADDITIONS_LAST_STYLE);
loadResourceAction = new LoadResourceAction();
validateAction = new ValidateAction();
controlAction = new ControlAction();
}
/**
* This adds Separators for editor additions to the tool bar.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void contributeToToolBar(IToolBarManager toolBarManager) {
super.contributeToToolBar(toolBarManager);
toolBarManager.add(new Separator("simplepdl-settings"));
toolBarManager.add(new Separator("simplepdl-additions"));
}
/**
* This adds to the menu bar a menu and some separators for editor additions,
* as well as the sub-menus for object creation items.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void contributeToMenu(IMenuManager menuManager) {
super.contributeToMenu(menuManager);
IMenuManager submenuManager = new MenuManager(SimplePDLEditorPlugin.INSTANCE.getString("_UI_SimplepdlEditor_menu"), "simplepdlMenuID");
menuManager.insertAfter("additions", submenuManager);
submenuManager.add(new Separator("settings"));
submenuManager.add(new Separator("actions"));
submenuManager.add(new Separator("additions"));
submenuManager.add(new Separator("additions-end"));
// Prepare for CreateChild item addition or removal.
//
createChildMenuManager = new MenuManager(SimplePDLEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item"));
submenuManager.insertBefore("additions", createChildMenuManager);
// Prepare for CreateSibling item addition or removal.
//
createSiblingMenuManager = new MenuManager(SimplePDLEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item"));
submenuManager.insertBefore("additions", createSiblingMenuManager);
// Force an update because Eclipse hides empty menus now.
//
submenuManager.addMenuListener
(new IMenuListener() {
public void menuAboutToShow(IMenuManager menuManager) {
menuManager.updateAll(true);
}
});
addGlobalActions(submenuManager);
}
/**
* When the active editor changes, this remembers the change and registers with it as a selection provider.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void setActiveEditor(IEditorPart part) {
super.setActiveEditor(part);
activeEditorPart = part;
// Switch to the new selection provider.
//
if (selectionProvider != null) {
selectionProvider.removeSelectionChangedListener(this);
}
if (part == null) {
selectionProvider = null;
}
else {
selectionProvider = part.getSite().getSelectionProvider();
selectionProvider.addSelectionChangedListener(this);
// Fake a selection changed event to update the menus.
//
if (selectionProvider.getSelection() != null) {
selectionChanged(new SelectionChangedEvent(selectionProvider, selectionProvider.getSelection()));
}
}
}
/**
* This implements {@link org.eclipse.jface.viewers.ISelectionChangedListener},
* handling {@link org.eclipse.jface.viewers.SelectionChangedEvent}s by querying for the children and siblings
* that can be added to the selected object and updating the menus accordingly.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void selectionChanged(SelectionChangedEvent event) {
// Remove any menu items for old selection.
//
if (createChildMenuManager != null) {
depopulateManager(createChildMenuManager, createChildActions);
}
if (createSiblingMenuManager != null) {
depopulateManager(createSiblingMenuManager, createSiblingActions);
}
// Query the new selection for appropriate new child/sibling descriptors
//
Collection<?> newChildDescriptors = null;
Collection<?> newSiblingDescriptors = null;
ISelection selection = event.getSelection();
if (selection instanceof IStructuredSelection && ((IStructuredSelection)selection).size() == 1) {
Object object = ((IStructuredSelection)selection).getFirstElement();
EditingDomain domain = ((IEditingDomainProvider)activeEditorPart).getEditingDomain();
newChildDescriptors = domain.getNewChildDescriptors(object, null);
newSiblingDescriptors = domain.getNewChildDescriptors(null, object);
}
// Generate actions for selection; populate and redraw the menus.
//
createChildActions = generateCreateChildActions(newChildDescriptors, selection);
createSiblingActions = generateCreateSiblingActions(newSiblingDescriptors, selection);
if (createChildMenuManager != null) {
populateManager(createChildMenuManager, createChildActions, null);
createChildMenuManager.update(true);
}
if (createSiblingMenuManager != null) {
populateManager(createSiblingMenuManager, createSiblingActions, null);
createSiblingMenuManager.update(true);
}
}
/**
* This generates a {@link org.eclipse.emf.edit.ui.action.CreateChildAction} for each object in <code>descriptors</code>,
* and returns the collection of these actions.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected Collection<IAction> generateCreateChildActions(Collection<?> descriptors, ISelection selection) {
Collection<IAction> actions = new ArrayList<IAction>();
if (descriptors != null) {
for (Object descriptor : descriptors) {
actions.add(new CreateChildAction(activeEditorPart, selection, descriptor));
}
}
return actions;
}
/**
* This generates a {@link org.eclipse.emf.edit.ui.action.CreateSiblingAction} for each object in <code>descriptors</code>,
* and returns the collection of these actions.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected Collection<IAction> generateCreateSiblingActions(Collection<?> descriptors, ISelection selection) {
Collection<IAction> actions = new ArrayList<IAction>();
if (descriptors != null) {
for (Object descriptor : descriptors) {
actions.add(new CreateSiblingAction(activeEditorPart, selection, descriptor));
}
}
return actions;
}
/**
* This populates the specified <code>manager</code> with {@link org.eclipse.jface.action.ActionContributionItem}s
* based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection,
* by inserting them before the specified contribution item <code>contributionID</code>.
* If <code>contributionID</code> is <code>null</code>, they are simply added.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void populateManager(IContributionManager manager, Collection<? extends IAction> actions, String contributionID) {
if (actions != null) {
for (IAction action : actions) {
if (contributionID != null) {
manager.insertBefore(contributionID, action);
}
else {
manager.add(action);
}
}
}
}
/**
* This removes from the specified <code>manager</code> all {@link org.eclipse.jface.action.ActionContributionItem}s
* based on the {@link org.eclipse.jface.action.IAction}s contained in the <code>actions</code> collection.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void depopulateManager(IContributionManager manager, Collection<? extends IAction> actions) {
if (actions != null) {
IContributionItem[] items = manager.getItems();
for (int i = 0; i < items.length; i++) {
// Look into SubContributionItems
//
IContributionItem contributionItem = items[i];
while (contributionItem instanceof SubContributionItem) {
contributionItem = ((SubContributionItem)contributionItem).getInnerItem();
}
// Delete the ActionContributionItems with matching action.
//
if (contributionItem instanceof ActionContributionItem) {
IAction action = ((ActionContributionItem)contributionItem).getAction();
if (actions.contains(action)) {
manager.remove(contributionItem);
}
}
}
}
}
/**
* This populates the pop-up menu before it appears.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void menuAboutToShow(IMenuManager menuManager) {
super.menuAboutToShow(menuManager);
MenuManager submenuManager = null;
submenuManager = new MenuManager(SimplePDLEditorPlugin.INSTANCE.getString("_UI_CreateChild_menu_item"));
populateManager(submenuManager, createChildActions, null);
menuManager.insertBefore("edit", submenuManager);
submenuManager = new MenuManager(SimplePDLEditorPlugin.INSTANCE.getString("_UI_CreateSibling_menu_item"));
populateManager(submenuManager, createSiblingActions, null);
menuManager.insertBefore("edit", submenuManager);
}
/**
* This inserts global actions before the "additions-end" separator.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected void addGlobalActions(IMenuManager menuManager) {
menuManager.insertAfter("additions-end", new Separator("ui-actions"));
menuManager.insertAfter("ui-actions", showPropertiesViewAction);
refreshViewerAction.setEnabled(refreshViewerAction.isEnabled());
menuManager.insertAfter("ui-actions", refreshViewerAction);
super.addGlobalActions(menuManager);
}
/**
* This ensures that a delete action will clean up all references to deleted objects.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected boolean removeAllReferencesOnDelete() {
return true;
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,627 @@
/**
*/
package simplepdl.presentation;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.MissingResourceException;
import java.util.StringTokenizer;
import org.eclipse.emf.common.CommonPlugin;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EClassifier;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.xmi.XMLResource;
import org.eclipse.emf.edit.ui.provider.ExtendedImageRegistry;
import org.eclipse.core.resources.IContainer;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IFolder;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jface.wizard.Wizard;
import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
import org.eclipse.ui.INewWizard;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.actions.WorkspaceModifyOperation;
import org.eclipse.ui.dialogs.WizardNewFileCreationPage;
import org.eclipse.ui.part.FileEditorInput;
import org.eclipse.ui.part.ISetSelectionTarget;
import simplepdl.SimplepdlFactory;
import simplepdl.SimplepdlPackage;
import simplepdl.provider.SimplePDLEditPlugin;
import org.eclipse.core.runtime.Path;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.PartInitException;
/**
* This is a simple wizard for creating a new model file.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public class SimplepdlModelWizard extends Wizard implements INewWizard {
/**
* The supported extensions for created files.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static final List<String> FILE_EXTENSIONS =
Collections.unmodifiableList(Arrays.asList(SimplePDLEditorPlugin.INSTANCE.getString("_UI_SimplepdlEditorFilenameExtensions").split("\\s*,\\s*")));
/**
* A formatted list of supported file extensions, suitable for display.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static final String FORMATTED_FILE_EXTENSIONS =
SimplePDLEditorPlugin.INSTANCE.getString("_UI_SimplepdlEditorFilenameExtensions").replaceAll("\\s*,\\s*", ", ");
/**
* This caches an instance of the model package.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected SimplepdlPackage simplepdlPackage = SimplepdlPackage.eINSTANCE;
/**
* This caches an instance of the model factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected SimplepdlFactory simplepdlFactory = simplepdlPackage.getSimplepdlFactory();
/**
* This is the file creation page.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected SimplepdlModelWizardNewFileCreationPage newFileCreationPage;
/**
* This is the initial object creation page.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected SimplepdlModelWizardInitialObjectCreationPage initialObjectCreationPage;
/**
* Remember the selection during initialization for populating the default container.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected IStructuredSelection selection;
/**
* Remember the workbench during initialization.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected IWorkbench workbench;
/**
* Caches the names of the types that can be created as the root object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected List<String> initialObjectNames;
/**
* This just records the information.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void init(IWorkbench workbench, IStructuredSelection selection) {
this.workbench = workbench;
this.selection = selection;
setWindowTitle(SimplePDLEditorPlugin.INSTANCE.getString("_UI_Wizard_label"));
setDefaultPageImageDescriptor(ExtendedImageRegistry.INSTANCE.getImageDescriptor(SimplePDLEditorPlugin.INSTANCE.getImage("full/wizban/NewSimplepdl")));
}
/**
* Returns the names of the types that can be created as the root object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected Collection<String> getInitialObjectNames() {
if (initialObjectNames == null) {
initialObjectNames = new ArrayList<String>();
for (EClassifier eClassifier : simplepdlPackage.getEClassifiers()) {
if (eClassifier instanceof EClass) {
EClass eClass = (EClass)eClassifier;
if (!eClass.isAbstract()) {
initialObjectNames.add(eClass.getName());
}
}
}
Collections.sort(initialObjectNames, CommonPlugin.INSTANCE.getComparator());
}
return initialObjectNames;
}
/**
* Create a new model.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected EObject createInitialModel() {
EClass eClass = (EClass)simplepdlPackage.getEClassifier(initialObjectCreationPage.getInitialObjectName());
EObject rootObject = simplepdlFactory.create(eClass);
return rootObject;
}
/**
* Do the work after everything is specified.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean performFinish() {
try {
// Remember the file.
//
final IFile modelFile = getModelFile();
// Do the work within an operation.
//
WorkspaceModifyOperation operation =
new WorkspaceModifyOperation() {
@Override
protected void execute(IProgressMonitor progressMonitor) {
try {
// Create a resource set
//
ResourceSet resourceSet = new ResourceSetImpl();
// Get the URI of the model file.
//
URI fileURI = URI.createPlatformResourceURI(modelFile.getFullPath().toString(), true);
// Create a resource for this file.
//
Resource resource = resourceSet.createResource(fileURI);
// Add the initial model object to the contents.
//
EObject rootObject = createInitialModel();
if (rootObject != null) {
resource.getContents().add(rootObject);
}
// Save the contents of the resource to the file system.
//
Map<Object, Object> options = new HashMap<Object, Object>();
options.put(XMLResource.OPTION_ENCODING, initialObjectCreationPage.getEncoding());
resource.save(options);
}
catch (Exception exception) {
SimplePDLEditorPlugin.INSTANCE.log(exception);
}
finally {
progressMonitor.done();
}
}
};
getContainer().run(false, false, operation);
// Select the new file resource in the current view.
//
IWorkbenchWindow workbenchWindow = workbench.getActiveWorkbenchWindow();
IWorkbenchPage page = workbenchWindow.getActivePage();
final IWorkbenchPart activePart = page.getActivePart();
if (activePart instanceof ISetSelectionTarget) {
final ISelection targetSelection = new StructuredSelection(modelFile);
getShell().getDisplay().asyncExec
(new Runnable() {
public void run() {
((ISetSelectionTarget)activePart).selectReveal(targetSelection);
}
});
}
// Open an editor on the new file.
//
try {
page.openEditor
(new FileEditorInput(modelFile),
workbench.getEditorRegistry().getDefaultEditor(modelFile.getFullPath().toString()).getId());
}
catch (PartInitException exception) {
MessageDialog.openError(workbenchWindow.getShell(), SimplePDLEditorPlugin.INSTANCE.getString("_UI_OpenEditorError_label"), exception.getMessage());
return false;
}
return true;
}
catch (Exception exception) {
SimplePDLEditorPlugin.INSTANCE.log(exception);
return false;
}
}
/**
* This is the one page of the wizard.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public class SimplepdlModelWizardNewFileCreationPage extends WizardNewFileCreationPage {
/**
* Pass in the selection.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public SimplepdlModelWizardNewFileCreationPage(String pageId, IStructuredSelection selection) {
super(pageId, selection);
}
/**
* The framework calls this to see if the file is correct.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected boolean validatePage() {
if (super.validatePage()) {
String extension = new Path(getFileName()).getFileExtension();
if (extension == null || !FILE_EXTENSIONS.contains(extension)) {
String key = FILE_EXTENSIONS.size() > 1 ? "_WARN_FilenameExtensions" : "_WARN_FilenameExtension";
setErrorMessage(SimplePDLEditorPlugin.INSTANCE.getString(key, new Object [] { FORMATTED_FILE_EXTENSIONS }));
return false;
}
return true;
}
return false;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public IFile getModelFile() {
return ResourcesPlugin.getWorkspace().getRoot().getFile(getContainerFullPath().append(getFileName()));
}
}
/**
* This is the page where the type of object to create is selected.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public class SimplepdlModelWizardInitialObjectCreationPage extends WizardPage {
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected Combo initialObjectField;
/**
* @generated
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
*/
protected List<String> encodings;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected Combo encodingField;
/**
* Pass in the selection.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public SimplepdlModelWizardInitialObjectCreationPage(String pageId) {
super(pageId);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void createControl(Composite parent) {
Composite composite = new Composite(parent, SWT.NONE); {
GridLayout layout = new GridLayout();
layout.numColumns = 1;
layout.verticalSpacing = 12;
composite.setLayout(layout);
GridData data = new GridData();
data.verticalAlignment = GridData.FILL;
data.grabExcessVerticalSpace = true;
data.horizontalAlignment = GridData.FILL;
composite.setLayoutData(data);
}
Label containerLabel = new Label(composite, SWT.LEFT);
{
containerLabel.setText(SimplePDLEditorPlugin.INSTANCE.getString("_UI_ModelObject"));
GridData data = new GridData();
data.horizontalAlignment = GridData.FILL;
containerLabel.setLayoutData(data);
}
initialObjectField = new Combo(composite, SWT.BORDER);
{
GridData data = new GridData();
data.horizontalAlignment = GridData.FILL;
data.grabExcessHorizontalSpace = true;
initialObjectField.setLayoutData(data);
}
for (String objectName : getInitialObjectNames()) {
initialObjectField.add(getLabel(objectName));
}
if (initialObjectField.getItemCount() == 1) {
initialObjectField.select(0);
}
initialObjectField.addModifyListener(validator);
Label encodingLabel = new Label(composite, SWT.LEFT);
{
encodingLabel.setText(SimplePDLEditorPlugin.INSTANCE.getString("_UI_XMLEncoding"));
GridData data = new GridData();
data.horizontalAlignment = GridData.FILL;
encodingLabel.setLayoutData(data);
}
encodingField = new Combo(composite, SWT.BORDER);
{
GridData data = new GridData();
data.horizontalAlignment = GridData.FILL;
data.grabExcessHorizontalSpace = true;
encodingField.setLayoutData(data);
}
for (String encoding : getEncodings()) {
encodingField.add(encoding);
}
encodingField.select(0);
encodingField.addModifyListener(validator);
setPageComplete(validatePage());
setControl(composite);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ModifyListener validator =
new ModifyListener() {
public void modifyText(ModifyEvent e) {
setPageComplete(validatePage());
}
};
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected boolean validatePage() {
return getInitialObjectName() != null && getEncodings().contains(encodingField.getText());
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void setVisible(boolean visible) {
super.setVisible(visible);
if (visible) {
if (initialObjectField.getItemCount() == 1) {
initialObjectField.clearSelection();
encodingField.setFocus();
}
else {
encodingField.clearSelection();
initialObjectField.setFocus();
}
}
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getInitialObjectName() {
String label = initialObjectField.getText();
for (String name : getInitialObjectNames()) {
if (getLabel(name).equals(label)) {
return name;
}
}
return null;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getEncoding() {
return encodingField.getText();
}
/**
* Returns the label for the specified type name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected String getLabel(String typeName) {
try {
return SimplePDLEditPlugin.INSTANCE.getString("_UI_" + typeName + "_type");
}
catch(MissingResourceException mre) {
SimplePDLEditorPlugin.INSTANCE.log(mre);
}
return typeName;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected Collection<String> getEncodings() {
if (encodings == null) {
encodings = new ArrayList<String>();
for (StringTokenizer stringTokenizer = new StringTokenizer(SimplePDLEditorPlugin.INSTANCE.getString("_UI_XMLEncodingChoices")); stringTokenizer.hasMoreTokens(); ) {
encodings.add(stringTokenizer.nextToken());
}
}
return encodings;
}
}
/**
* The framework calls this to create the contents of the wizard.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void addPages() {
// Create a page, set the title, and the initial model file name.
//
newFileCreationPage = new SimplepdlModelWizardNewFileCreationPage("Whatever", selection);
newFileCreationPage.setTitle(SimplePDLEditorPlugin.INSTANCE.getString("_UI_SimplepdlModelWizard_label"));
newFileCreationPage.setDescription(SimplePDLEditorPlugin.INSTANCE.getString("_UI_SimplepdlModelWizard_description"));
newFileCreationPage.setFileName(SimplePDLEditorPlugin.INSTANCE.getString("_UI_SimplepdlEditorFilenameDefaultBase") + "." + FILE_EXTENSIONS.get(0));
addPage(newFileCreationPage);
// Try and get the resource selection to determine a current directory for the file dialog.
//
if (selection != null && !selection.isEmpty()) {
// Get the resource...
//
Object selectedElement = selection.iterator().next();
if (selectedElement instanceof IResource) {
// Get the resource parent, if its a file.
//
IResource selectedResource = (IResource)selectedElement;
if (selectedResource.getType() == IResource.FILE) {
selectedResource = selectedResource.getParent();
}
// This gives us a directory...
//
if (selectedResource instanceof IFolder || selectedResource instanceof IProject) {
// Set this for the container.
//
newFileCreationPage.setContainerFullPath(selectedResource.getFullPath());
// Make up a unique new name here.
//
String defaultModelBaseFilename = SimplePDLEditorPlugin.INSTANCE.getString("_UI_SimplepdlEditorFilenameDefaultBase");
String defaultModelFilenameExtension = FILE_EXTENSIONS.get(0);
String modelFilename = defaultModelBaseFilename + "." + defaultModelFilenameExtension;
for (int i = 1; ((IContainer)selectedResource).findMember(modelFilename) != null; ++i) {
modelFilename = defaultModelBaseFilename + i + "." + defaultModelFilenameExtension;
}
newFileCreationPage.setFileName(modelFilename);
}
}
}
initialObjectCreationPage = new SimplepdlModelWizardInitialObjectCreationPage("Whatever2");
initialObjectCreationPage.setTitle(SimplePDLEditorPlugin.INSTANCE.getString("_UI_SimplepdlModelWizard_label"));
initialObjectCreationPage.setDescription(SimplePDLEditorPlugin.INSTANCE.getString("_UI_Wizard_initial_object_description"));
addPage(initialObjectCreationPage);
}
/**
* Get the file from the page.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public IFile getModelFile() {
return newFileCreationPage.getModelFile();
}
}

View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>fr.n7.simplePDL.exemple</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
</buildSpec>
<natures>
</natures>
</projectDescription>

View file

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<simplepdl:Process xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:simplepdl="http://simplepdl">
<processElements xsi:type="simplepdl:WorkDefinition" linksToPredecessors="//@processElements.4" linksToSuccessors="//@processElements.3" name="a1"/>
<processElements xsi:type="simplepdl:WorkDefinition" linksToPredecessors="//@processElements.3" linksToSuccessors="//@processElements.4" name="a2">
<requests quantity="5" target="//@processElements.2"/>
</processElements>
<processElements xsi:type="simplepdl:Resource" quantity="10" name="Crayon"/>
<processElements xsi:type="simplepdl:WorkSequence" predecessor="//@processElements.0" successor="//@processElements.1"/>
<processElements xsi:type="simplepdl:WorkSequence" linkType="finishToFinish" predecessor="//@processElements.1" successor="//@processElements.0"/>
</simplepdl:Process>

View file

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>fr.n7.simplePDL.feature</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.pde.FeatureBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.FeatureNature</nature>
</natures>
</projectDescription>

View file

@ -0,0 +1 @@
bin.includes = feature.xml

View file

@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<feature
id="fr.n7.simplePDL.feature"
label="N7 GLS Feature"
version="1.0.0.qualifier">
<description url="http://www.example.com/description">
[Enter Feature Description here.]
</description>
<copyright url="http://www.example.com/copyright">
[Enter Copyright Description here.]
</copyright>
<license url="http://www.example.com/license">
[Enter License Description here.]
</license>
<plugin
id="fr.n7.simplePDL.editor"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="fr.n7.simplePDL"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="fr.n7.simplePDL.edit"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
id="fr.n7.simplePDL.tests"
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="src" path="src"/>
<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="output" path="bin"/>
</classpath>

View file

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>fr.n7.simplePDL.tests</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.jdt.core.javanature</nature>
<nature>org.eclipse.pde.PluginNature</nature>
</natures>
</projectDescription>

View file

@ -0,0 +1,16 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: fr.n7.simplePDL.tests;singleton:=true
Automatic-Module-Name: fr.n7.simplePDL.tests
Bundle-Version: 1.0.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Export-Package: simplepdl.tests
Require-Bundle: org.eclipse.core.runtime,
fr.n7.simplePDL;visibility:=reexport,
org.eclipse.emf.ecore.xmi;visibility:=reexport,
org.junit;visibility:=reexport
Bundle-ActivationPolicy: lazy

View file

@ -0,0 +1,8 @@
#
bin.includes = .,\
META-INF/,\
plugin.properties
jars.compile.order = .
source.. = src/
output.. = bin/

View file

@ -0,0 +1,4 @@
#
pluginName = SimplePDL Model Tests
providerName = www.example.org

View file

@ -0,0 +1,70 @@
/**
*/
package simplepdl.tests;
import junit.textui.TestRunner;
import simplepdl.Guidance;
import simplepdl.SimplepdlFactory;
/**
* <!-- begin-user-doc -->
* A test case for the model object '<em><b>Guidance</b></em>'.
* <!-- end-user-doc -->
* @generated
*/
public class GuidanceTest extends ProcessElementTest {
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static void main(String[] args) {
TestRunner.run(GuidanceTest.class);
}
/**
* Constructs a new Guidance test case with the given name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public GuidanceTest(String name) {
super(name);
}
/**
* Returns the fixture for this Guidance test case.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected Guidance getFixture() {
return (Guidance)fixture;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see junit.framework.TestCase#setUp()
* @generated
*/
@Override
protected void setUp() throws Exception {
setFixture(SimplepdlFactory.eINSTANCE.createGuidance());
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see junit.framework.TestCase#tearDown()
* @generated
*/
@Override
protected void tearDown() throws Exception {
setFixture(null);
}
} //GuidanceTest

View file

@ -0,0 +1,55 @@
/**
*/
package simplepdl.tests;
import junit.framework.TestCase;
import simplepdl.ProcessElement;
/**
* <!-- begin-user-doc -->
* A test case for the model object '<em><b>Process Element</b></em>'.
* <!-- end-user-doc -->
* @generated
*/
public abstract class ProcessElementTest extends TestCase {
/**
* The fixture for this Process Element test case.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ProcessElement fixture = null;
/**
* Constructs a new Process Element test case with the given name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ProcessElementTest(String name) {
super(name);
}
/**
* Sets the fixture for this Process Element test case.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void setFixture(ProcessElement fixture) {
this.fixture = fixture;
}
/**
* Returns the fixture for this Process Element test case.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ProcessElement getFixture() {
return fixture;
}
} //ProcessElementTest

View file

@ -0,0 +1,88 @@
/**
*/
package simplepdl.tests;
import junit.framework.TestCase;
import junit.textui.TestRunner;
import simplepdl.SimplepdlFactory;
/**
* <!-- begin-user-doc -->
* A test case for the model object '<em><b>Process</b></em>'.
* <!-- end-user-doc -->
* @generated
*/
public class ProcessTest extends TestCase {
/**
* The fixture for this Process test case.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected simplepdl.Process fixture = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static void main(String[] args) {
TestRunner.run(ProcessTest.class);
}
/**
* Constructs a new Process test case with the given name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ProcessTest(String name) {
super(name);
}
/**
* Sets the fixture for this Process test case.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void setFixture(simplepdl.Process fixture) {
this.fixture = fixture;
}
/**
* Returns the fixture for this Process test case.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected simplepdl.Process getFixture() {
return fixture;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see junit.framework.TestCase#setUp()
* @generated
*/
@Override
protected void setUp() throws Exception {
setFixture(SimplepdlFactory.eINSTANCE.createProcess());
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see junit.framework.TestCase#tearDown()
* @generated
*/
@Override
protected void tearDown() throws Exception {
setFixture(null);
}
} //ProcessTest

View file

@ -0,0 +1,89 @@
/**
*/
package simplepdl.tests;
import junit.framework.TestCase;
import junit.textui.TestRunner;
import simplepdl.Request;
import simplepdl.SimplepdlFactory;
/**
* <!-- begin-user-doc -->
* A test case for the model object '<em><b>Request</b></em>'.
* <!-- end-user-doc -->
* @generated
*/
public class RequestTest extends TestCase {
/**
* The fixture for this Request test case.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected Request fixture = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static void main(String[] args) {
TestRunner.run(RequestTest.class);
}
/**
* Constructs a new Request test case with the given name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public RequestTest(String name) {
super(name);
}
/**
* Sets the fixture for this Request test case.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected void setFixture(Request fixture) {
this.fixture = fixture;
}
/**
* Returns the fixture for this Request test case.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected Request getFixture() {
return fixture;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see junit.framework.TestCase#setUp()
* @generated
*/
@Override
protected void setUp() throws Exception {
setFixture(SimplepdlFactory.eINSTANCE.createRequest());
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see junit.framework.TestCase#tearDown()
* @generated
*/
@Override
protected void tearDown() throws Exception {
setFixture(null);
}
} //RequestTest

View file

@ -0,0 +1,70 @@
/**
*/
package simplepdl.tests;
import junit.textui.TestRunner;
import simplepdl.Resource;
import simplepdl.SimplepdlFactory;
/**
* <!-- begin-user-doc -->
* A test case for the model object '<em><b>Resource</b></em>'.
* <!-- end-user-doc -->
* @generated
*/
public class ResourceTest extends ProcessElementTest {
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static void main(String[] args) {
TestRunner.run(ResourceTest.class);
}
/**
* Constructs a new Resource test case with the given name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public ResourceTest(String name) {
super(name);
}
/**
* Returns the fixture for this Resource test case.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected Resource getFixture() {
return (Resource)fixture;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see junit.framework.TestCase#setUp()
* @generated
*/
@Override
protected void setUp() throws Exception {
setFixture(SimplepdlFactory.eINSTANCE.createResource());
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see junit.framework.TestCase#tearDown()
* @generated
*/
@Override
protected void tearDown() throws Exception {
setFixture(null);
}
} //ResourceTest

View file

@ -0,0 +1,46 @@
/**
*/
package simplepdl.tests;
import junit.framework.Test;
import junit.framework.TestSuite;
import junit.textui.TestRunner;
/**
* <!-- begin-user-doc -->
* A test suite for the '<em><b>SimplePDL</b></em>' model.
* <!-- end-user-doc -->
* @generated
*/
public class SimplePDLAllTests extends TestSuite {
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static void main(String[] args) {
TestRunner.run(suite());
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static Test suite() {
TestSuite suite = new SimplePDLAllTests("SimplePDL Tests");
return suite;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public SimplePDLAllTests(String name) {
super(name);
}
} //SimplePDLAllTests

View file

@ -0,0 +1,121 @@
/**
*/
package simplepdl.tests;
import java.io.File;
import java.io.IOException;
import org.eclipse.emf.common.util.Diagnostic;
import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl;
import org.eclipse.emf.ecore.util.Diagnostician;
import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl;
import simplepdl.SimplepdlFactory;
import simplepdl.SimplepdlPackage;
import simplepdl.WorkDefinition;
/**
* <!-- begin-user-doc -->
* A sample utility for the '<em><b>simplepdl</b></em>' package.
* <!-- end-user-doc -->
* @generated
*/
public class SimplepdlExample {
/**
* <!-- begin-user-doc -->
* Load all the argument file paths or URIs as instances of the model.
* <!-- end-user-doc -->
* @param args the file paths or URIs.
* @generated
*/
public static void main(String[] args) {
// Create a resource set to hold the resources.
//
ResourceSet resourceSet = new ResourceSetImpl();
// Register the appropriate resource factory to handle all file extensions.
//
resourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap().put
(Resource.Factory.Registry.DEFAULT_EXTENSION,
new XMIResourceFactoryImpl());
// Register the package to ensure it is available during loading.
//
resourceSet.getPackageRegistry().put
(SimplepdlPackage.eNS_URI,
SimplepdlPackage.eINSTANCE);
// If there are no arguments, emit an appropriate usage message.
//
if (args.length == 0) {
System.out.println("Enter a list of file paths or URIs that have content like this:");
try {
Resource resource = resourceSet.createResource(URI.createURI("http:///My.simplepdl"));
WorkDefinition root = SimplepdlFactory.eINSTANCE.createWorkDefinition();
resource.getContents().add(root);
resource.save(System.out, null);
}
catch (IOException exception) {
exception.printStackTrace();
}
}
else {
// Iterate over all the arguments.
//
for (int i = 0; i < args.length; ++i) {
// Construct the URI for the instance file.
// The argument is treated as a file path only if it denotes an existing file.
// Otherwise, it's directly treated as a URL.
//
File file = new File(args[i]);
URI uri = file.isFile() ? URI.createFileURI(file.getAbsolutePath()): URI.createURI(args[i]);
try {
// Demand load resource for this file.
//
Resource resource = resourceSet.getResource(uri, true);
System.out.println("Loaded " + uri);
// Validate the contents of the loaded resource.
//
for (EObject eObject : resource.getContents()) {
Diagnostic diagnostic = Diagnostician.INSTANCE.validate(eObject);
if (diagnostic.getSeverity() != Diagnostic.OK) {
printDiagnostic(diagnostic, "");
}
}
}
catch (RuntimeException exception) {
System.out.println("Problem loading " + uri);
exception.printStackTrace();
}
}
}
}
/**
* <!-- begin-user-doc -->
* Prints diagnostics with indentation.
* <!-- end-user-doc -->
* @param diagnostic the diagnostic to print.
* @param indent the indentation for printing.
* @generated
*/
protected static void printDiagnostic(Diagnostic diagnostic, String indent) {
System.out.print(indent);
System.out.println(diagnostic.getMessage());
for (Diagnostic child : diagnostic.getChildren()) {
printDiagnostic(child, indent + " ");
}
}
} //SimplepdlExample

View file

@ -0,0 +1,46 @@
/**
*/
package simplepdl.tests;
import junit.framework.Test;
import junit.framework.TestSuite;
import junit.textui.TestRunner;
/**
* <!-- begin-user-doc -->
* A test suite for the '<em><b>simplepdl</b></em>' package.
* <!-- end-user-doc -->
* @generated
*/
public class SimplepdlTests extends TestSuite {
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static void main(String[] args) {
TestRunner.run(suite());
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static Test suite() {
TestSuite suite = new SimplepdlTests("simplepdl Tests");
return suite;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public SimplepdlTests(String name) {
super(name);
}
} //SimplepdlTests

View file

@ -0,0 +1,70 @@
/**
*/
package simplepdl.tests;
import junit.textui.TestRunner;
import simplepdl.SimplepdlFactory;
import simplepdl.WorkDefinition;
/**
* <!-- begin-user-doc -->
* A test case for the model object '<em><b>Work Definition</b></em>'.
* <!-- end-user-doc -->
* @generated
*/
public class WorkDefinitionTest extends ProcessElementTest {
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static void main(String[] args) {
TestRunner.run(WorkDefinitionTest.class);
}
/**
* Constructs a new Work Definition test case with the given name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public WorkDefinitionTest(String name) {
super(name);
}
/**
* Returns the fixture for this Work Definition test case.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected WorkDefinition getFixture() {
return (WorkDefinition)fixture;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see junit.framework.TestCase#setUp()
* @generated
*/
@Override
protected void setUp() throws Exception {
setFixture(SimplepdlFactory.eINSTANCE.createWorkDefinition());
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see junit.framework.TestCase#tearDown()
* @generated
*/
@Override
protected void tearDown() throws Exception {
setFixture(null);
}
} //WorkDefinitionTest

View file

@ -0,0 +1,70 @@
/**
*/
package simplepdl.tests;
import junit.textui.TestRunner;
import simplepdl.SimplepdlFactory;
import simplepdl.WorkSequence;
/**
* <!-- begin-user-doc -->
* A test case for the model object '<em><b>Work Sequence</b></em>'.
* <!-- end-user-doc -->
* @generated
*/
public class WorkSequenceTest extends ProcessElementTest {
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static void main(String[] args) {
TestRunner.run(WorkSequenceTest.class);
}
/**
* Constructs a new Work Sequence test case with the given name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public WorkSequenceTest(String name) {
super(name);
}
/**
* Returns the fixture for this Work Sequence test case.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected WorkSequence getFixture() {
return (WorkSequence)fixture;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see junit.framework.TestCase#setUp()
* @generated
*/
@Override
protected void setUp() throws Exception {
setFixture(SimplepdlFactory.eINSTANCE.createWorkSequence());
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see junit.framework.TestCase#tearDown()
* @generated
*/
@Override
protected void tearDown() throws Exception {
setFixture(null);
}
} //WorkSequenceTest

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<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="output" path="bin"/>
</classpath>

50
fr.n7.simplePDL/.project Normal file
View file

@ -0,0 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>fr.n7.simplePDL</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.ocl.pivot.ui.oclbuilder</name>
<arguments>
<dictionary>
<key>disabledExtensions</key>
<value>*,essentialocl</value>
</dictionary>
<dictionary>
<key>disabledPaths</key>
<value>bin/**,target/**</value>
</dictionary>
<dictionary>
<key>enabledExtensions</key>
<value>ecore,ocl,oclinecore,oclstdlib,uml</value>
</dictionary>
<dictionary>
<key>enabledPaths</key>
<value>**</value>
</dictionary>
</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.ocl.pivot.ui.oclnature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.pde.PluginNature</nature>
</natures>
</projectDescription>

View file

@ -0,0 +1,17 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: fr.n7.simplePDL;singleton:=true
Automatic-Module-Name: fr.n7.simplePDL
Bundle-Version: 1.0.0.qualifier
Bundle-ClassPath: .
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Bundle-RequiredExecutionEnvironment: J2SE-1.5
Export-Package: simplepdl,
simplepdl.impl,
simplepdl.util
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.emf.ecore;visibility:=reexport
Bundle-ActivationPolicy: lazy
Import-Package: org.eclipse.emf.ecore.xmi.impl

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,49 @@
<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="simplepdl" nsURI="http://simplepdl" nsPrefix="simplepdl">
<eClassifiers xsi:type="ecore:EEnum" name="WorkSequenceType">
<eLiterals name="startToStart"/>
<eLiterals name="finishToStart" value="1"/>
<eLiterals name="startToFinish" value="2"/>
<eLiterals name="finishToFinish" value="3"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ProcessElement" abstract="true"/>
<eClassifiers xsi:type="ecore:EClass" name="WorkDefinition" eSuperTypes="#//ProcessElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="linksToPredecessors" upperBound="-1"
eType="#//WorkSequence" eOpposite="#//WorkSequence/successor"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="linksToSuccessors" upperBound="-1"
eType="#//WorkSequence" eOpposite="#//WorkSequence/predecessor"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="requests" upperBound="-1"
eType="#//Request" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="WorkSequence" eSuperTypes="#//ProcessElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="linkType" lowerBound="1"
eType="#//WorkSequenceType"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="predecessor" lowerBound="1"
eType="#//WorkDefinition" eOpposite="#//WorkDefinition/linksToSuccessors"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="successor" lowerBound="1"
eType="#//WorkDefinition" eOpposite="#//WorkDefinition/linksToPredecessors"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Guidance" eSuperTypes="#//ProcessElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="text" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="elements" upperBound="-1"
eType="#//ProcessElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Process">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="processElements" upperBound="-1"
eType="#//ProcessElement" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Request">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="quantity" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="target" lowerBound="1"
eType="#//Resource"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Resource" eSuperTypes="#//ProcessElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="quantity" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
</ecore:EPackage>

View file

@ -0,0 +1,44 @@
<?xml version="1.0" encoding="UTF-8"?>
<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/fr.n7.simplePDL/src" modelPluginID="fr.n7.simplePDL"
modelName="SimplePDL" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" copyrightFields="false"
operationReflection="true" importOrganizing="true">
<foreignModel>SimplePDL.ecore</foreignModel>
<genPackages prefix="Simplepdl" disposableProviderFactory="true" ecorePackage="SimplePDL.ecore#/">
<genEnums typeSafeEnumCompatible="false" ecoreEnum="SimplePDL.ecore#//WorkSequenceType">
<genEnumLiterals ecoreEnumLiteral="SimplePDL.ecore#//WorkSequenceType/startToStart"/>
<genEnumLiterals ecoreEnumLiteral="SimplePDL.ecore#//WorkSequenceType/finishToStart"/>
<genEnumLiterals ecoreEnumLiteral="SimplePDL.ecore#//WorkSequenceType/startToFinish"/>
<genEnumLiterals ecoreEnumLiteral="SimplePDL.ecore#//WorkSequenceType/finishToFinish"/>
</genEnums>
<genClasses image="false" ecoreClass="SimplePDL.ecore#//ProcessElement"/>
<genClasses ecoreClass="SimplePDL.ecore#//WorkDefinition">
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SimplePDL.ecore#//WorkDefinition/linksToPredecessors"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SimplePDL.ecore#//WorkDefinition/linksToSuccessors"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute SimplePDL.ecore#//WorkDefinition/name"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SimplePDL.ecore#//WorkDefinition/requests"/>
</genClasses>
<genClasses ecoreClass="SimplePDL.ecore#//WorkSequence">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute SimplePDL.ecore#//WorkSequence/linkType"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SimplePDL.ecore#//WorkSequence/predecessor"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SimplePDL.ecore#//WorkSequence/successor"/>
</genClasses>
<genClasses ecoreClass="SimplePDL.ecore#//Guidance">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute SimplePDL.ecore#//Guidance/text"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SimplePDL.ecore#//Guidance/elements"/>
</genClasses>
<genClasses ecoreClass="SimplePDL.ecore#//Process">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute SimplePDL.ecore#//Process/name"/>
<genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference SimplePDL.ecore#//Process/processElements"/>
</genClasses>
<genClasses ecoreClass="SimplePDL.ecore#//Request">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute SimplePDL.ecore#//Request/quantity"/>
<genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference SimplePDL.ecore#//Request/target"/>
</genClasses>
<genClasses ecoreClass="SimplePDL.ecore#//Resource">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute SimplePDL.ecore#//Resource/quantity"/>
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute SimplePDL.ecore#//Resource/name"/>
</genClasses>
</genPackages>
</genmodel:GenModel>

View file

@ -0,0 +1,28 @@
import 'SimplePDL.ecore'
package simplepdl
context Process
inv warningSeverity: false
inv withMessage('Explicit message in process ' + self.name + ' (withMessage)'): false
--inv errorSeverity: null
context Process
inv validName('Invalid name: ' + self.name):
self.name.matches('[A-Za-z_][A-Za-z0-9_]*')
context ProcessElement
def: process(): Process =
Process.allInstances()
->select(p | p.processElements->includes(self))
->asSequence()->first()
context WorkSequence
inv successorAndPredecessorInSameProcess('Activities not in the same process : '
+ self.predecessor.name + ' in ' + self.predecessor.process().name+ ' and '
+ self.successor.name + ' in ' + self.successor.process().name
):
self.process() = self.successor.process()
and self.process() = self.predecessor.process()
endpackage

View file

@ -0,0 +1,10 @@
#
bin.includes = .,\
model/,\
META-INF/,\
plugin.xml,\
plugin.properties
jars.compile.order = .
source.. = src/
output.. = bin/

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="ASCII"?>
<simplepdl:Process xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:simplepdl="http://simplepdl" name="Mon premier processus">
<processElements xsi:type="simplepdl:WorkDefinition" linksToSuccessors="//@processElements.2 //@processElements.3" name="Ma premi&#xc3;&#xa8;re WorkDefinition, quelle &#xc3;&#xa9;motion"/>
<processElements xsi:type="simplepdl:WorkDefinition" linksToPredecessors="//@processElements.2 //@processElements.3" name="Ma deuxi&#xc3;&#xa8;me WorkDefinition, toujours autant d'&#xc3;&#xa9;motion"/>
<processElements xsi:type="simplepdl:WorkSequence" linkType="finishToFinish" predecessor="//@processElements.0" successor="//@processElements.1"/>
<processElements xsi:type="simplepdl:WorkSequence" predecessor="//@processElements.0" successor="//@processElements.1"/>
</simplepdl:Process>

View file

@ -0,0 +1,26 @@
import 'SimplePDL.ecore'
package simplepdl
context Process
inv uniqNames: self.processElements
->select(pe | pe.oclIsKindOf(WorkDefinition))
->collect(pe | pe.oclAsType(WorkDefinition))
->forAll(w1, w2 | w1 = w2 or w1.name <> w2.name)
context WorkSequence
inv notReflexive: self.predecessor <> self.successor
context Process
inv nameMin2Char: self.processElements
->select(pe | pe.oclIsKindOf(WorkDefinition))
->collect(pe | pe.oclAsType(WorkDefinition))
->forAll(w | w.name.matches('..+'))
context Process
inv weirdName: self.processElements
->select(pe | pe.oclIsKindOf(WorkDefinition))
->collect(pe | pe.oclAsType(WorkDefinition))
->forAll(w | not w.name.matches('([0-9]*|[a-zA-Z]*|_*)'))
endpackage

View file

@ -0,0 +1,4 @@
#
pluginName = SimplePDL Model
providerName = www.example.org

View file

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<!--
-->
<plugin>
<extension point="org.eclipse.emf.ecore.generated_package">
<!-- @generated SimplePDL -->
<package
uri="http://simplepdl"
class="simplepdl.SimplepdlPackage"
genModel="SimplePDL.genmodel"/>
</extension>
</plugin>

View file

@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<simplepdl:Process
xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:simplepdl="http://simplepdl"
xsi:schemaLocation="http://simplepdl SimplePDL.ecore"
name="ExempleProcess1">
<processElements
xsi:type="simplepdl:WorkDefinition"
linksToSuccessors="//@processElements.1"
name="A1"/>
<processElements
xsi:type="simplepdl:WorkSequence"
predecessor="//@processElements.0"
successor="//@processElements.3"/>
<processElements
xsi:type="simplepdl:WorkDefinition"
name="A1"/>
<processElements
xsi:type="simplepdl:WorkDefinition"
linksToPredecessors="//@processElements.1 //@processElements.4"
linksToSuccessors="//@processElements.4"
name="A 2"/>
<processElements
xsi:type="simplepdl:WorkSequence"
predecessor="//@processElements.3"
successor="//@processElements.3"/>
<processElements
xsi:type="simplepdl:WorkDefinition"
name="A1"/>
</simplepdl:Process>

Binary file not shown.

After

Width:  |  Height:  |  Size: 285 KiB

View file

@ -0,0 +1,59 @@
/**
*/
package simplepdl;
import org.eclipse.emf.common.util.EList;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Guidance</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link simplepdl.Guidance#getText <em>Text</em>}</li>
* <li>{@link simplepdl.Guidance#getElements <em>Elements</em>}</li>
* </ul>
*
* @see simplepdl.SimplepdlPackage#getGuidance()
* @model
* @generated
*/
public interface Guidance extends ProcessElement {
/**
* Returns the value of the '<em><b>Text</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Text</em>' attribute.
* @see #setText(String)
* @see simplepdl.SimplepdlPackage#getGuidance_Text()
* @model required="true"
* @generated
*/
String getText();
/**
* Sets the value of the '{@link simplepdl.Guidance#getText <em>Text</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Text</em>' attribute.
* @see #getText()
* @generated
*/
void setText(String value);
/**
* Returns the value of the '<em><b>Elements</b></em>' reference list.
* The list contents are of type {@link simplepdl.ProcessElement}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Elements</em>' reference list.
* @see simplepdl.SimplepdlPackage#getGuidance_Elements()
* @model
* @generated
*/
EList<ProcessElement> getElements();
} // Guidance

View file

@ -0,0 +1,61 @@
/**
*/
package simplepdl;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Process</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link simplepdl.Process#getName <em>Name</em>}</li>
* <li>{@link simplepdl.Process#getProcessElements <em>Process Elements</em>}</li>
* </ul>
*
* @see simplepdl.SimplepdlPackage#getProcess()
* @model
* @generated
*/
public interface Process extends EObject {
/**
* Returns the value of the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Name</em>' attribute.
* @see #setName(String)
* @see simplepdl.SimplepdlPackage#getProcess_Name()
* @model required="true"
* @generated
*/
String getName();
/**
* Sets the value of the '{@link simplepdl.Process#getName <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Name</em>' attribute.
* @see #getName()
* @generated
*/
void setName(String value);
/**
* Returns the value of the '<em><b>Process Elements</b></em>' containment reference list.
* The list contents are of type {@link simplepdl.ProcessElement}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Process Elements</em>' containment reference list.
* @see simplepdl.SimplepdlPackage#getProcess_ProcessElements()
* @model containment="true"
* @generated
*/
EList<ProcessElement> getProcessElements();
} // Process

View file

@ -0,0 +1,18 @@
/**
*/
package simplepdl;
import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Process Element</b></em>'.
* <!-- end-user-doc -->
*
*
* @see simplepdl.SimplepdlPackage#getProcessElement()
* @model abstract="true"
* @generated
*/
public interface ProcessElement extends EObject {
} // ProcessElement

View file

@ -0,0 +1,69 @@
/**
*/
package simplepdl;
import org.eclipse.emf.ecore.EObject;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Request</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link simplepdl.Request#getQuantity <em>Quantity</em>}</li>
* <li>{@link simplepdl.Request#getTarget <em>Target</em>}</li>
* </ul>
*
* @see simplepdl.SimplepdlPackage#getRequest()
* @model
* @generated
*/
public interface Request extends EObject {
/**
* Returns the value of the '<em><b>Quantity</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Quantity</em>' attribute.
* @see #setQuantity(int)
* @see simplepdl.SimplepdlPackage#getRequest_Quantity()
* @model required="true"
* @generated
*/
int getQuantity();
/**
* Sets the value of the '{@link simplepdl.Request#getQuantity <em>Quantity</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Quantity</em>' attribute.
* @see #getQuantity()
* @generated
*/
void setQuantity(int value);
/**
* Returns the value of the '<em><b>Target</b></em>' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Target</em>' reference.
* @see #setTarget(Resource)
* @see simplepdl.SimplepdlPackage#getRequest_Target()
* @model required="true"
* @generated
*/
Resource getTarget();
/**
* Sets the value of the '{@link simplepdl.Request#getTarget <em>Target</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Target</em>' reference.
* @see #getTarget()
* @generated
*/
void setTarget(Resource value);
} // Request

View file

@ -0,0 +1,68 @@
/**
*/
package simplepdl;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Resource</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link simplepdl.Resource#getQuantity <em>Quantity</em>}</li>
* <li>{@link simplepdl.Resource#getName <em>Name</em>}</li>
* </ul>
*
* @see simplepdl.SimplepdlPackage#getResource()
* @model
* @generated
*/
public interface Resource extends ProcessElement {
/**
* Returns the value of the '<em><b>Quantity</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Quantity</em>' attribute.
* @see #setQuantity(int)
* @see simplepdl.SimplepdlPackage#getResource_Quantity()
* @model required="true"
* @generated
*/
int getQuantity();
/**
* Sets the value of the '{@link simplepdl.Resource#getQuantity <em>Quantity</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Quantity</em>' attribute.
* @see #getQuantity()
* @generated
*/
void setQuantity(int value);
/**
* Returns the value of the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Name</em>' attribute.
* @see #setName(String)
* @see simplepdl.SimplepdlPackage#getResource_Name()
* @model required="true"
* @generated
*/
String getName();
/**
* Sets the value of the '{@link simplepdl.Resource#getName <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Name</em>' attribute.
* @see #getName()
* @generated
*/
void setName(String value);
} // Resource

View file

@ -0,0 +1,87 @@
/**
*/
package simplepdl;
import org.eclipse.emf.ecore.EFactory;
/**
* <!-- begin-user-doc -->
* The <b>Factory</b> for the model.
* It provides a create method for each non-abstract class of the model.
* <!-- end-user-doc -->
* @see simplepdl.SimplepdlPackage
* @generated
*/
public interface SimplepdlFactory extends EFactory {
/**
* The singleton instance of the factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
SimplepdlFactory eINSTANCE = simplepdl.impl.SimplepdlFactoryImpl.init();
/**
* Returns a new object of class '<em>Work Definition</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Work Definition</em>'.
* @generated
*/
WorkDefinition createWorkDefinition();
/**
* Returns a new object of class '<em>Work Sequence</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Work Sequence</em>'.
* @generated
*/
WorkSequence createWorkSequence();
/**
* Returns a new object of class '<em>Guidance</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Guidance</em>'.
* @generated
*/
Guidance createGuidance();
/**
* Returns a new object of class '<em>Process</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Process</em>'.
* @generated
*/
Process createProcess();
/**
* Returns a new object of class '<em>Request</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Request</em>'.
* @generated
*/
Request createRequest();
/**
* Returns a new object of class '<em>Resource</em>'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return a new object of class '<em>Resource</em>'.
* @generated
*/
Resource createResource();
/**
* Returns the package supported by this factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the package supported by this factory.
* @generated
*/
SimplepdlPackage getSimplepdlPackage();
} //SimplepdlFactory

View file

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

View file

@ -0,0 +1,89 @@
/**
*/
package simplepdl;
import org.eclipse.emf.common.util.EList;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Work Definition</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link simplepdl.WorkDefinition#getLinksToPredecessors <em>Links To Predecessors</em>}</li>
* <li>{@link simplepdl.WorkDefinition#getLinksToSuccessors <em>Links To Successors</em>}</li>
* <li>{@link simplepdl.WorkDefinition#getName <em>Name</em>}</li>
* <li>{@link simplepdl.WorkDefinition#getRequests <em>Requests</em>}</li>
* </ul>
*
* @see simplepdl.SimplepdlPackage#getWorkDefinition()
* @model
* @generated
*/
public interface WorkDefinition extends ProcessElement {
/**
* Returns the value of the '<em><b>Links To Predecessors</b></em>' reference list.
* The list contents are of type {@link simplepdl.WorkSequence}.
* It is bidirectional and its opposite is '{@link simplepdl.WorkSequence#getSuccessor <em>Successor</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Links To Predecessors</em>' reference list.
* @see simplepdl.SimplepdlPackage#getWorkDefinition_LinksToPredecessors()
* @see simplepdl.WorkSequence#getSuccessor
* @model opposite="successor"
* @generated
*/
EList<WorkSequence> getLinksToPredecessors();
/**
* Returns the value of the '<em><b>Links To Successors</b></em>' reference list.
* The list contents are of type {@link simplepdl.WorkSequence}.
* It is bidirectional and its opposite is '{@link simplepdl.WorkSequence#getPredecessor <em>Predecessor</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Links To Successors</em>' reference list.
* @see simplepdl.SimplepdlPackage#getWorkDefinition_LinksToSuccessors()
* @see simplepdl.WorkSequence#getPredecessor
* @model opposite="predecessor"
* @generated
*/
EList<WorkSequence> getLinksToSuccessors();
/**
* Returns the value of the '<em><b>Name</b></em>' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Name</em>' attribute.
* @see #setName(String)
* @see simplepdl.SimplepdlPackage#getWorkDefinition_Name()
* @model required="true"
* @generated
*/
String getName();
/**
* Sets the value of the '{@link simplepdl.WorkDefinition#getName <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Name</em>' attribute.
* @see #getName()
* @generated
*/
void setName(String value);
/**
* Returns the value of the '<em><b>Requests</b></em>' containment reference list.
* The list contents are of type {@link simplepdl.Request}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Requests</em>' containment reference list.
* @see simplepdl.SimplepdlPackage#getWorkDefinition_Requests()
* @model containment="true"
* @generated
*/
EList<Request> getRequests();
} // WorkDefinition

View file

@ -0,0 +1,98 @@
/**
*/
package simplepdl;
/**
* <!-- begin-user-doc -->
* A representation of the model object '<em><b>Work Sequence</b></em>'.
* <!-- end-user-doc -->
*
* <p>
* The following features are supported:
* </p>
* <ul>
* <li>{@link simplepdl.WorkSequence#getLinkType <em>Link Type</em>}</li>
* <li>{@link simplepdl.WorkSequence#getPredecessor <em>Predecessor</em>}</li>
* <li>{@link simplepdl.WorkSequence#getSuccessor <em>Successor</em>}</li>
* </ul>
*
* @see simplepdl.SimplepdlPackage#getWorkSequence()
* @model
* @generated
*/
public interface WorkSequence extends ProcessElement {
/**
* Returns the value of the '<em><b>Link Type</b></em>' attribute.
* The literals are from the enumeration {@link simplepdl.WorkSequenceType}.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Link Type</em>' attribute.
* @see simplepdl.WorkSequenceType
* @see #setLinkType(WorkSequenceType)
* @see simplepdl.SimplepdlPackage#getWorkSequence_LinkType()
* @model required="true"
* @generated
*/
WorkSequenceType getLinkType();
/**
* Sets the value of the '{@link simplepdl.WorkSequence#getLinkType <em>Link Type</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Link Type</em>' attribute.
* @see simplepdl.WorkSequenceType
* @see #getLinkType()
* @generated
*/
void setLinkType(WorkSequenceType value);
/**
* Returns the value of the '<em><b>Predecessor</b></em>' reference.
* It is bidirectional and its opposite is '{@link simplepdl.WorkDefinition#getLinksToSuccessors <em>Links To Successors</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Predecessor</em>' reference.
* @see #setPredecessor(WorkDefinition)
* @see simplepdl.SimplepdlPackage#getWorkSequence_Predecessor()
* @see simplepdl.WorkDefinition#getLinksToSuccessors
* @model opposite="linksToSuccessors" required="true"
* @generated
*/
WorkDefinition getPredecessor();
/**
* Sets the value of the '{@link simplepdl.WorkSequence#getPredecessor <em>Predecessor</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Predecessor</em>' reference.
* @see #getPredecessor()
* @generated
*/
void setPredecessor(WorkDefinition value);
/**
* Returns the value of the '<em><b>Successor</b></em>' reference.
* It is bidirectional and its opposite is '{@link simplepdl.WorkDefinition#getLinksToPredecessors <em>Links To Predecessors</em>}'.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the value of the '<em>Successor</em>' reference.
* @see #setSuccessor(WorkDefinition)
* @see simplepdl.SimplepdlPackage#getWorkSequence_Successor()
* @see simplepdl.WorkDefinition#getLinksToPredecessors
* @model opposite="linksToPredecessors" required="true"
* @generated
*/
WorkDefinition getSuccessor();
/**
* Sets the value of the '{@link simplepdl.WorkSequence#getSuccessor <em>Successor</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the new value of the '<em>Successor</em>' reference.
* @see #getSuccessor()
* @generated
*/
void setSuccessor(WorkDefinition value);
} // WorkSequence

View file

@ -0,0 +1,252 @@
/**
*/
package simplepdl;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import org.eclipse.emf.common.util.Enumerator;
/**
* <!-- begin-user-doc -->
* A representation of the literals of the enumeration '<em><b>Work Sequence Type</b></em>',
* and utility methods for working with them.
* <!-- end-user-doc -->
* @see simplepdl.SimplepdlPackage#getWorkSequenceType()
* @model
* @generated
*/
public enum WorkSequenceType implements Enumerator {
/**
* The '<em><b>Start To Start</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #START_TO_START_VALUE
* @generated
* @ordered
*/
START_TO_START(0, "startToStart", "startToStart"),
/**
* The '<em><b>Finish To Start</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #FINISH_TO_START_VALUE
* @generated
* @ordered
*/
FINISH_TO_START(1, "finishToStart", "finishToStart"),
/**
* The '<em><b>Start To Finish</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #START_TO_FINISH_VALUE
* @generated
* @ordered
*/
START_TO_FINISH(2, "startToFinish", "startToFinish"),
/**
* The '<em><b>Finish To Finish</b></em>' literal object.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #FINISH_TO_FINISH_VALUE
* @generated
* @ordered
*/
FINISH_TO_FINISH(3, "finishToFinish", "finishToFinish");
/**
* The '<em><b>Start To Start</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #START_TO_START
* @model name="startToStart"
* @generated
* @ordered
*/
public static final int START_TO_START_VALUE = 0;
/**
* The '<em><b>Finish To Start</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #FINISH_TO_START
* @model name="finishToStart"
* @generated
* @ordered
*/
public static final int FINISH_TO_START_VALUE = 1;
/**
* The '<em><b>Start To Finish</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #START_TO_FINISH
* @model name="startToFinish"
* @generated
* @ordered
*/
public static final int START_TO_FINISH_VALUE = 2;
/**
* The '<em><b>Finish To Finish</b></em>' literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #FINISH_TO_FINISH
* @model name="finishToFinish"
* @generated
* @ordered
*/
public static final int FINISH_TO_FINISH_VALUE = 3;
/**
* An array of all the '<em><b>Work Sequence Type</b></em>' enumerators.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private static final WorkSequenceType[] VALUES_ARRAY =
new WorkSequenceType[] {
START_TO_START,
FINISH_TO_START,
START_TO_FINISH,
FINISH_TO_FINISH,
};
/**
* A public read-only list of all the '<em><b>Work Sequence Type</b></em>' enumerators.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static final List<WorkSequenceType> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
/**
* Returns the '<em><b>Work Sequence Type</b></em>' literal with the specified literal value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param literal the literal.
* @return the matching enumerator or <code>null</code>.
* @generated
*/
public static WorkSequenceType get(String literal) {
for (int i = 0; i < VALUES_ARRAY.length; ++i) {
WorkSequenceType result = VALUES_ARRAY[i];
if (result.toString().equals(literal)) {
return result;
}
}
return null;
}
/**
* Returns the '<em><b>Work Sequence Type</b></em>' literal with the specified name.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param name the name.
* @return the matching enumerator or <code>null</code>.
* @generated
*/
public static WorkSequenceType getByName(String name) {
for (int i = 0; i < VALUES_ARRAY.length; ++i) {
WorkSequenceType result = VALUES_ARRAY[i];
if (result.getName().equals(name)) {
return result;
}
}
return null;
}
/**
* Returns the '<em><b>Work Sequence Type</b></em>' literal with the specified integer value.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param value the integer value.
* @return the matching enumerator or <code>null</code>.
* @generated
*/
public static WorkSequenceType get(int value) {
switch (value) {
case START_TO_START_VALUE: return START_TO_START;
case FINISH_TO_START_VALUE: return FINISH_TO_START;
case START_TO_FINISH_VALUE: return START_TO_FINISH;
case FINISH_TO_FINISH_VALUE: return FINISH_TO_FINISH;
}
return null;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private final int value;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private final String name;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private final String literal;
/**
* Only this class can construct instances.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private WorkSequenceType(int value, String name, String literal) {
this.value = value;
this.name = name;
this.literal = literal;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public int getValue() {
return value;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getName() {
return name;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getLiteral() {
return literal;
}
/**
* Returns the literal value of the enumerator, which is its string representation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString() {
return literal;
}
} //WorkSequenceType

View file

@ -0,0 +1,204 @@
/**
*/
package simplepdl.impl;
import java.util.Collection;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.util.EObjectResolvingEList;
import simplepdl.Guidance;
import simplepdl.ProcessElement;
import simplepdl.SimplepdlPackage;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Guidance</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link simplepdl.impl.GuidanceImpl#getText <em>Text</em>}</li>
* <li>{@link simplepdl.impl.GuidanceImpl#getElements <em>Elements</em>}</li>
* </ul>
*
* @generated
*/
public class GuidanceImpl extends ProcessElementImpl implements Guidance {
/**
* The default value of the '{@link #getText() <em>Text</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getText()
* @generated
* @ordered
*/
protected static final String TEXT_EDEFAULT = null;
/**
* The cached value of the '{@link #getText() <em>Text</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getText()
* @generated
* @ordered
*/
protected String text = TEXT_EDEFAULT;
/**
* The cached value of the '{@link #getElements() <em>Elements</em>}' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getElements()
* @generated
* @ordered
*/
protected EList<ProcessElement> elements;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected GuidanceImpl() {
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass() {
return SimplepdlPackage.Literals.GUIDANCE;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getText() {
return text;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setText(String newText) {
String oldText = text;
text = newText;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, SimplepdlPackage.GUIDANCE__TEXT, oldText, text));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EList<ProcessElement> getElements() {
if (elements == null) {
elements = new EObjectResolvingEList<ProcessElement>(ProcessElement.class, this, SimplepdlPackage.GUIDANCE__ELEMENTS);
}
return elements;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
case SimplepdlPackage.GUIDANCE__TEXT:
return getText();
case SimplepdlPackage.GUIDANCE__ELEMENTS:
return getElements();
}
return super.eGet(featureID, resolve, coreType);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@SuppressWarnings("unchecked")
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
case SimplepdlPackage.GUIDANCE__TEXT:
setText((String)newValue);
return;
case SimplepdlPackage.GUIDANCE__ELEMENTS:
getElements().clear();
getElements().addAll((Collection<? extends ProcessElement>)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID) {
switch (featureID) {
case SimplepdlPackage.GUIDANCE__TEXT:
setText(TEXT_EDEFAULT);
return;
case SimplepdlPackage.GUIDANCE__ELEMENTS:
getElements().clear();
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
case SimplepdlPackage.GUIDANCE__TEXT:
return TEXT_EDEFAULT == null ? text != null : !TEXT_EDEFAULT.equals(text);
case SimplepdlPackage.GUIDANCE__ELEMENTS:
return elements != null && !elements.isEmpty();
}
return super.eIsSet(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString() {
if (eIsProxy()) return super.toString();
StringBuilder result = new StringBuilder(super.toString());
result.append(" (text: ");
result.append(text);
result.append(')');
return result.toString();
}
} //GuidanceImpl

View file

@ -0,0 +1,39 @@
/**
*/
package simplepdl.impl;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
import simplepdl.ProcessElement;
import simplepdl.SimplepdlPackage;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Process Element</b></em>'.
* <!-- end-user-doc -->
*
* @generated
*/
public abstract class ProcessElementImpl extends MinimalEObjectImpl.Container implements ProcessElement {
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ProcessElementImpl() {
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass() {
return SimplepdlPackage.Literals.PROCESS_ELEMENT;
}
} //ProcessElementImpl

View file

@ -0,0 +1,221 @@
/**
*/
package simplepdl.impl;
import java.util.Collection;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
import org.eclipse.emf.ecore.util.EObjectContainmentEList;
import org.eclipse.emf.ecore.util.InternalEList;
import simplepdl.ProcessElement;
import simplepdl.SimplepdlPackage;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Process</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link simplepdl.impl.ProcessImpl#getName <em>Name</em>}</li>
* <li>{@link simplepdl.impl.ProcessImpl#getProcessElements <em>Process Elements</em>}</li>
* </ul>
*
* @generated
*/
public class ProcessImpl extends MinimalEObjectImpl.Container implements simplepdl.Process {
/**
* The default value of the '{@link #getName() <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getName()
* @generated
* @ordered
*/
protected static final String NAME_EDEFAULT = null;
/**
* The cached value of the '{@link #getName() <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getName()
* @generated
* @ordered
*/
protected String name = NAME_EDEFAULT;
/**
* The cached value of the '{@link #getProcessElements() <em>Process Elements</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getProcessElements()
* @generated
* @ordered
*/
protected EList<ProcessElement> processElements;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ProcessImpl() {
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass() {
return SimplepdlPackage.Literals.PROCESS;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getName() {
return name;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setName(String newName) {
String oldName = name;
name = newName;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, SimplepdlPackage.PROCESS__NAME, oldName, name));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EList<ProcessElement> getProcessElements() {
if (processElements == null) {
processElements = new EObjectContainmentEList<ProcessElement>(ProcessElement.class, this, SimplepdlPackage.PROCESS__PROCESS_ELEMENTS);
}
return processElements;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
case SimplepdlPackage.PROCESS__PROCESS_ELEMENTS:
return ((InternalEList<?>)getProcessElements()).basicRemove(otherEnd, msgs);
}
return super.eInverseRemove(otherEnd, featureID, msgs);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
case SimplepdlPackage.PROCESS__NAME:
return getName();
case SimplepdlPackage.PROCESS__PROCESS_ELEMENTS:
return getProcessElements();
}
return super.eGet(featureID, resolve, coreType);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@SuppressWarnings("unchecked")
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
case SimplepdlPackage.PROCESS__NAME:
setName((String)newValue);
return;
case SimplepdlPackage.PROCESS__PROCESS_ELEMENTS:
getProcessElements().clear();
getProcessElements().addAll((Collection<? extends ProcessElement>)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID) {
switch (featureID) {
case SimplepdlPackage.PROCESS__NAME:
setName(NAME_EDEFAULT);
return;
case SimplepdlPackage.PROCESS__PROCESS_ELEMENTS:
getProcessElements().clear();
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
case SimplepdlPackage.PROCESS__NAME:
return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
case SimplepdlPackage.PROCESS__PROCESS_ELEMENTS:
return processElements != null && !processElements.isEmpty();
}
return super.eIsSet(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString() {
if (eIsProxy()) return super.toString();
StringBuilder result = new StringBuilder(super.toString());
result.append(" (name: ");
result.append(name);
result.append(')');
return result.toString();
}
} //ProcessImpl

View file

@ -0,0 +1,225 @@
/**
*/
package simplepdl.impl;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
import simplepdl.Request;
import simplepdl.Resource;
import simplepdl.SimplepdlPackage;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Request</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link simplepdl.impl.RequestImpl#getQuantity <em>Quantity</em>}</li>
* <li>{@link simplepdl.impl.RequestImpl#getTarget <em>Target</em>}</li>
* </ul>
*
* @generated
*/
public class RequestImpl extends MinimalEObjectImpl.Container implements Request {
/**
* The default value of the '{@link #getQuantity() <em>Quantity</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getQuantity()
* @generated
* @ordered
*/
protected static final int QUANTITY_EDEFAULT = 0;
/**
* The cached value of the '{@link #getQuantity() <em>Quantity</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getQuantity()
* @generated
* @ordered
*/
protected int quantity = QUANTITY_EDEFAULT;
/**
* The cached value of the '{@link #getTarget() <em>Target</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getTarget()
* @generated
* @ordered
*/
protected Resource target;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected RequestImpl() {
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass() {
return SimplepdlPackage.Literals.REQUEST;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public int getQuantity() {
return quantity;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setQuantity(int newQuantity) {
int oldQuantity = quantity;
quantity = newQuantity;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, SimplepdlPackage.REQUEST__QUANTITY, oldQuantity, quantity));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Resource getTarget() {
if (target != null && target.eIsProxy()) {
InternalEObject oldTarget = (InternalEObject)target;
target = (Resource)eResolveProxy(oldTarget);
if (target != oldTarget) {
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, SimplepdlPackage.REQUEST__TARGET, oldTarget, target));
}
}
return target;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Resource basicGetTarget() {
return target;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setTarget(Resource newTarget) {
Resource oldTarget = target;
target = newTarget;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, SimplepdlPackage.REQUEST__TARGET, oldTarget, target));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
case SimplepdlPackage.REQUEST__QUANTITY:
return getQuantity();
case SimplepdlPackage.REQUEST__TARGET:
if (resolve) return getTarget();
return basicGetTarget();
}
return super.eGet(featureID, resolve, coreType);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
case SimplepdlPackage.REQUEST__QUANTITY:
setQuantity((Integer)newValue);
return;
case SimplepdlPackage.REQUEST__TARGET:
setTarget((Resource)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID) {
switch (featureID) {
case SimplepdlPackage.REQUEST__QUANTITY:
setQuantity(QUANTITY_EDEFAULT);
return;
case SimplepdlPackage.REQUEST__TARGET:
setTarget((Resource)null);
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
case SimplepdlPackage.REQUEST__QUANTITY:
return quantity != QUANTITY_EDEFAULT;
case SimplepdlPackage.REQUEST__TARGET:
return target != null;
}
return super.eIsSet(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString() {
if (eIsProxy()) return super.toString();
StringBuilder result = new StringBuilder(super.toString());
result.append(" (quantity: ");
result.append(quantity);
result.append(')');
return result.toString();
}
} //RequestImpl

View file

@ -0,0 +1,216 @@
/**
*/
package simplepdl.impl;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import simplepdl.Resource;
import simplepdl.SimplepdlPackage;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Resource</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link simplepdl.impl.ResourceImpl#getQuantity <em>Quantity</em>}</li>
* <li>{@link simplepdl.impl.ResourceImpl#getName <em>Name</em>}</li>
* </ul>
*
* @generated
*/
public class ResourceImpl extends ProcessElementImpl implements Resource {
/**
* The default value of the '{@link #getQuantity() <em>Quantity</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getQuantity()
* @generated
* @ordered
*/
protected static final int QUANTITY_EDEFAULT = 0;
/**
* The cached value of the '{@link #getQuantity() <em>Quantity</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getQuantity()
* @generated
* @ordered
*/
protected int quantity = QUANTITY_EDEFAULT;
/**
* The default value of the '{@link #getName() <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getName()
* @generated
* @ordered
*/
protected static final String NAME_EDEFAULT = null;
/**
* The cached value of the '{@link #getName() <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getName()
* @generated
* @ordered
*/
protected String name = NAME_EDEFAULT;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected ResourceImpl() {
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass() {
return SimplepdlPackage.Literals.RESOURCE;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public int getQuantity() {
return quantity;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setQuantity(int newQuantity) {
int oldQuantity = quantity;
quantity = newQuantity;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, SimplepdlPackage.RESOURCE__QUANTITY, oldQuantity, quantity));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getName() {
return name;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setName(String newName) {
String oldName = name;
name = newName;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, SimplepdlPackage.RESOURCE__NAME, oldName, name));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
case SimplepdlPackage.RESOURCE__QUANTITY:
return getQuantity();
case SimplepdlPackage.RESOURCE__NAME:
return getName();
}
return super.eGet(featureID, resolve, coreType);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
case SimplepdlPackage.RESOURCE__QUANTITY:
setQuantity((Integer)newValue);
return;
case SimplepdlPackage.RESOURCE__NAME:
setName((String)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID) {
switch (featureID) {
case SimplepdlPackage.RESOURCE__QUANTITY:
setQuantity(QUANTITY_EDEFAULT);
return;
case SimplepdlPackage.RESOURCE__NAME:
setName(NAME_EDEFAULT);
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
case SimplepdlPackage.RESOURCE__QUANTITY:
return quantity != QUANTITY_EDEFAULT;
case SimplepdlPackage.RESOURCE__NAME:
return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
}
return super.eIsSet(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString() {
if (eIsProxy()) return super.toString();
StringBuilder result = new StringBuilder(super.toString());
result.append(" (quantity: ");
result.append(quantity);
result.append(", name: ");
result.append(name);
result.append(')');
return result.toString();
}
} //ResourceImpl

View file

@ -0,0 +1,208 @@
/**
*/
package simplepdl.impl;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EDataType;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.impl.EFactoryImpl;
import org.eclipse.emf.ecore.plugin.EcorePlugin;
import simplepdl.Guidance;
import simplepdl.Request;
import simplepdl.Resource;
import simplepdl.SimplepdlFactory;
import simplepdl.SimplepdlPackage;
import simplepdl.WorkDefinition;
import simplepdl.WorkSequence;
import simplepdl.WorkSequenceType;
/**
* <!-- begin-user-doc -->
* An implementation of the model <b>Factory</b>.
* <!-- end-user-doc -->
* @generated
*/
public class SimplepdlFactoryImpl extends EFactoryImpl implements SimplepdlFactory {
/**
* Creates the default factory implementation.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public static SimplepdlFactory init() {
try {
SimplepdlFactory theSimplepdlFactory = (SimplepdlFactory)EPackage.Registry.INSTANCE.getEFactory(SimplepdlPackage.eNS_URI);
if (theSimplepdlFactory != null) {
return theSimplepdlFactory;
}
}
catch (Exception exception) {
EcorePlugin.INSTANCE.log(exception);
}
return new SimplepdlFactoryImpl();
}
/**
* Creates an instance of the factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public SimplepdlFactoryImpl() {
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public EObject create(EClass eClass) {
switch (eClass.getClassifierID()) {
case SimplepdlPackage.WORK_DEFINITION: return createWorkDefinition();
case SimplepdlPackage.WORK_SEQUENCE: return createWorkSequence();
case SimplepdlPackage.GUIDANCE: return createGuidance();
case SimplepdlPackage.PROCESS: return createProcess();
case SimplepdlPackage.REQUEST: return createRequest();
case SimplepdlPackage.RESOURCE: return createResource();
default:
throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
}
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object createFromString(EDataType eDataType, String initialValue) {
switch (eDataType.getClassifierID()) {
case SimplepdlPackage.WORK_SEQUENCE_TYPE:
return createWorkSequenceTypeFromString(eDataType, initialValue);
default:
throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
}
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String convertToString(EDataType eDataType, Object instanceValue) {
switch (eDataType.getClassifierID()) {
case SimplepdlPackage.WORK_SEQUENCE_TYPE:
return convertWorkSequenceTypeToString(eDataType, instanceValue);
default:
throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
}
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public WorkDefinition createWorkDefinition() {
WorkDefinitionImpl workDefinition = new WorkDefinitionImpl();
return workDefinition;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public WorkSequence createWorkSequence() {
WorkSequenceImpl workSequence = new WorkSequenceImpl();
return workSequence;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Guidance createGuidance() {
GuidanceImpl guidance = new GuidanceImpl();
return guidance;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public simplepdl.Process createProcess() {
ProcessImpl process = new ProcessImpl();
return process;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Request createRequest() {
RequestImpl request = new RequestImpl();
return request;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public Resource createResource() {
ResourceImpl resource = new ResourceImpl();
return resource;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public WorkSequenceType createWorkSequenceTypeFromString(EDataType eDataType, String initialValue) {
WorkSequenceType result = WorkSequenceType.get(initialValue);
if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
return result;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String convertWorkSequenceTypeToString(EDataType eDataType, Object instanceValue) {
return instanceValue == null ? null : instanceValue.toString();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public SimplepdlPackage getSimplepdlPackage() {
return (SimplepdlPackage)getEPackage();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @deprecated
* @generated
*/
@Deprecated
public static SimplepdlPackage getPackage() {
return SimplepdlPackage.eINSTANCE;
}
} //SimplepdlFactoryImpl

View file

@ -0,0 +1,489 @@
/**
*/
package simplepdl.impl;
import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EEnum;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;
import org.eclipse.emf.ecore.impl.EPackageImpl;
import simplepdl.Guidance;
import simplepdl.ProcessElement;
import simplepdl.Request;
import simplepdl.Resource;
import simplepdl.SimplepdlFactory;
import simplepdl.SimplepdlPackage;
import simplepdl.WorkDefinition;
import simplepdl.WorkSequence;
import simplepdl.WorkSequenceType;
/**
* <!-- begin-user-doc -->
* An implementation of the model <b>Package</b>.
* <!-- end-user-doc -->
* @generated
*/
public class SimplepdlPackageImpl extends EPackageImpl implements SimplepdlPackage {
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass processElementEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass workDefinitionEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass workSequenceEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass guidanceEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass processEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass requestEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EClass resourceEClass = null;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private EEnum workSequenceTypeEEnum = null;
/**
* Creates an instance of the model <b>Package</b>, registered with
* {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
* package URI value.
* <p>Note: the correct way to create the package is via the static
* factory method {@link #init init()}, which also performs
* initialization of the package, or returns the registered package,
* if one already exists.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see org.eclipse.emf.ecore.EPackage.Registry
* @see simplepdl.SimplepdlPackage#eNS_URI
* @see #init()
* @generated
*/
private SimplepdlPackageImpl() {
super(eNS_URI, SimplepdlFactory.eINSTANCE);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private static boolean isInited = false;
/**
* Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
*
* <p>This method is used to initialize {@link SimplepdlPackage#eINSTANCE} when that field is accessed.
* Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #eNS_URI
* @see #createPackageContents()
* @see #initializePackageContents()
* @generated
*/
public static SimplepdlPackage init() {
if (isInited) return (SimplepdlPackage)EPackage.Registry.INSTANCE.getEPackage(SimplepdlPackage.eNS_URI);
// Obtain or create and register package
Object registeredSimplepdlPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
SimplepdlPackageImpl theSimplepdlPackage = registeredSimplepdlPackage instanceof SimplepdlPackageImpl ? (SimplepdlPackageImpl)registeredSimplepdlPackage : new SimplepdlPackageImpl();
isInited = true;
// Create package meta-data objects
theSimplepdlPackage.createPackageContents();
// Initialize created meta-data
theSimplepdlPackage.initializePackageContents();
// Mark meta-data to indicate it can't be changed
theSimplepdlPackage.freeze();
// Update the registry and return the package
EPackage.Registry.INSTANCE.put(SimplepdlPackage.eNS_URI, theSimplepdlPackage);
return theSimplepdlPackage;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getProcessElement() {
return processElementEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getWorkDefinition() {
return workDefinitionEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getWorkDefinition_LinksToPredecessors() {
return (EReference)workDefinitionEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getWorkDefinition_LinksToSuccessors() {
return (EReference)workDefinitionEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getWorkDefinition_Name() {
return (EAttribute)workDefinitionEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getWorkDefinition_Requests() {
return (EReference)workDefinitionEClass.getEStructuralFeatures().get(3);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getWorkSequence() {
return workSequenceEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getWorkSequence_LinkType() {
return (EAttribute)workSequenceEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getWorkSequence_Predecessor() {
return (EReference)workSequenceEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getWorkSequence_Successor() {
return (EReference)workSequenceEClass.getEStructuralFeatures().get(2);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getGuidance() {
return guidanceEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getGuidance_Text() {
return (EAttribute)guidanceEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getGuidance_Elements() {
return (EReference)guidanceEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getProcess() {
return processEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getProcess_Name() {
return (EAttribute)processEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getProcess_ProcessElements() {
return (EReference)processEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getRequest() {
return requestEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getRequest_Quantity() {
return (EAttribute)requestEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EReference getRequest_Target() {
return (EReference)requestEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EClass getResource() {
return resourceEClass;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getResource_Quantity() {
return (EAttribute)resourceEClass.getEStructuralFeatures().get(0);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EAttribute getResource_Name() {
return (EAttribute)resourceEClass.getEStructuralFeatures().get(1);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EEnum getWorkSequenceType() {
return workSequenceTypeEEnum;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public SimplepdlFactory getSimplepdlFactory() {
return (SimplepdlFactory)getEFactoryInstance();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private boolean isCreated = false;
/**
* Creates the meta-model objects for the package. This method is
* guarded to have no affect on any invocation but its first.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void createPackageContents() {
if (isCreated) return;
isCreated = true;
// Create classes and their features
processElementEClass = createEClass(PROCESS_ELEMENT);
workDefinitionEClass = createEClass(WORK_DEFINITION);
createEReference(workDefinitionEClass, WORK_DEFINITION__LINKS_TO_PREDECESSORS);
createEReference(workDefinitionEClass, WORK_DEFINITION__LINKS_TO_SUCCESSORS);
createEAttribute(workDefinitionEClass, WORK_DEFINITION__NAME);
createEReference(workDefinitionEClass, WORK_DEFINITION__REQUESTS);
workSequenceEClass = createEClass(WORK_SEQUENCE);
createEAttribute(workSequenceEClass, WORK_SEQUENCE__LINK_TYPE);
createEReference(workSequenceEClass, WORK_SEQUENCE__PREDECESSOR);
createEReference(workSequenceEClass, WORK_SEQUENCE__SUCCESSOR);
guidanceEClass = createEClass(GUIDANCE);
createEAttribute(guidanceEClass, GUIDANCE__TEXT);
createEReference(guidanceEClass, GUIDANCE__ELEMENTS);
processEClass = createEClass(PROCESS);
createEAttribute(processEClass, PROCESS__NAME);
createEReference(processEClass, PROCESS__PROCESS_ELEMENTS);
requestEClass = createEClass(REQUEST);
createEAttribute(requestEClass, REQUEST__QUANTITY);
createEReference(requestEClass, REQUEST__TARGET);
resourceEClass = createEClass(RESOURCE);
createEAttribute(resourceEClass, RESOURCE__QUANTITY);
createEAttribute(resourceEClass, RESOURCE__NAME);
// Create enums
workSequenceTypeEEnum = createEEnum(WORK_SEQUENCE_TYPE);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
private boolean isInitialized = false;
/**
* Complete the initialization of the package and its meta-model. This
* method is guarded to have no affect on any invocation but its first.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void initializePackageContents() {
if (isInitialized) return;
isInitialized = true;
// Initialize package
setName(eNAME);
setNsPrefix(eNS_PREFIX);
setNsURI(eNS_URI);
// Create type parameters
// Set bounds for type parameters
// Add supertypes to classes
workDefinitionEClass.getESuperTypes().add(this.getProcessElement());
workSequenceEClass.getESuperTypes().add(this.getProcessElement());
guidanceEClass.getESuperTypes().add(this.getProcessElement());
resourceEClass.getESuperTypes().add(this.getProcessElement());
// Initialize classes, features, and operations; add parameters
initEClass(processElementEClass, ProcessElement.class, "ProcessElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEClass(workDefinitionEClass, WorkDefinition.class, "WorkDefinition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEReference(getWorkDefinition_LinksToPredecessors(), this.getWorkSequence(), this.getWorkSequence_Successor(), "linksToPredecessors", null, 0, -1, WorkDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getWorkDefinition_LinksToSuccessors(), this.getWorkSequence(), this.getWorkSequence_Predecessor(), "linksToSuccessors", null, 0, -1, WorkDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getWorkDefinition_Name(), ecorePackage.getEString(), "name", null, 1, 1, WorkDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getWorkDefinition_Requests(), this.getRequest(), null, "requests", null, 0, -1, WorkDefinition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(workSequenceEClass, WorkSequence.class, "WorkSequence", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getWorkSequence_LinkType(), this.getWorkSequenceType(), "linkType", null, 1, 1, WorkSequence.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getWorkSequence_Predecessor(), this.getWorkDefinition(), this.getWorkDefinition_LinksToSuccessors(), "predecessor", null, 1, 1, WorkSequence.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getWorkSequence_Successor(), this.getWorkDefinition(), this.getWorkDefinition_LinksToPredecessors(), "successor", null, 1, 1, WorkSequence.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(guidanceEClass, Guidance.class, "Guidance", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getGuidance_Text(), ecorePackage.getEString(), "text", null, 1, 1, Guidance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getGuidance_Elements(), this.getProcessElement(), null, "elements", null, 0, -1, Guidance.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(processEClass, simplepdl.Process.class, "Process", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getProcess_Name(), ecorePackage.getEString(), "name", null, 1, 1, simplepdl.Process.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getProcess_ProcessElements(), this.getProcessElement(), null, "processElements", null, 0, -1, simplepdl.Process.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(requestEClass, Request.class, "Request", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getRequest_Quantity(), ecorePackage.getEInt(), "quantity", null, 1, 1, Request.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEReference(getRequest_Target(), this.getResource(), null, "target", null, 1, 1, Request.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEClass(resourceEClass, Resource.class, "Resource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
initEAttribute(getResource_Quantity(), ecorePackage.getEInt(), "quantity", null, 1, 1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
initEAttribute(getResource_Name(), ecorePackage.getEString(), "name", null, 1, 1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
// Initialize enums and add enum literals
initEEnum(workSequenceTypeEEnum, WorkSequenceType.class, "WorkSequenceType");
addEEnumLiteral(workSequenceTypeEEnum, WorkSequenceType.START_TO_START);
addEEnumLiteral(workSequenceTypeEEnum, WorkSequenceType.FINISH_TO_START);
addEEnumLiteral(workSequenceTypeEEnum, WorkSequenceType.START_TO_FINISH);
addEEnumLiteral(workSequenceTypeEEnum, WorkSequenceType.FINISH_TO_FINISH);
// Create resource
createResource(eNS_URI);
}
} //SimplepdlPackageImpl

View file

@ -0,0 +1,312 @@
/**
*/
package simplepdl.impl;
import java.util.Collection;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import org.eclipse.emf.ecore.util.EObjectContainmentEList;
import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
import org.eclipse.emf.ecore.util.InternalEList;
import simplepdl.Request;
import simplepdl.SimplepdlPackage;
import simplepdl.WorkDefinition;
import simplepdl.WorkSequence;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Work Definition</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link simplepdl.impl.WorkDefinitionImpl#getLinksToPredecessors <em>Links To Predecessors</em>}</li>
* <li>{@link simplepdl.impl.WorkDefinitionImpl#getLinksToSuccessors <em>Links To Successors</em>}</li>
* <li>{@link simplepdl.impl.WorkDefinitionImpl#getName <em>Name</em>}</li>
* <li>{@link simplepdl.impl.WorkDefinitionImpl#getRequests <em>Requests</em>}</li>
* </ul>
*
* @generated
*/
public class WorkDefinitionImpl extends ProcessElementImpl implements WorkDefinition {
/**
* The cached value of the '{@link #getLinksToPredecessors() <em>Links To Predecessors</em>}' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getLinksToPredecessors()
* @generated
* @ordered
*/
protected EList<WorkSequence> linksToPredecessors;
/**
* The cached value of the '{@link #getLinksToSuccessors() <em>Links To Successors</em>}' reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getLinksToSuccessors()
* @generated
* @ordered
*/
protected EList<WorkSequence> linksToSuccessors;
/**
* The default value of the '{@link #getName() <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getName()
* @generated
* @ordered
*/
protected static final String NAME_EDEFAULT = null;
/**
* The cached value of the '{@link #getName() <em>Name</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getName()
* @generated
* @ordered
*/
protected String name = NAME_EDEFAULT;
/**
* The cached value of the '{@link #getRequests() <em>Requests</em>}' containment reference list.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getRequests()
* @generated
* @ordered
*/
protected EList<Request> requests;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected WorkDefinitionImpl() {
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass() {
return SimplepdlPackage.Literals.WORK_DEFINITION;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EList<WorkSequence> getLinksToPredecessors() {
if (linksToPredecessors == null) {
linksToPredecessors = new EObjectWithInverseResolvingEList<WorkSequence>(WorkSequence.class, this, SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS, SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR);
}
return linksToPredecessors;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EList<WorkSequence> getLinksToSuccessors() {
if (linksToSuccessors == null) {
linksToSuccessors = new EObjectWithInverseResolvingEList<WorkSequence>(WorkSequence.class, this, SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS, SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR);
}
return linksToSuccessors;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public String getName() {
return name;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setName(String newName) {
String oldName = name;
name = newName;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, SimplepdlPackage.WORK_DEFINITION__NAME, oldName, name));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public EList<Request> getRequests() {
if (requests == null) {
requests = new EObjectContainmentEList<Request>(Request.class, this, SimplepdlPackage.WORK_DEFINITION__REQUESTS);
}
return requests;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@SuppressWarnings("unchecked")
@Override
public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS:
return ((InternalEList<InternalEObject>)(InternalEList<?>)getLinksToPredecessors()).basicAdd(otherEnd, msgs);
case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS:
return ((InternalEList<InternalEObject>)(InternalEList<?>)getLinksToSuccessors()).basicAdd(otherEnd, msgs);
}
return super.eInverseAdd(otherEnd, featureID, msgs);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS:
return ((InternalEList<?>)getLinksToPredecessors()).basicRemove(otherEnd, msgs);
case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS:
return ((InternalEList<?>)getLinksToSuccessors()).basicRemove(otherEnd, msgs);
case SimplepdlPackage.WORK_DEFINITION__REQUESTS:
return ((InternalEList<?>)getRequests()).basicRemove(otherEnd, msgs);
}
return super.eInverseRemove(otherEnd, featureID, msgs);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS:
return getLinksToPredecessors();
case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS:
return getLinksToSuccessors();
case SimplepdlPackage.WORK_DEFINITION__NAME:
return getName();
case SimplepdlPackage.WORK_DEFINITION__REQUESTS:
return getRequests();
}
return super.eGet(featureID, resolve, coreType);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@SuppressWarnings("unchecked")
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS:
getLinksToPredecessors().clear();
getLinksToPredecessors().addAll((Collection<? extends WorkSequence>)newValue);
return;
case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS:
getLinksToSuccessors().clear();
getLinksToSuccessors().addAll((Collection<? extends WorkSequence>)newValue);
return;
case SimplepdlPackage.WORK_DEFINITION__NAME:
setName((String)newValue);
return;
case SimplepdlPackage.WORK_DEFINITION__REQUESTS:
getRequests().clear();
getRequests().addAll((Collection<? extends Request>)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID) {
switch (featureID) {
case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS:
getLinksToPredecessors().clear();
return;
case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS:
getLinksToSuccessors().clear();
return;
case SimplepdlPackage.WORK_DEFINITION__NAME:
setName(NAME_EDEFAULT);
return;
case SimplepdlPackage.WORK_DEFINITION__REQUESTS:
getRequests().clear();
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS:
return linksToPredecessors != null && !linksToPredecessors.isEmpty();
case SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS:
return linksToSuccessors != null && !linksToSuccessors.isEmpty();
case SimplepdlPackage.WORK_DEFINITION__NAME:
return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
case SimplepdlPackage.WORK_DEFINITION__REQUESTS:
return requests != null && !requests.isEmpty();
}
return super.eIsSet(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString() {
if (eIsProxy()) return super.toString();
StringBuilder result = new StringBuilder(super.toString());
result.append(" (name: ");
result.append(name);
result.append(')');
return result.toString();
}
} //WorkDefinitionImpl

View file

@ -0,0 +1,366 @@
/**
*/
package simplepdl.impl;
import org.eclipse.emf.common.notify.Notification;
import org.eclipse.emf.common.notify.NotificationChain;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.InternalEObject;
import org.eclipse.emf.ecore.impl.ENotificationImpl;
import simplepdl.SimplepdlPackage;
import simplepdl.WorkDefinition;
import simplepdl.WorkSequence;
import simplepdl.WorkSequenceType;
/**
* <!-- begin-user-doc -->
* An implementation of the model object '<em><b>Work Sequence</b></em>'.
* <!-- end-user-doc -->
* <p>
* The following features are implemented:
* </p>
* <ul>
* <li>{@link simplepdl.impl.WorkSequenceImpl#getLinkType <em>Link Type</em>}</li>
* <li>{@link simplepdl.impl.WorkSequenceImpl#getPredecessor <em>Predecessor</em>}</li>
* <li>{@link simplepdl.impl.WorkSequenceImpl#getSuccessor <em>Successor</em>}</li>
* </ul>
*
* @generated
*/
public class WorkSequenceImpl extends ProcessElementImpl implements WorkSequence {
/**
* The default value of the '{@link #getLinkType() <em>Link Type</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getLinkType()
* @generated
* @ordered
*/
protected static final WorkSequenceType LINK_TYPE_EDEFAULT = WorkSequenceType.START_TO_START;
/**
* The cached value of the '{@link #getLinkType() <em>Link Type</em>}' attribute.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getLinkType()
* @generated
* @ordered
*/
protected WorkSequenceType linkType = LINK_TYPE_EDEFAULT;
/**
* The cached value of the '{@link #getPredecessor() <em>Predecessor</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getPredecessor()
* @generated
* @ordered
*/
protected WorkDefinition predecessor;
/**
* The cached value of the '{@link #getSuccessor() <em>Successor</em>}' reference.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @see #getSuccessor()
* @generated
* @ordered
*/
protected WorkDefinition successor;
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected WorkSequenceImpl() {
super();
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
protected EClass eStaticClass() {
return SimplepdlPackage.Literals.WORK_SEQUENCE;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public WorkSequenceType getLinkType() {
return linkType;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setLinkType(WorkSequenceType newLinkType) {
WorkSequenceType oldLinkType = linkType;
linkType = newLinkType == null ? LINK_TYPE_EDEFAULT : newLinkType;
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, SimplepdlPackage.WORK_SEQUENCE__LINK_TYPE, oldLinkType, linkType));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public WorkDefinition getPredecessor() {
if (predecessor != null && predecessor.eIsProxy()) {
InternalEObject oldPredecessor = (InternalEObject)predecessor;
predecessor = (WorkDefinition)eResolveProxy(oldPredecessor);
if (predecessor != oldPredecessor) {
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR, oldPredecessor, predecessor));
}
}
return predecessor;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public WorkDefinition basicGetPredecessor() {
return predecessor;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NotificationChain basicSetPredecessor(WorkDefinition newPredecessor, NotificationChain msgs) {
WorkDefinition oldPredecessor = predecessor;
predecessor = newPredecessor;
if (eNotificationRequired()) {
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR, oldPredecessor, newPredecessor);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setPredecessor(WorkDefinition newPredecessor) {
if (newPredecessor != predecessor) {
NotificationChain msgs = null;
if (predecessor != null)
msgs = ((InternalEObject)predecessor).eInverseRemove(this, SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS, WorkDefinition.class, msgs);
if (newPredecessor != null)
msgs = ((InternalEObject)newPredecessor).eInverseAdd(this, SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS, WorkDefinition.class, msgs);
msgs = basicSetPredecessor(newPredecessor, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR, newPredecessor, newPredecessor));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public WorkDefinition getSuccessor() {
if (successor != null && successor.eIsProxy()) {
InternalEObject oldSuccessor = (InternalEObject)successor;
successor = (WorkDefinition)eResolveProxy(oldSuccessor);
if (successor != oldSuccessor) {
if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.RESOLVE, SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR, oldSuccessor, successor));
}
}
return successor;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public WorkDefinition basicGetSuccessor() {
return successor;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public NotificationChain basicSetSuccessor(WorkDefinition newSuccessor, NotificationChain msgs) {
WorkDefinition oldSuccessor = successor;
successor = newSuccessor;
if (eNotificationRequired()) {
ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR, oldSuccessor, newSuccessor);
if (msgs == null) msgs = notification; else msgs.add(notification);
}
return msgs;
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public void setSuccessor(WorkDefinition newSuccessor) {
if (newSuccessor != successor) {
NotificationChain msgs = null;
if (successor != null)
msgs = ((InternalEObject)successor).eInverseRemove(this, SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS, WorkDefinition.class, msgs);
if (newSuccessor != null)
msgs = ((InternalEObject)newSuccessor).eInverseAdd(this, SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS, WorkDefinition.class, msgs);
msgs = basicSetSuccessor(newSuccessor, msgs);
if (msgs != null) msgs.dispatch();
}
else if (eNotificationRequired())
eNotify(new ENotificationImpl(this, Notification.SET, SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR, newSuccessor, newSuccessor));
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
case SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR:
if (predecessor != null)
msgs = ((InternalEObject)predecessor).eInverseRemove(this, SimplepdlPackage.WORK_DEFINITION__LINKS_TO_SUCCESSORS, WorkDefinition.class, msgs);
return basicSetPredecessor((WorkDefinition)otherEnd, msgs);
case SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR:
if (successor != null)
msgs = ((InternalEObject)successor).eInverseRemove(this, SimplepdlPackage.WORK_DEFINITION__LINKS_TO_PREDECESSORS, WorkDefinition.class, msgs);
return basicSetSuccessor((WorkDefinition)otherEnd, msgs);
}
return super.eInverseAdd(otherEnd, featureID, msgs);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
switch (featureID) {
case SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR:
return basicSetPredecessor(null, msgs);
case SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR:
return basicSetSuccessor(null, msgs);
}
return super.eInverseRemove(otherEnd, featureID, msgs);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public Object eGet(int featureID, boolean resolve, boolean coreType) {
switch (featureID) {
case SimplepdlPackage.WORK_SEQUENCE__LINK_TYPE:
return getLinkType();
case SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR:
if (resolve) return getPredecessor();
return basicGetPredecessor();
case SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR:
if (resolve) return getSuccessor();
return basicGetSuccessor();
}
return super.eGet(featureID, resolve, coreType);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eSet(int featureID, Object newValue) {
switch (featureID) {
case SimplepdlPackage.WORK_SEQUENCE__LINK_TYPE:
setLinkType((WorkSequenceType)newValue);
return;
case SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR:
setPredecessor((WorkDefinition)newValue);
return;
case SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR:
setSuccessor((WorkDefinition)newValue);
return;
}
super.eSet(featureID, newValue);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public void eUnset(int featureID) {
switch (featureID) {
case SimplepdlPackage.WORK_SEQUENCE__LINK_TYPE:
setLinkType(LINK_TYPE_EDEFAULT);
return;
case SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR:
setPredecessor((WorkDefinition)null);
return;
case SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR:
setSuccessor((WorkDefinition)null);
return;
}
super.eUnset(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public boolean eIsSet(int featureID) {
switch (featureID) {
case SimplepdlPackage.WORK_SEQUENCE__LINK_TYPE:
return linkType != LINK_TYPE_EDEFAULT;
case SimplepdlPackage.WORK_SEQUENCE__PREDECESSOR:
return predecessor != null;
case SimplepdlPackage.WORK_SEQUENCE__SUCCESSOR:
return successor != null;
}
return super.eIsSet(featureID);
}
/**
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
@Override
public String toString() {
if (eIsProxy()) return super.toString();
StringBuilder result = new StringBuilder(super.toString());
result.append(" (linkType: ");
result.append(linkType);
result.append(')');
return result.toString();
}
} //WorkSequenceImpl

View file

@ -0,0 +1,234 @@
/**
*/
package simplepdl.util;
import org.eclipse.emf.common.notify.Adapter;
import org.eclipse.emf.common.notify.Notifier;
import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
import org.eclipse.emf.ecore.EObject;
import simplepdl.Guidance;
import simplepdl.ProcessElement;
import simplepdl.Request;
import simplepdl.Resource;
import simplepdl.SimplepdlPackage;
import simplepdl.WorkDefinition;
import simplepdl.WorkSequence;
/**
* <!-- begin-user-doc -->
* The <b>Adapter Factory</b> for the model.
* It provides an adapter <code>createXXX</code> method for each class of the model.
* <!-- end-user-doc -->
* @see simplepdl.SimplepdlPackage
* @generated
*/
public class SimplepdlAdapterFactory extends AdapterFactoryImpl {
/**
* The cached model package.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected static SimplepdlPackage modelPackage;
/**
* Creates an instance of the adapter factory.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public SimplepdlAdapterFactory() {
if (modelPackage == null) {
modelPackage = SimplepdlPackage.eINSTANCE;
}
}
/**
* Returns whether this factory is applicable for the type of the object.
* <!-- begin-user-doc -->
* This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
* <!-- end-user-doc -->
* @return whether this factory is applicable for the type of the object.
* @generated
*/
@Override
public boolean isFactoryForType(Object object) {
if (object == modelPackage) {
return true;
}
if (object instanceof EObject) {
return ((EObject)object).eClass().getEPackage() == modelPackage;
}
return false;
}
/**
* The switch that delegates to the <code>createXXX</code> methods.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected SimplepdlSwitch<Adapter> modelSwitch =
new SimplepdlSwitch<Adapter>() {
@Override
public Adapter caseProcessElement(ProcessElement object) {
return createProcessElementAdapter();
}
@Override
public Adapter caseWorkDefinition(WorkDefinition object) {
return createWorkDefinitionAdapter();
}
@Override
public Adapter caseWorkSequence(WorkSequence object) {
return createWorkSequenceAdapter();
}
@Override
public Adapter caseGuidance(Guidance object) {
return createGuidanceAdapter();
}
@Override
public Adapter caseProcess(simplepdl.Process object) {
return createProcessAdapter();
}
@Override
public Adapter caseRequest(Request object) {
return createRequestAdapter();
}
@Override
public Adapter caseResource(Resource object) {
return createResourceAdapter();
}
@Override
public Adapter defaultCase(EObject object) {
return createEObjectAdapter();
}
};
/**
* Creates an adapter for the <code>target</code>.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param target the object to adapt.
* @return the adapter for the <code>target</code>.
* @generated
*/
@Override
public Adapter createAdapter(Notifier target) {
return modelSwitch.doSwitch((EObject)target);
}
/**
* Creates a new adapter for an object of class '{@link simplepdl.ProcessElement <em>Process Element</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
* @see simplepdl.ProcessElement
* @generated
*/
public Adapter createProcessElementAdapter() {
return null;
}
/**
* Creates a new adapter for an object of class '{@link simplepdl.WorkDefinition <em>Work Definition</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
* @see simplepdl.WorkDefinition
* @generated
*/
public Adapter createWorkDefinitionAdapter() {
return null;
}
/**
* Creates a new adapter for an object of class '{@link simplepdl.WorkSequence <em>Work Sequence</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
* @see simplepdl.WorkSequence
* @generated
*/
public Adapter createWorkSequenceAdapter() {
return null;
}
/**
* Creates a new adapter for an object of class '{@link simplepdl.Guidance <em>Guidance</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
* @see simplepdl.Guidance
* @generated
*/
public Adapter createGuidanceAdapter() {
return null;
}
/**
* Creates a new adapter for an object of class '{@link simplepdl.Process <em>Process</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
* @see simplepdl.Process
* @generated
*/
public Adapter createProcessAdapter() {
return null;
}
/**
* Creates a new adapter for an object of class '{@link simplepdl.Request <em>Request</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
* @see simplepdl.Request
* @generated
*/
public Adapter createRequestAdapter() {
return null;
}
/**
* Creates a new adapter for an object of class '{@link simplepdl.Resource <em>Resource</em>}'.
* <!-- begin-user-doc -->
* This default implementation returns null so that we can easily ignore cases;
* it's useful to ignore a case when inheritance will catch all the cases anyway.
* <!-- end-user-doc -->
* @return the new adapter.
* @see simplepdl.Resource
* @generated
*/
public Adapter createResourceAdapter() {
return null;
}
/**
* Creates a new adapter for the default case.
* <!-- begin-user-doc -->
* This default implementation returns null.
* <!-- end-user-doc -->
* @return the new adapter.
* @generated
*/
public Adapter createEObjectAdapter() {
return null;
}
} //SimplepdlAdapterFactory

View file

@ -0,0 +1,246 @@
/**
*/
package simplepdl.util;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.util.Switch;
import simplepdl.Guidance;
import simplepdl.ProcessElement;
import simplepdl.Request;
import simplepdl.Resource;
import simplepdl.SimplepdlPackage;
import simplepdl.WorkDefinition;
import simplepdl.WorkSequence;
/**
* <!-- begin-user-doc -->
* The <b>Switch</b> for the model's inheritance hierarchy.
* It supports the call {@link #doSwitch(EObject) doSwitch(object)}
* to invoke the <code>caseXXX</code> method for each class of the model,
* starting with the actual class of the object
* and proceeding up the inheritance hierarchy
* until a non-null result is returned,
* which is the result of the switch.
* <!-- end-user-doc -->
* @see simplepdl.SimplepdlPackage
* @generated
*/
public class SimplepdlSwitch<T> extends Switch<T> {
/**
* The cached model package
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
protected static SimplepdlPackage modelPackage;
/**
* Creates an instance of the switch.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @generated
*/
public SimplepdlSwitch() {
if (modelPackage == null) {
modelPackage = SimplepdlPackage.eINSTANCE;
}
}
/**
* Checks whether this is a switch for the given package.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @param ePackage the package in question.
* @return whether this is a switch for the given package.
* @generated
*/
@Override
protected boolean isSwitchFor(EPackage ePackage) {
return ePackage == modelPackage;
}
/**
* Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
* <!-- begin-user-doc -->
* <!-- end-user-doc -->
* @return the first non-null result returned by a <code>caseXXX</code> call.
* @generated
*/
@Override
protected T doSwitch(int classifierID, EObject theEObject) {
switch (classifierID) {
case SimplepdlPackage.PROCESS_ELEMENT: {
ProcessElement processElement = (ProcessElement)theEObject;
T result = caseProcessElement(processElement);
if (result == null) result = defaultCase(theEObject);
return result;
}
case SimplepdlPackage.WORK_DEFINITION: {
WorkDefinition workDefinition = (WorkDefinition)theEObject;
T result = caseWorkDefinition(workDefinition);
if (result == null) result = caseProcessElement(workDefinition);
if (result == null) result = defaultCase(theEObject);
return result;
}
case SimplepdlPackage.WORK_SEQUENCE: {
WorkSequence workSequence = (WorkSequence)theEObject;
T result = caseWorkSequence(workSequence);
if (result == null) result = caseProcessElement(workSequence);
if (result == null) result = defaultCase(theEObject);
return result;
}
case SimplepdlPackage.GUIDANCE: {
Guidance guidance = (Guidance)theEObject;
T result = caseGuidance(guidance);
if (result == null) result = caseProcessElement(guidance);
if (result == null) result = defaultCase(theEObject);
return result;
}
case SimplepdlPackage.PROCESS: {
simplepdl.Process process = (simplepdl.Process)theEObject;
T result = caseProcess(process);
if (result == null) result = defaultCase(theEObject);
return result;
}
case SimplepdlPackage.REQUEST: {
Request request = (Request)theEObject;
T result = caseRequest(request);
if (result == null) result = defaultCase(theEObject);
return result;
}
case SimplepdlPackage.RESOURCE: {
Resource resource = (Resource)theEObject;
T result = caseResource(resource);
if (result == null) result = caseProcessElement(resource);
if (result == null) result = defaultCase(theEObject);
return result;
}
default: return defaultCase(theEObject);
}
}
/**
* Returns the result of interpreting the object as an instance of '<em>Process Element</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Process Element</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseProcessElement(ProcessElement object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Work Definition</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Work Definition</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseWorkDefinition(WorkDefinition object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Work Sequence</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Work Sequence</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseWorkSequence(WorkSequence object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Guidance</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Guidance</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseGuidance(Guidance object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Process</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Process</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseProcess(simplepdl.Process object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Request</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Request</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseRequest(Request object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>Resource</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>Resource</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
* @generated
*/
public T caseResource(Resource object) {
return null;
}
/**
* Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
* <!-- begin-user-doc -->
* This implementation returns null;
* returning a non-null result will terminate the switch, but this is the last case anyway.
* <!-- end-user-doc -->
* @param object the target of the switch.
* @return the result of interpreting the object as an instance of '<em>EObject</em>'.
* @see #doSwitch(org.eclipse.emf.ecore.EObject)
* @generated
*/
@Override
public T defaultCase(EObject object) {
return null;
}
} //SimplepdlSwitch