diff options
author | 2020-04-27 10:45:28 -0400 | |
---|---|---|
committer | 2020-04-27 10:45:28 -0400 | |
commit | 36ca60e5b6bd047a4f444d96241bd60a01bbab17 (patch) | |
tree | 472ee15861945af6b7056d19250734ffab4c3aef /Tests/MODELS2020-CaseStudies/case.study.familyTree.model | |
parent | Merge branch 'Attribute-Solver' (diff) | |
download | VIATRA-Generator-36ca60e5b6bd047a4f444d96241bd60a01bbab17.tar.gz VIATRA-Generator-36ca60e5b6bd047a4f444d96241bd60a01bbab17.tar.zst VIATRA-Generator-36ca60e5b6bd047a4f444d96241bd60a01bbab17.zip |
rename Pledge Case Studies and add familyTree case study
Diffstat (limited to 'Tests/MODELS2020-CaseStudies/case.study.familyTree.model')
21 files changed, 1929 insertions, 0 deletions
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/.classpath b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/.classpath new file mode 100644 index 00000000..b862a296 --- /dev/null +++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/.classpath | |||
@@ -0,0 +1,7 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <classpath> | ||
3 | <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/> | ||
4 | <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/> | ||
5 | <classpathentry kind="src" path="src"/> | ||
6 | <classpathentry kind="output" path="bin"/> | ||
7 | </classpath> | ||
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/.project b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/.project new file mode 100644 index 00000000..f379b9b4 --- /dev/null +++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/.project | |||
@@ -0,0 +1,28 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <projectDescription> | ||
3 | <name>case.study.familyTree.model</name> | ||
4 | <comment></comment> | ||
5 | <projects> | ||
6 | </projects> | ||
7 | <buildSpec> | ||
8 | <buildCommand> | ||
9 | <name>org.eclipse.jdt.core.javabuilder</name> | ||
10 | <arguments> | ||
11 | </arguments> | ||
12 | </buildCommand> | ||
13 | <buildCommand> | ||
14 | <name>org.eclipse.pde.ManifestBuilder</name> | ||
15 | <arguments> | ||
16 | </arguments> | ||
17 | </buildCommand> | ||
18 | <buildCommand> | ||
19 | <name>org.eclipse.pde.SchemaBuilder</name> | ||
20 | <arguments> | ||
21 | </arguments> | ||
22 | </buildCommand> | ||
23 | </buildSpec> | ||
24 | <natures> | ||
25 | <nature>org.eclipse.pde.PluginNature</nature> | ||
26 | <nature>org.eclipse.jdt.core.javanature</nature> | ||
27 | </natures> | ||
28 | </projectDescription> | ||
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/.settings/org.eclipse.jdt.core.prefs b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000..295926d9 --- /dev/null +++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/.settings/org.eclipse.jdt.core.prefs | |||
@@ -0,0 +1,7 @@ | |||
1 | eclipse.preferences.version=1 | ||
2 | org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled | ||
3 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8 | ||
4 | org.eclipse.jdt.core.compiler.compliance=1.8 | ||
5 | org.eclipse.jdt.core.compiler.problem.assertIdentifier=error | ||
6 | org.eclipse.jdt.core.compiler.problem.enumIdentifier=error | ||
7 | org.eclipse.jdt.core.compiler.source=1.8 | ||
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/META-INF/MANIFEST.MF b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/META-INF/MANIFEST.MF new file mode 100644 index 00000000..70360954 --- /dev/null +++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/META-INF/MANIFEST.MF | |||
@@ -0,0 +1,16 @@ | |||
1 | Manifest-Version: 1.0 | ||
2 | Bundle-ManifestVersion: 2 | ||
3 | Bundle-Name: %pluginName | ||
4 | Bundle-SymbolicName: case.study.familyTree.model;singleton:=true | ||
5 | Bundle-Version: 1.0.0.qualifier | ||
6 | Bundle-ClassPath: . | ||
7 | Bundle-Vendor: %providerName | ||
8 | Bundle-Localization: plugin | ||
9 | Automatic-Module-Name: case.study.familyTree.model | ||
10 | Bundle-RequiredExecutionEnvironment: JavaSE-1.8 | ||
11 | Export-Package: familytree, | ||
12 | familytree.impl, | ||
13 | familytree.util | ||
14 | Require-Bundle: org.eclipse.core.runtime, | ||
15 | org.eclipse.emf.ecore;visibility:=reexport | ||
16 | Bundle-ActivationPolicy: lazy | ||
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/build.properties b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/build.properties new file mode 100644 index 00000000..4d3b1827 --- /dev/null +++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/build.properties | |||
@@ -0,0 +1,10 @@ | |||
1 | # | ||
2 | |||
3 | bin.includes = .,\ | ||
4 | model/,\ | ||
5 | META-INF/,\ | ||
6 | plugin.xml,\ | ||
7 | plugin.properties | ||
8 | jars.compile.order = . | ||
9 | source.. = src/ | ||
10 | output.. = bin/ | ||
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/model/FamilyTree.xmi b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/model/FamilyTree.xmi new file mode 100644 index 00000000..066b286f --- /dev/null +++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/model/FamilyTree.xmi | |||
@@ -0,0 +1,3 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <familytree:FamilyTree xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
3 | xmlns:familytree="http://www.example.org/familytree" xsi:schemaLocation="http://www.example.org/familytree familytree.ecore"/> | ||
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/model/familytree.aird b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/model/familytree.aird new file mode 100644 index 00000000..f2980c32 --- /dev/null +++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/model/familytree.aird | |||
@@ -0,0 +1,159 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <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.2/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"> | ||
3 | <viewpoint:DAnalysis uid="_lkFqkDsLEeqkYdt9h49cMw" selectedViews="_mCqc8DsLEeqkYdt9h49cMw" version="14.3.0.201909031200"> | ||
4 | <semanticResources>familytree.ecore</semanticResources> | ||
5 | <ownedViews xmi:type="viewpoint:DView" uid="_mCqc8DsLEeqkYdt9h49cMw"> | ||
6 | <viewpoint xmi:type="description:Viewpoint" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']"/> | ||
7 | <ownedRepresentationDescriptors xmi:type="viewpoint:DRepresentationDescriptor" uid="_mMIiADsLEeqkYdt9h49cMw" name="familytree" repPath="#_mGB6ADsLEeqkYdt9h49cMw"> | ||
8 | <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/> | ||
9 | <target xmi:type="ecore:EPackage" href="familytree.ecore#/"/> | ||
10 | </ownedRepresentationDescriptors> | ||
11 | </ownedViews> | ||
12 | </viewpoint:DAnalysis> | ||
13 | <diagram:DSemanticDiagram uid="_mGB6ADsLEeqkYdt9h49cMw"> | ||
14 | <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_mMCbYDsLEeqkYdt9h49cMw" source="DANNOTATION_CUSTOMIZATION_KEY"> | ||
15 | <data xmi:type="diagram:ComputedStyleDescriptionRegistry" uid="_mMDCcDsLEeqkYdt9h49cMw"> | ||
16 | <computedStyleDescriptions xmi:type="style:EdgeStyleDescription" xmi:id="_aZCDMDsSEeqkYdt9h49cMw" sourceArrow="FillDiamond" routingStyle="manhattan"> | ||
17 | <strokeColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> | ||
18 | <centerLabelStyleDescription xmi:type="style:CenterLabelStyleDescription" xmi:id="_aZCDMTsSEeqkYdt9h49cMw" showIcon="false" labelExpression="service:render"> | ||
19 | <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/> | ||
20 | </centerLabelStyleDescription> | ||
21 | <endLabelStyleDescription xmi:type="style:EndLabelStyleDescription" xmi:id="_aZCDMjsSEeqkYdt9h49cMw" labelSize="6" showIcon="false" labelExpression="service:eKeysLabel"> | ||
22 | <labelColor xmi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/> | ||
23 | </endLabelStyleDescription> | ||
24 | </computedStyleDescriptions> | ||
25 | </data> | ||
26 | </ownedAnnotationEntries> | ||
27 | <ownedAnnotationEntries xmi:type="description:AnnotationEntry" uid="_mNJOoDsLEeqkYdt9h49cMw" source="GMF_DIAGRAMS"> | ||
28 | <data xmi:type="notation:Diagram" xmi:id="_mNJOoTsLEeqkYdt9h49cMw" type="Sirius" element="_mGB6ADsLEeqkYdt9h49cMw" measurementUnit="Pixel"> | ||
29 | <children xmi:type="notation:Node" xmi:id="_Vt3KADsREeqkYdt9h49cMw" type="2003" element="_Vs0oMDsREeqkYdt9h49cMw"> | ||
30 | <children xmi:type="notation:Node" xmi:id="_VuD-UDsREeqkYdt9h49cMw" type="5007"/> | ||
31 | <children xmi:type="notation:Node" xmi:id="_VuFMcDsREeqkYdt9h49cMw" type="7004"> | ||
32 | <styles xmi:type="notation:SortingStyle" xmi:id="_VuFMcTsREeqkYdt9h49cMw"/> | ||
33 | <styles xmi:type="notation:FilteringStyle" xmi:id="_VuFMcjsREeqkYdt9h49cMw"/> | ||
34 | </children> | ||
35 | <styles xmi:type="notation:ShapeStyle" xmi:id="_Vt3KATsREeqkYdt9h49cMw" fontName="Segoe UI" fontHeight="8"/> | ||
36 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vt3KAjsREeqkYdt9h49cMw" x="120" y="144" width="111" height="87"/> | ||
37 | </children> | ||
38 | <children xmi:type="notation:Node" xmi:id="_aa12gDsREeqkYdt9h49cMw" type="2003" element="_aaZxoDsREeqkYdt9h49cMw"> | ||
39 | <children xmi:type="notation:Node" xmi:id="_aa3rsDsREeqkYdt9h49cMw" type="5007"/> | ||
40 | <children xmi:type="notation:Node" xmi:id="_aa4SwDsREeqkYdt9h49cMw" type="7004"> | ||
41 | <children xmi:type="notation:Node" xmi:id="_dkHUkDsREeqkYdt9h49cMw" type="3010" element="_djV4gDsREeqkYdt9h49cMw"> | ||
42 | <styles xmi:type="notation:FontStyle" xmi:id="_dkHUkTsREeqkYdt9h49cMw" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/> | ||
43 | <layoutConstraint xmi:type="notation:Location" xmi:id="_dkHUkjsREeqkYdt9h49cMw"/> | ||
44 | </children> | ||
45 | <children xmi:type="notation:Node" xmi:id="_7h4v4DsREeqkYdt9h49cMw" type="3010" element="_7hUIIDsREeqkYdt9h49cMw"> | ||
46 | <styles xmi:type="notation:FontStyle" xmi:id="_7h4v4TsREeqkYdt9h49cMw" fontColor="2697711" fontName="Segoe UI" fontHeight="8"/> | ||
47 | <layoutConstraint xmi:type="notation:Location" xmi:id="_7h4v4jsREeqkYdt9h49cMw"/> | ||
48 | </children> | ||
49 | <styles xmi:type="notation:SortingStyle" xmi:id="_aa4SwTsREeqkYdt9h49cMw"/> | ||
50 | <styles xmi:type="notation:FilteringStyle" xmi:id="_aa4SwjsREeqkYdt9h49cMw"/> | ||
51 | </children> | ||
52 | <styles xmi:type="notation:ShapeStyle" xmi:id="_aa12gTsREeqkYdt9h49cMw" fontName="Segoe UI" fontHeight="8"/> | ||
53 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aa12gjsREeqkYdt9h49cMw" x="372" y="144" width="147" height="111"/> | ||
54 | </children> | ||
55 | <styles xmi:type="notation:DiagramStyle" xmi:id="_mNJOojsLEeqkYdt9h49cMw"/> | ||
56 | <edges xmi:type="notation:Edge" xmi:id="_aZ6M8DsSEeqkYdt9h49cMw" type="4001" element="_aY6ucDsSEeqkYdt9h49cMw" source="_Vt3KADsREeqkYdt9h49cMw" target="_aa12gDsREeqkYdt9h49cMw"> | ||
57 | <children xmi:type="notation:Node" xmi:id="_aZ93UDsSEeqkYdt9h49cMw" type="6001"> | ||
58 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aZ93UTsSEeqkYdt9h49cMw" x="20" y="7"/> | ||
59 | </children> | ||
60 | <children xmi:type="notation:Node" xmi:id="_aZ_sgDsSEeqkYdt9h49cMw" type="6002"> | ||
61 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aaATkDsSEeqkYdt9h49cMw" x="59" y="10"/> | ||
62 | </children> | ||
63 | <children xmi:type="notation:Node" xmi:id="_aaBhsDsSEeqkYdt9h49cMw" type="6003"> | ||
64 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aaBhsTsSEeqkYdt9h49cMw" x="1" y="10"/> | ||
65 | </children> | ||
66 | <styles xmi:type="notation:ConnectorStyle" xmi:id="_aZ6M8TsSEeqkYdt9h49cMw" routing="Rectilinear"/> | ||
67 | <styles xmi:type="notation:FontStyle" xmi:id="_aZ6M8jsSEeqkYdt9h49cMw" fontColor="7490599" fontName="Segoe UI" fontHeight="8"/> | ||
68 | <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_aZ6M8zsSEeqkYdt9h49cMw" points="[0, 0, -143, 0]$[143, 0, 0, 0]"/> | ||
69 | <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_aaMg0DsSEeqkYdt9h49cMw" id="(1.0,0.1411764705882353)"/> | ||
70 | <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_aaMg0TsSEeqkYdt9h49cMw" id="(0.0,0.11009174311926606)"/> | ||
71 | </edges> | ||
72 | <edges xmi:type="notation:Edge" xmi:id="_2qcDUDsSEeqkYdt9h49cMw" type="4001" element="_2p6e4DsSEeqkYdt9h49cMw" source="_aa12gDsREeqkYdt9h49cMw" target="_aa12gDsREeqkYdt9h49cMw"> | ||
73 | <children xmi:type="notation:Node" xmi:id="_2qdRcDsSEeqkYdt9h49cMw" type="6001"> | ||
74 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2qdRcTsSEeqkYdt9h49cMw" y="-10"/> | ||
75 | </children> | ||
76 | <children xmi:type="notation:Node" xmi:id="_2qdRcjsSEeqkYdt9h49cMw" type="6002"> | ||
77 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2qdRczsSEeqkYdt9h49cMw" x="-15" y="-26"/> | ||
78 | </children> | ||
79 | <children xmi:type="notation:Node" xmi:id="_2qdRdDsSEeqkYdt9h49cMw" type="6003"> | ||
80 | <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2qd4gDsSEeqkYdt9h49cMw" x="43" y="22"/> | ||
81 | </children> | ||
82 | <styles xmi:type="notation:ConnectorStyle" xmi:id="_2qcDUTsSEeqkYdt9h49cMw" routing="Rectilinear"/> | ||
83 | <styles xmi:type="notation:FontStyle" xmi:id="_2qcDUjsSEeqkYdt9h49cMw" fontName="Segoe UI" fontHeight="8"/> | ||
84 | <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_2qcDUzsSEeqkYdt9h49cMw" points="[39, 55, 3, 55]$[77, 55, 41, 55]$[77, 149, 41, 149]$[-36, 149, -72, 149]$[-36, 109, -72, 109]"/> | ||
85 | <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2qyooDsSEeqkYdt9h49cMw" id="(0.7448275862068966,0.0)"/> | ||
86 | <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2qyooTsSEeqkYdt9h49cMw" id="(0.993103448275862,0.0)"/> | ||
87 | </edges> | ||
88 | </data> | ||
89 | </ownedAnnotationEntries> | ||
90 | <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_Vs0oMDsREeqkYdt9h49cMw" name="FamilyTree" tooltipText="" outgoingEdges="_aY6ucDsSEeqkYdt9h49cMw" width="12" height="10"> | ||
91 | <target xmi:type="ecore:EClass" href="familytree.ecore#//FamilyTree"/> | ||
92 | <semanticElements xmi:type="ecore:EClass" href="familytree.ecore#//FamilyTree"/> | ||
93 | <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> | ||
94 | <arrangeConstraints>KEEP_SIZE</arrangeConstraints> | ||
95 | <arrangeConstraints>KEEP_RATIO</arrangeConstraints> | ||
96 | <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_VtO34DsREeqkYdt9h49cMw" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> | ||
97 | <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"/> | ||
98 | </ownedStyle> | ||
99 | <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']"/> | ||
100 | </ownedDiagramElements> | ||
101 | <ownedDiagramElements xmi:type="diagram:DNodeList" uid="_aaZxoDsREeqkYdt9h49cMw" name="Member" tooltipText="" outgoingEdges="_2p6e4DsSEeqkYdt9h49cMw" incomingEdges="_aY6ucDsSEeqkYdt9h49cMw _2p6e4DsSEeqkYdt9h49cMw" width="12" height="10"> | ||
102 | <target xmi:type="ecore:EClass" href="familytree.ecore#//Member"/> | ||
103 | <semanticElements xmi:type="ecore:EClass" href="familytree.ecore#//Member"/> | ||
104 | <arrangeConstraints>KEEP_LOCATION</arrangeConstraints> | ||
105 | <arrangeConstraints>KEEP_SIZE</arrangeConstraints> | ||
106 | <arrangeConstraints>KEEP_RATIO</arrangeConstraints> | ||
107 | <ownedStyle xmi:type="diagram:FlatContainerStyle" uid="_BKuAoDsSEeqkYdt9h49cMw" borderSize="1" borderSizeComputationExpression="1" backgroundStyle="Liquid" foregroundColor="255,252,216"> | ||
108 | <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"/> | ||
109 | </ownedStyle> | ||
110 | <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']"/> | ||
111 | <ownedElements xmi:type="diagram:DNodeListElement" uid="_djV4gDsREeqkYdt9h49cMw" name="name : EString" tooltipText=""> | ||
112 | <target xmi:type="ecore:EAttribute" href="familytree.ecore#//Member/name"/> | ||
113 | <semanticElements xmi:type="ecore:EAttribute" href="familytree.ecore#//Member/name"/> | ||
114 | <ownedStyle xmi:type="diagram:BundledImage" uid="_hCW9ETsREeqkYdt9h49cMw" labelAlignment="LEFT"> | ||
115 | <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"/> | ||
116 | </ownedStyle> | ||
117 | <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']"/> | ||
118 | </ownedElements> | ||
119 | <ownedElements xmi:type="diagram:DNodeListElement" uid="_7hUIIDsREeqkYdt9h49cMw" name="age : EInt = 0" tooltipText=""> | ||
120 | <target xmi:type="ecore:EAttribute" href="familytree.ecore#//Member/age"/> | ||
121 | <semanticElements xmi:type="ecore:EAttribute" href="familytree.ecore#//Member/age"/> | ||
122 | <ownedStyle xmi:type="diagram:BundledImage" uid="_P9E9gTsZEeqzD6SBN6r2Uw" labelAlignment="LEFT"> | ||
123 | <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"/> | ||
124 | </ownedStyle> | ||
125 | <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']"/> | ||
126 | </ownedElements> | ||
127 | </ownedDiagramElements> | ||
128 | <ownedDiagramElements xmi:type="diagram:DEdge" uid="_aY6ucDsSEeqkYdt9h49cMw" name="[0..*] members" sourceNode="_Vs0oMDsREeqkYdt9h49cMw" targetNode="_aaZxoDsREeqkYdt9h49cMw"> | ||
129 | <target xmi:type="ecore:EReference" href="familytree.ecore#//FamilyTree/members"/> | ||
130 | <semanticElements xmi:type="ecore:EReference" href="familytree.ecore#//FamilyTree/members"/> | ||
131 | <ownedStyle xmi:type="diagram:EdgeStyle" uid="_aZCDMzsSEeqkYdt9h49cMw" description="_aZCDMDsSEeqkYdt9h49cMw" sourceArrow="FillDiamond" routingStyle="manhattan" strokeColor="0,0,0"> | ||
132 | <centerLabelStyle xmi:type="diagram:CenterLabelStyle" uid="_aZCDNTsSEeqkYdt9h49cMw" showIcon="false"> | ||
133 | <customFeatures>labelSize</customFeatures> | ||
134 | </centerLabelStyle> | ||
135 | <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_aZCDNDsSEeqkYdt9h49cMw" showIcon="false" labelColor="39,76,114"> | ||
136 | <customFeatures>labelSize</customFeatures> | ||
137 | </endLabelStyle> | ||
138 | </ownedStyle> | ||
139 | <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']"/> | ||
140 | </ownedDiagramElements> | ||
141 | <ownedDiagramElements xmi:type="diagram:DEdge" uid="_2p6e4DsSEeqkYdt9h49cMw" sourceNode="_aaZxoDsREeqkYdt9h49cMw" targetNode="_aaZxoDsREeqkYdt9h49cMw" beginLabel="[0..2] parents" endLabel="[0..*] children"> | ||
142 | <target xmi:type="ecore:EReference" href="familytree.ecore#//Member/children"/> | ||
143 | <semanticElements xmi:type="ecore:EReference" href="familytree.ecore#//Member/children"/> | ||
144 | <semanticElements xmi:type="ecore:EReference" href="familytree.ecore#//Member/parents"/> | ||
145 | <ownedStyle xmi:type="diagram:EdgeStyle" uid="_2p9iMDsSEeqkYdt9h49cMw" sourceArrow="InputArrow" routingStyle="manhattan" strokeColor="0,0,0"> | ||
146 | <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='Bi-directional%20EC_EReference%20']/@style"/> | ||
147 | <beginLabelStyle xmi:type="diagram:BeginLabelStyle" uid="_2p9iMTsSEeqkYdt9h49cMw" showIcon="false"/> | ||
148 | <endLabelStyle xmi:type="diagram:EndLabelStyle" uid="_2p9iMjsSEeqkYdt9h49cMw" showIcon="false"/> | ||
149 | </ownedStyle> | ||
150 | <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='Bi-directional%20EC_EReference%20']"/> | ||
151 | </ownedDiagramElements> | ||
152 | <description xmi:type="description_1:DiagramDescription" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']"/> | ||
153 | <filterVariableHistory xmi:type="diagram:FilterVariableHistory" uid="_mHAKYDsLEeqkYdt9h49cMw"/> | ||
154 | <activatedLayers xmi:type="description_1:Layer" href="platform:/plugin/org.eclipse.emf.ecoretools.design/description/ecore.odesign#//@ownedViewpoints[name='Design']/@ownedRepresentations[name='Entities']/@defaultLayer"/> | ||
155 | <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']"/> | ||
156 | <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']"/> | ||
157 | <target xmi:type="ecore:EPackage" href="familytree.ecore#/"/> | ||
158 | </diagram:DSemanticDiagram> | ||
159 | </xmi:XMI> | ||
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/model/familytree.ecore b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/model/familytree.ecore new file mode 100644 index 00000000..f2e51f65 --- /dev/null +++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/model/familytree.ecore | |||
@@ -0,0 +1,17 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
3 | xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="familytree" nsURI="http://www.example.org/familytree" nsPrefix="familytree"> | ||
4 | <eClassifiers xsi:type="ecore:EClass" name="FamilyTree"> | ||
5 | <eStructuralFeatures xsi:type="ecore:EReference" name="members" upperBound="-1" | ||
6 | eType="#//Member" containment="true"/> | ||
7 | </eClassifiers> | ||
8 | <eClassifiers xsi:type="ecore:EClass" name="Member"> | ||
9 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/> | ||
10 | <eStructuralFeatures xsi:type="ecore:EAttribute" name="age" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt" | ||
11 | defaultValueLiteral="0"/> | ||
12 | <eStructuralFeatures xsi:type="ecore:EReference" name="children" upperBound="-1" | ||
13 | eType="#//Member" eOpposite="#//Member/parents"/> | ||
14 | <eStructuralFeatures xsi:type="ecore:EReference" name="parents" upperBound="2" | ||
15 | eType="#//Member" eOpposite="#//Member/children"/> | ||
16 | </eClassifiers> | ||
17 | </ecore:EPackage> | ||
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/model/familytree.genmodel b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/model/familytree.genmodel new file mode 100644 index 00000000..29f5fc02 --- /dev/null +++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/model/familytree.genmodel | |||
@@ -0,0 +1,33 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <genmodel:GenModel xmi:version="2.0" | ||
3 | xmlns:xmi="http://www.omg.org/XMI" | ||
4 | xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" | ||
5 | xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" | ||
6 | modelDirectory="/case.study.familyTree.model/src" | ||
7 | modelPluginID="case.study.familyTree.model" modelName="Familytree" | ||
8 | rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container" | ||
9 | importerID="org.eclipse.emf.importer.ecore" complianceLevel="8.0" | ||
10 | copyrightFields="false" operationReflection="true" | ||
11 | importOrganizing="true"> | ||
12 | <foreignModel>familytree.ecore</foreignModel> | ||
13 | <genPackages prefix="Familytree" | ||
14 | disposableProviderFactory="true" ecorePackage="familytree.ecore#/"> | ||
15 | <genClasses ecoreClass="familytree.ecore#//FamilyTree"> | ||
16 | <genFeatures property="None" children="true" | ||
17 | createChild="true" | ||
18 | ecoreFeature="ecore:EReference familytree.ecore#//FamilyTree/members" /> | ||
19 | </genClasses> | ||
20 | <genClasses ecoreClass="familytree.ecore#//Member"> | ||
21 | <genFeatures createChild="false" | ||
22 | ecoreFeature="ecore:EAttribute familytree.ecore#//Member/name" /> | ||
23 | <genFeatures createChild="false" | ||
24 | ecoreFeature="ecore:EAttribute familytree.ecore#//Member/age" /> | ||
25 | <genFeatures notify="false" createChild="false" | ||
26 | propertySortChoices="true" | ||
27 | ecoreFeature="ecore:EReference familytree.ecore#//Member/children" /> | ||
28 | <genFeatures notify="false" createChild="false" | ||
29 | propertySortChoices="true" | ||
30 | ecoreFeature="ecore:EReference familytree.ecore#//Member/parents" /> | ||
31 | </genClasses> | ||
32 | </genPackages> | ||
33 | </genmodel:GenModel> | ||
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/plugin.properties b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/plugin.properties new file mode 100644 index 00000000..e4710b5f --- /dev/null +++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/plugin.properties | |||
@@ -0,0 +1,4 @@ | |||
1 | # | ||
2 | |||
3 | pluginName = Model | ||
4 | providerName = www.example.org | ||
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/plugin.xml b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/plugin.xml new file mode 100644 index 00000000..a377ea2a --- /dev/null +++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/plugin.xml | |||
@@ -0,0 +1,17 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <?eclipse version="3.0"?> | ||
3 | |||
4 | <!-- | ||
5 | --> | ||
6 | |||
7 | <plugin> | ||
8 | |||
9 | <extension point="org.eclipse.emf.ecore.generated_package"> | ||
10 | <!-- @generated familytree --> | ||
11 | <package | ||
12 | uri="http://www.example.org/familytree" | ||
13 | class="familytree.FamilytreePackage" | ||
14 | genModel="model/familytree.genmodel"/> | ||
15 | </extension> | ||
16 | |||
17 | </plugin> | ||
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/FamilyTree.java b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/FamilyTree.java new file mode 100644 index 00000000..408373a3 --- /dev/null +++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/FamilyTree.java | |||
@@ -0,0 +1,38 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package familytree; | ||
4 | |||
5 | import org.eclipse.emf.common.util.EList; | ||
6 | |||
7 | import org.eclipse.emf.ecore.EObject; | ||
8 | |||
9 | /** | ||
10 | * <!-- begin-user-doc --> | ||
11 | * A representation of the model object '<em><b>Family Tree</b></em>'. | ||
12 | * <!-- end-user-doc --> | ||
13 | * | ||
14 | * <p> | ||
15 | * The following features are supported: | ||
16 | * </p> | ||
17 | * <ul> | ||
18 | * <li>{@link familytree.FamilyTree#getMembers <em>Members</em>}</li> | ||
19 | * </ul> | ||
20 | * | ||
21 | * @see familytree.FamilytreePackage#getFamilyTree() | ||
22 | * @model | ||
23 | * @generated | ||
24 | */ | ||
25 | public interface FamilyTree extends EObject { | ||
26 | /** | ||
27 | * Returns the value of the '<em><b>Members</b></em>' containment reference list. | ||
28 | * The list contents are of type {@link familytree.Member}. | ||
29 | * <!-- begin-user-doc --> | ||
30 | * <!-- end-user-doc --> | ||
31 | * @return the value of the '<em>Members</em>' containment reference list. | ||
32 | * @see familytree.FamilytreePackage#getFamilyTree_Members() | ||
33 | * @model containment="true" | ||
34 | * @generated | ||
35 | */ | ||
36 | EList<Member> getMembers(); | ||
37 | |||
38 | } // FamilyTree | ||
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/FamilytreeFactory.java b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/FamilytreeFactory.java new file mode 100644 index 00000000..534da223 --- /dev/null +++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/FamilytreeFactory.java | |||
@@ -0,0 +1,51 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package familytree; | ||
4 | |||
5 | import org.eclipse.emf.ecore.EFactory; | ||
6 | |||
7 | /** | ||
8 | * <!-- begin-user-doc --> | ||
9 | * The <b>Factory</b> for the model. | ||
10 | * It provides a create method for each non-abstract class of the model. | ||
11 | * <!-- end-user-doc --> | ||
12 | * @see familytree.FamilytreePackage | ||
13 | * @generated | ||
14 | */ | ||
15 | public interface FamilytreeFactory extends EFactory { | ||
16 | /** | ||
17 | * The singleton instance of the factory. | ||
18 | * <!-- begin-user-doc --> | ||
19 | * <!-- end-user-doc --> | ||
20 | * @generated | ||
21 | */ | ||
22 | FamilytreeFactory eINSTANCE = familytree.impl.FamilytreeFactoryImpl.init(); | ||
23 | |||
24 | /** | ||
25 | * Returns a new object of class '<em>Family Tree</em>'. | ||
26 | * <!-- begin-user-doc --> | ||
27 | * <!-- end-user-doc --> | ||
28 | * @return a new object of class '<em>Family Tree</em>'. | ||
29 | * @generated | ||
30 | */ | ||
31 | FamilyTree createFamilyTree(); | ||
32 | |||
33 | /** | ||
34 | * Returns a new object of class '<em>Member</em>'. | ||
35 | * <!-- begin-user-doc --> | ||
36 | * <!-- end-user-doc --> | ||
37 | * @return a new object of class '<em>Member</em>'. | ||
38 | * @generated | ||
39 | */ | ||
40 | Member createMember(); | ||
41 | |||
42 | /** | ||
43 | * Returns the package supported by this factory. | ||
44 | * <!-- begin-user-doc --> | ||
45 | * <!-- end-user-doc --> | ||
46 | * @return the package supported by this factory. | ||
47 | * @generated | ||
48 | */ | ||
49 | FamilytreePackage getFamilytreePackage(); | ||
50 | |||
51 | } //FamilytreeFactory | ||
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/FamilytreePackage.java b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/FamilytreePackage.java new file mode 100644 index 00000000..572a0fe4 --- /dev/null +++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/FamilytreePackage.java | |||
@@ -0,0 +1,321 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package familytree; | ||
4 | |||
5 | import org.eclipse.emf.ecore.EAttribute; | ||
6 | import org.eclipse.emf.ecore.EClass; | ||
7 | import org.eclipse.emf.ecore.EPackage; | ||
8 | import org.eclipse.emf.ecore.EReference; | ||
9 | |||
10 | /** | ||
11 | * <!-- begin-user-doc --> | ||
12 | * The <b>Package</b> for the model. | ||
13 | * It contains accessors for the meta objects to represent | ||
14 | * <ul> | ||
15 | * <li>each class,</li> | ||
16 | * <li>each feature of each class,</li> | ||
17 | * <li>each operation of each class,</li> | ||
18 | * <li>each enum,</li> | ||
19 | * <li>and each data type</li> | ||
20 | * </ul> | ||
21 | * <!-- end-user-doc --> | ||
22 | * @see familytree.FamilytreeFactory | ||
23 | * @model kind="package" | ||
24 | * @generated | ||
25 | */ | ||
26 | public interface FamilytreePackage extends EPackage { | ||
27 | /** | ||
28 | * The package name. | ||
29 | * <!-- begin-user-doc --> | ||
30 | * <!-- end-user-doc --> | ||
31 | * @generated | ||
32 | */ | ||
33 | String eNAME = "familytree"; | ||
34 | |||
35 | /** | ||
36 | * The package namespace URI. | ||
37 | * <!-- begin-user-doc --> | ||
38 | * <!-- end-user-doc --> | ||
39 | * @generated | ||
40 | */ | ||
41 | String eNS_URI = "http://www.example.org/familytree"; | ||
42 | |||
43 | /** | ||
44 | * The package namespace name. | ||
45 | * <!-- begin-user-doc --> | ||
46 | * <!-- end-user-doc --> | ||
47 | * @generated | ||
48 | */ | ||
49 | String eNS_PREFIX = "familytree"; | ||
50 | |||
51 | /** | ||
52 | * The singleton instance of the package. | ||
53 | * <!-- begin-user-doc --> | ||
54 | * <!-- end-user-doc --> | ||
55 | * @generated | ||
56 | */ | ||
57 | FamilytreePackage eINSTANCE = familytree.impl.FamilytreePackageImpl.init(); | ||
58 | |||
59 | /** | ||
60 | * The meta object id for the '{@link familytree.impl.FamilyTreeImpl <em>Family Tree</em>}' class. | ||
61 | * <!-- begin-user-doc --> | ||
62 | * <!-- end-user-doc --> | ||
63 | * @see familytree.impl.FamilyTreeImpl | ||
64 | * @see familytree.impl.FamilytreePackageImpl#getFamilyTree() | ||
65 | * @generated | ||
66 | */ | ||
67 | int FAMILY_TREE = 0; | ||
68 | |||
69 | /** | ||
70 | * The feature id for the '<em><b>Members</b></em>' containment reference list. | ||
71 | * <!-- begin-user-doc --> | ||
72 | * <!-- end-user-doc --> | ||
73 | * @generated | ||
74 | * @ordered | ||
75 | */ | ||
76 | int FAMILY_TREE__MEMBERS = 0; | ||
77 | |||
78 | /** | ||
79 | * The number of structural features of the '<em>Family Tree</em>' class. | ||
80 | * <!-- begin-user-doc --> | ||
81 | * <!-- end-user-doc --> | ||
82 | * @generated | ||
83 | * @ordered | ||
84 | */ | ||
85 | int FAMILY_TREE_FEATURE_COUNT = 1; | ||
86 | |||
87 | /** | ||
88 | * The number of operations of the '<em>Family Tree</em>' class. | ||
89 | * <!-- begin-user-doc --> | ||
90 | * <!-- end-user-doc --> | ||
91 | * @generated | ||
92 | * @ordered | ||
93 | */ | ||
94 | int FAMILY_TREE_OPERATION_COUNT = 0; | ||
95 | |||
96 | /** | ||
97 | * The meta object id for the '{@link familytree.impl.MemberImpl <em>Member</em>}' class. | ||
98 | * <!-- begin-user-doc --> | ||
99 | * <!-- end-user-doc --> | ||
100 | * @see familytree.impl.MemberImpl | ||
101 | * @see familytree.impl.FamilytreePackageImpl#getMember() | ||
102 | * @generated | ||
103 | */ | ||
104 | int MEMBER = 1; | ||
105 | |||
106 | /** | ||
107 | * The feature id for the '<em><b>Name</b></em>' attribute. | ||
108 | * <!-- begin-user-doc --> | ||
109 | * <!-- end-user-doc --> | ||
110 | * @generated | ||
111 | * @ordered | ||
112 | */ | ||
113 | int MEMBER__NAME = 0; | ||
114 | |||
115 | /** | ||
116 | * The feature id for the '<em><b>Age</b></em>' attribute. | ||
117 | * <!-- begin-user-doc --> | ||
118 | * <!-- end-user-doc --> | ||
119 | * @generated | ||
120 | * @ordered | ||
121 | */ | ||
122 | int MEMBER__AGE = 1; | ||
123 | |||
124 | /** | ||
125 | * The feature id for the '<em><b>Children</b></em>' reference list. | ||
126 | * <!-- begin-user-doc --> | ||
127 | * <!-- end-user-doc --> | ||
128 | * @generated | ||
129 | * @ordered | ||
130 | */ | ||
131 | int MEMBER__CHILDREN = 2; | ||
132 | |||
133 | /** | ||
134 | * The feature id for the '<em><b>Parents</b></em>' reference list. | ||
135 | * <!-- begin-user-doc --> | ||
136 | * <!-- end-user-doc --> | ||
137 | * @generated | ||
138 | * @ordered | ||
139 | */ | ||
140 | int MEMBER__PARENTS = 3; | ||
141 | |||
142 | /** | ||
143 | * The number of structural features of the '<em>Member</em>' class. | ||
144 | * <!-- begin-user-doc --> | ||
145 | * <!-- end-user-doc --> | ||
146 | * @generated | ||
147 | * @ordered | ||
148 | */ | ||
149 | int MEMBER_FEATURE_COUNT = 4; | ||
150 | |||
151 | /** | ||
152 | * The number of operations of the '<em>Member</em>' class. | ||
153 | * <!-- begin-user-doc --> | ||
154 | * <!-- end-user-doc --> | ||
155 | * @generated | ||
156 | * @ordered | ||
157 | */ | ||
158 | int MEMBER_OPERATION_COUNT = 0; | ||
159 | |||
160 | |||
161 | /** | ||
162 | * Returns the meta object for class '{@link familytree.FamilyTree <em>Family Tree</em>}'. | ||
163 | * <!-- begin-user-doc --> | ||
164 | * <!-- end-user-doc --> | ||
165 | * @return the meta object for class '<em>Family Tree</em>'. | ||
166 | * @see familytree.FamilyTree | ||
167 | * @generated | ||
168 | */ | ||
169 | EClass getFamilyTree(); | ||
170 | |||
171 | /** | ||
172 | * Returns the meta object for the containment reference list '{@link familytree.FamilyTree#getMembers <em>Members</em>}'. | ||
173 | * <!-- begin-user-doc --> | ||
174 | * <!-- end-user-doc --> | ||
175 | * @return the meta object for the containment reference list '<em>Members</em>'. | ||
176 | * @see familytree.FamilyTree#getMembers() | ||
177 | * @see #getFamilyTree() | ||
178 | * @generated | ||
179 | */ | ||
180 | EReference getFamilyTree_Members(); | ||
181 | |||
182 | /** | ||
183 | * Returns the meta object for class '{@link familytree.Member <em>Member</em>}'. | ||
184 | * <!-- begin-user-doc --> | ||
185 | * <!-- end-user-doc --> | ||
186 | * @return the meta object for class '<em>Member</em>'. | ||
187 | * @see familytree.Member | ||
188 | * @generated | ||
189 | */ | ||
190 | EClass getMember(); | ||
191 | |||
192 | /** | ||
193 | * Returns the meta object for the attribute '{@link familytree.Member#getName <em>Name</em>}'. | ||
194 | * <!-- begin-user-doc --> | ||
195 | * <!-- end-user-doc --> | ||
196 | * @return the meta object for the attribute '<em>Name</em>'. | ||
197 | * @see familytree.Member#getName() | ||
198 | * @see #getMember() | ||
199 | * @generated | ||
200 | */ | ||
201 | EAttribute getMember_Name(); | ||
202 | |||
203 | /** | ||
204 | * Returns the meta object for the attribute '{@link familytree.Member#getAge <em>Age</em>}'. | ||
205 | * <!-- begin-user-doc --> | ||
206 | * <!-- end-user-doc --> | ||
207 | * @return the meta object for the attribute '<em>Age</em>'. | ||
208 | * @see familytree.Member#getAge() | ||
209 | * @see #getMember() | ||
210 | * @generated | ||
211 | */ | ||
212 | EAttribute getMember_Age(); | ||
213 | |||
214 | /** | ||
215 | * Returns the meta object for the reference list '{@link familytree.Member#getChildren <em>Children</em>}'. | ||
216 | * <!-- begin-user-doc --> | ||
217 | * <!-- end-user-doc --> | ||
218 | * @return the meta object for the reference list '<em>Children</em>'. | ||
219 | * @see familytree.Member#getChildren() | ||
220 | * @see #getMember() | ||
221 | * @generated | ||
222 | */ | ||
223 | EReference getMember_Children(); | ||
224 | |||
225 | /** | ||
226 | * Returns the meta object for the reference list '{@link familytree.Member#getParents <em>Parents</em>}'. | ||
227 | * <!-- begin-user-doc --> | ||
228 | * <!-- end-user-doc --> | ||
229 | * @return the meta object for the reference list '<em>Parents</em>'. | ||
230 | * @see familytree.Member#getParents() | ||
231 | * @see #getMember() | ||
232 | * @generated | ||
233 | */ | ||
234 | EReference getMember_Parents(); | ||
235 | |||
236 | /** | ||
237 | * Returns the factory that creates the instances of the model. | ||
238 | * <!-- begin-user-doc --> | ||
239 | * <!-- end-user-doc --> | ||
240 | * @return the factory that creates the instances of the model. | ||
241 | * @generated | ||
242 | */ | ||
243 | FamilytreeFactory getFamilytreeFactory(); | ||
244 | |||
245 | /** | ||
246 | * <!-- begin-user-doc --> | ||
247 | * Defines literals for the meta objects that represent | ||
248 | * <ul> | ||
249 | * <li>each class,</li> | ||
250 | * <li>each feature of each class,</li> | ||
251 | * <li>each operation of each class,</li> | ||
252 | * <li>each enum,</li> | ||
253 | * <li>and each data type</li> | ||
254 | * </ul> | ||
255 | * <!-- end-user-doc --> | ||
256 | * @generated | ||
257 | */ | ||
258 | interface Literals { | ||
259 | /** | ||
260 | * The meta object literal for the '{@link familytree.impl.FamilyTreeImpl <em>Family Tree</em>}' class. | ||
261 | * <!-- begin-user-doc --> | ||
262 | * <!-- end-user-doc --> | ||
263 | * @see familytree.impl.FamilyTreeImpl | ||
264 | * @see familytree.impl.FamilytreePackageImpl#getFamilyTree() | ||
265 | * @generated | ||
266 | */ | ||
267 | EClass FAMILY_TREE = eINSTANCE.getFamilyTree(); | ||
268 | |||
269 | /** | ||
270 | * The meta object literal for the '<em><b>Members</b></em>' containment reference list feature. | ||
271 | * <!-- begin-user-doc --> | ||
272 | * <!-- end-user-doc --> | ||
273 | * @generated | ||
274 | */ | ||
275 | EReference FAMILY_TREE__MEMBERS = eINSTANCE.getFamilyTree_Members(); | ||
276 | |||
277 | /** | ||
278 | * The meta object literal for the '{@link familytree.impl.MemberImpl <em>Member</em>}' class. | ||
279 | * <!-- begin-user-doc --> | ||
280 | * <!-- end-user-doc --> | ||
281 | * @see familytree.impl.MemberImpl | ||
282 | * @see familytree.impl.FamilytreePackageImpl#getMember() | ||
283 | * @generated | ||
284 | */ | ||
285 | EClass MEMBER = eINSTANCE.getMember(); | ||
286 | |||
287 | /** | ||
288 | * The meta object literal for the '<em><b>Name</b></em>' attribute feature. | ||
289 | * <!-- begin-user-doc --> | ||
290 | * <!-- end-user-doc --> | ||
291 | * @generated | ||
292 | */ | ||
293 | EAttribute MEMBER__NAME = eINSTANCE.getMember_Name(); | ||
294 | |||
295 | /** | ||
296 | * The meta object literal for the '<em><b>Age</b></em>' attribute feature. | ||
297 | * <!-- begin-user-doc --> | ||
298 | * <!-- end-user-doc --> | ||
299 | * @generated | ||
300 | */ | ||
301 | EAttribute MEMBER__AGE = eINSTANCE.getMember_Age(); | ||
302 | |||
303 | /** | ||
304 | * The meta object literal for the '<em><b>Children</b></em>' reference list feature. | ||
305 | * <!-- begin-user-doc --> | ||
306 | * <!-- end-user-doc --> | ||
307 | * @generated | ||
308 | */ | ||
309 | EReference MEMBER__CHILDREN = eINSTANCE.getMember_Children(); | ||
310 | |||
311 | /** | ||
312 | * The meta object literal for the '<em><b>Parents</b></em>' reference list feature. | ||
313 | * <!-- begin-user-doc --> | ||
314 | * <!-- end-user-doc --> | ||
315 | * @generated | ||
316 | */ | ||
317 | EReference MEMBER__PARENTS = eINSTANCE.getMember_Parents(); | ||
318 | |||
319 | } | ||
320 | |||
321 | } //FamilytreePackage | ||
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/Member.java b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/Member.java new file mode 100644 index 00000000..55a6bd1e --- /dev/null +++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/Member.java | |||
@@ -0,0 +1,102 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package familytree; | ||
4 | |||
5 | import org.eclipse.emf.common.util.EList; | ||
6 | |||
7 | import org.eclipse.emf.ecore.EObject; | ||
8 | |||
9 | /** | ||
10 | * <!-- begin-user-doc --> | ||
11 | * A representation of the model object '<em><b>Member</b></em>'. | ||
12 | * <!-- end-user-doc --> | ||
13 | * | ||
14 | * <p> | ||
15 | * The following features are supported: | ||
16 | * </p> | ||
17 | * <ul> | ||
18 | * <li>{@link familytree.Member#getName <em>Name</em>}</li> | ||
19 | * <li>{@link familytree.Member#getAge <em>Age</em>}</li> | ||
20 | * <li>{@link familytree.Member#getChildren <em>Children</em>}</li> | ||
21 | * <li>{@link familytree.Member#getParents <em>Parents</em>}</li> | ||
22 | * </ul> | ||
23 | * | ||
24 | * @see familytree.FamilytreePackage#getMember() | ||
25 | * @model | ||
26 | * @generated | ||
27 | */ | ||
28 | public interface Member extends EObject { | ||
29 | /** | ||
30 | * Returns the value of the '<em><b>Name</b></em>' attribute. | ||
31 | * <!-- begin-user-doc --> | ||
32 | * <!-- end-user-doc --> | ||
33 | * @return the value of the '<em>Name</em>' attribute. | ||
34 | * @see #setName(String) | ||
35 | * @see familytree.FamilytreePackage#getMember_Name() | ||
36 | * @model | ||
37 | * @generated | ||
38 | */ | ||
39 | String getName(); | ||
40 | |||
41 | /** | ||
42 | * Sets the value of the '{@link familytree.Member#getName <em>Name</em>}' attribute. | ||
43 | * <!-- begin-user-doc --> | ||
44 | * <!-- end-user-doc --> | ||
45 | * @param value the new value of the '<em>Name</em>' attribute. | ||
46 | * @see #getName() | ||
47 | * @generated | ||
48 | */ | ||
49 | void setName(String value); | ||
50 | |||
51 | /** | ||
52 | * Returns the value of the '<em><b>Age</b></em>' attribute. | ||
53 | * The default value is <code>"0"</code>. | ||
54 | * <!-- begin-user-doc --> | ||
55 | * <!-- end-user-doc --> | ||
56 | * @return the value of the '<em>Age</em>' attribute. | ||
57 | * @see #setAge(int) | ||
58 | * @see familytree.FamilytreePackage#getMember_Age() | ||
59 | * @model default="0" | ||
60 | * @generated | ||
61 | */ | ||
62 | int getAge(); | ||
63 | |||
64 | /** | ||
65 | * Sets the value of the '{@link familytree.Member#getAge <em>Age</em>}' attribute. | ||
66 | * <!-- begin-user-doc --> | ||
67 | * <!-- end-user-doc --> | ||
68 | * @param value the new value of the '<em>Age</em>' attribute. | ||
69 | * @see #getAge() | ||
70 | * @generated | ||
71 | */ | ||
72 | void setAge(int value); | ||
73 | |||
74 | /** | ||
75 | * Returns the value of the '<em><b>Children</b></em>' reference list. | ||
76 | * The list contents are of type {@link familytree.Member}. | ||
77 | * It is bidirectional and its opposite is '{@link familytree.Member#getParents <em>Parents</em>}'. | ||
78 | * <!-- begin-user-doc --> | ||
79 | * <!-- end-user-doc --> | ||
80 | * @return the value of the '<em>Children</em>' reference list. | ||
81 | * @see familytree.FamilytreePackage#getMember_Children() | ||
82 | * @see familytree.Member#getParents | ||
83 | * @model opposite="parents" | ||
84 | * @generated | ||
85 | */ | ||
86 | EList<Member> getChildren(); | ||
87 | |||
88 | /** | ||
89 | * Returns the value of the '<em><b>Parents</b></em>' reference list. | ||
90 | * The list contents are of type {@link familytree.Member}. | ||
91 | * It is bidirectional and its opposite is '{@link familytree.Member#getChildren <em>Children</em>}'. | ||
92 | * <!-- begin-user-doc --> | ||
93 | * <!-- end-user-doc --> | ||
94 | * @return the value of the '<em>Parents</em>' reference list. | ||
95 | * @see familytree.FamilytreePackage#getMember_Parents() | ||
96 | * @see familytree.Member#getChildren | ||
97 | * @model opposite="children" upper="2" | ||
98 | * @generated | ||
99 | */ | ||
100 | EList<Member> getParents(); | ||
101 | |||
102 | } // Member | ||
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/impl/FamilyTreeImpl.java b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/impl/FamilyTreeImpl.java new file mode 100644 index 00000000..07b0a1dd --- /dev/null +++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/impl/FamilyTreeImpl.java | |||
@@ -0,0 +1,153 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package familytree.impl; | ||
4 | |||
5 | import familytree.FamilyTree; | ||
6 | import familytree.FamilytreePackage; | ||
7 | import familytree.Member; | ||
8 | |||
9 | import java.util.Collection; | ||
10 | |||
11 | import org.eclipse.emf.common.notify.NotificationChain; | ||
12 | |||
13 | import org.eclipse.emf.common.util.EList; | ||
14 | |||
15 | import org.eclipse.emf.ecore.EClass; | ||
16 | import org.eclipse.emf.ecore.InternalEObject; | ||
17 | |||
18 | import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; | ||
19 | |||
20 | import org.eclipse.emf.ecore.util.EObjectContainmentEList; | ||
21 | import org.eclipse.emf.ecore.util.InternalEList; | ||
22 | |||
23 | /** | ||
24 | * <!-- begin-user-doc --> | ||
25 | * An implementation of the model object '<em><b>Family Tree</b></em>'. | ||
26 | * <!-- end-user-doc --> | ||
27 | * <p> | ||
28 | * The following features are implemented: | ||
29 | * </p> | ||
30 | * <ul> | ||
31 | * <li>{@link familytree.impl.FamilyTreeImpl#getMembers <em>Members</em>}</li> | ||
32 | * </ul> | ||
33 | * | ||
34 | * @generated | ||
35 | */ | ||
36 | public class FamilyTreeImpl extends MinimalEObjectImpl.Container implements FamilyTree { | ||
37 | /** | ||
38 | * The cached value of the '{@link #getMembers() <em>Members</em>}' containment reference list. | ||
39 | * <!-- begin-user-doc --> | ||
40 | * <!-- end-user-doc --> | ||
41 | * @see #getMembers() | ||
42 | * @generated | ||
43 | * @ordered | ||
44 | */ | ||
45 | protected EList<Member> members; | ||
46 | |||
47 | /** | ||
48 | * <!-- begin-user-doc --> | ||
49 | * <!-- end-user-doc --> | ||
50 | * @generated | ||
51 | */ | ||
52 | protected FamilyTreeImpl() { | ||
53 | super(); | ||
54 | } | ||
55 | |||
56 | /** | ||
57 | * <!-- begin-user-doc --> | ||
58 | * <!-- end-user-doc --> | ||
59 | * @generated | ||
60 | */ | ||
61 | @Override | ||
62 | protected EClass eStaticClass() { | ||
63 | return FamilytreePackage.Literals.FAMILY_TREE; | ||
64 | } | ||
65 | |||
66 | /** | ||
67 | * <!-- begin-user-doc --> | ||
68 | * <!-- end-user-doc --> | ||
69 | * @generated | ||
70 | */ | ||
71 | @Override | ||
72 | public EList<Member> getMembers() { | ||
73 | if (members == null) { | ||
74 | members = new EObjectContainmentEList<Member>(Member.class, this, FamilytreePackage.FAMILY_TREE__MEMBERS); | ||
75 | } | ||
76 | return members; | ||
77 | } | ||
78 | |||
79 | /** | ||
80 | * <!-- begin-user-doc --> | ||
81 | * <!-- end-user-doc --> | ||
82 | * @generated | ||
83 | */ | ||
84 | @Override | ||
85 | public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { | ||
86 | switch (featureID) { | ||
87 | case FamilytreePackage.FAMILY_TREE__MEMBERS: | ||
88 | return ((InternalEList<?>)getMembers()).basicRemove(otherEnd, msgs); | ||
89 | } | ||
90 | return super.eInverseRemove(otherEnd, featureID, msgs); | ||
91 | } | ||
92 | |||
93 | /** | ||
94 | * <!-- begin-user-doc --> | ||
95 | * <!-- end-user-doc --> | ||
96 | * @generated | ||
97 | */ | ||
98 | @Override | ||
99 | public Object eGet(int featureID, boolean resolve, boolean coreType) { | ||
100 | switch (featureID) { | ||
101 | case FamilytreePackage.FAMILY_TREE__MEMBERS: | ||
102 | return getMembers(); | ||
103 | } | ||
104 | return super.eGet(featureID, resolve, coreType); | ||
105 | } | ||
106 | |||
107 | /** | ||
108 | * <!-- begin-user-doc --> | ||
109 | * <!-- end-user-doc --> | ||
110 | * @generated | ||
111 | */ | ||
112 | @SuppressWarnings("unchecked") | ||
113 | @Override | ||
114 | public void eSet(int featureID, Object newValue) { | ||
115 | switch (featureID) { | ||
116 | case FamilytreePackage.FAMILY_TREE__MEMBERS: | ||
117 | getMembers().clear(); | ||
118 | getMembers().addAll((Collection<? extends Member>)newValue); | ||
119 | return; | ||
120 | } | ||
121 | super.eSet(featureID, newValue); | ||
122 | } | ||
123 | |||
124 | /** | ||
125 | * <!-- begin-user-doc --> | ||
126 | * <!-- end-user-doc --> | ||
127 | * @generated | ||
128 | */ | ||
129 | @Override | ||
130 | public void eUnset(int featureID) { | ||
131 | switch (featureID) { | ||
132 | case FamilytreePackage.FAMILY_TREE__MEMBERS: | ||
133 | getMembers().clear(); | ||
134 | return; | ||
135 | } | ||
136 | super.eUnset(featureID); | ||
137 | } | ||
138 | |||
139 | /** | ||
140 | * <!-- begin-user-doc --> | ||
141 | * <!-- end-user-doc --> | ||
142 | * @generated | ||
143 | */ | ||
144 | @Override | ||
145 | public boolean eIsSet(int featureID) { | ||
146 | switch (featureID) { | ||
147 | case FamilytreePackage.FAMILY_TREE__MEMBERS: | ||
148 | return members != null && !members.isEmpty(); | ||
149 | } | ||
150 | return super.eIsSet(featureID); | ||
151 | } | ||
152 | |||
153 | } //FamilyTreeImpl | ||
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/impl/FamilytreeFactoryImpl.java b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/impl/FamilytreeFactoryImpl.java new file mode 100644 index 00000000..bc54d09c --- /dev/null +++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/impl/FamilytreeFactoryImpl.java | |||
@@ -0,0 +1,109 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package familytree.impl; | ||
4 | |||
5 | import familytree.*; | ||
6 | |||
7 | import org.eclipse.emf.ecore.EClass; | ||
8 | import org.eclipse.emf.ecore.EObject; | ||
9 | import org.eclipse.emf.ecore.EPackage; | ||
10 | |||
11 | import org.eclipse.emf.ecore.impl.EFactoryImpl; | ||
12 | |||
13 | import org.eclipse.emf.ecore.plugin.EcorePlugin; | ||
14 | |||
15 | /** | ||
16 | * <!-- begin-user-doc --> | ||
17 | * An implementation of the model <b>Factory</b>. | ||
18 | * <!-- end-user-doc --> | ||
19 | * @generated | ||
20 | */ | ||
21 | public class FamilytreeFactoryImpl extends EFactoryImpl implements FamilytreeFactory { | ||
22 | /** | ||
23 | * Creates the default factory implementation. | ||
24 | * <!-- begin-user-doc --> | ||
25 | * <!-- end-user-doc --> | ||
26 | * @generated | ||
27 | */ | ||
28 | public static FamilytreeFactory init() { | ||
29 | try { | ||
30 | FamilytreeFactory theFamilytreeFactory = (FamilytreeFactory)EPackage.Registry.INSTANCE.getEFactory(FamilytreePackage.eNS_URI); | ||
31 | if (theFamilytreeFactory != null) { | ||
32 | return theFamilytreeFactory; | ||
33 | } | ||
34 | } | ||
35 | catch (Exception exception) { | ||
36 | EcorePlugin.INSTANCE.log(exception); | ||
37 | } | ||
38 | return new FamilytreeFactoryImpl(); | ||
39 | } | ||
40 | |||
41 | /** | ||
42 | * Creates an instance of the factory. | ||
43 | * <!-- begin-user-doc --> | ||
44 | * <!-- end-user-doc --> | ||
45 | * @generated | ||
46 | */ | ||
47 | public FamilytreeFactoryImpl() { | ||
48 | super(); | ||
49 | } | ||
50 | |||
51 | /** | ||
52 | * <!-- begin-user-doc --> | ||
53 | * <!-- end-user-doc --> | ||
54 | * @generated | ||
55 | */ | ||
56 | @Override | ||
57 | public EObject create(EClass eClass) { | ||
58 | switch (eClass.getClassifierID()) { | ||
59 | case FamilytreePackage.FAMILY_TREE: return createFamilyTree(); | ||
60 | case FamilytreePackage.MEMBER: return createMember(); | ||
61 | default: | ||
62 | throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); | ||
63 | } | ||
64 | } | ||
65 | |||
66 | /** | ||
67 | * <!-- begin-user-doc --> | ||
68 | * <!-- end-user-doc --> | ||
69 | * @generated | ||
70 | */ | ||
71 | @Override | ||
72 | public FamilyTree createFamilyTree() { | ||
73 | FamilyTreeImpl familyTree = new FamilyTreeImpl(); | ||
74 | return familyTree; | ||
75 | } | ||
76 | |||
77 | /** | ||
78 | * <!-- begin-user-doc --> | ||
79 | * <!-- end-user-doc --> | ||
80 | * @generated | ||
81 | */ | ||
82 | @Override | ||
83 | public Member createMember() { | ||
84 | MemberImpl member = new MemberImpl(); | ||
85 | return member; | ||
86 | } | ||
87 | |||
88 | /** | ||
89 | * <!-- begin-user-doc --> | ||
90 | * <!-- end-user-doc --> | ||
91 | * @generated | ||
92 | */ | ||
93 | @Override | ||
94 | public FamilytreePackage getFamilytreePackage() { | ||
95 | return (FamilytreePackage)getEPackage(); | ||
96 | } | ||
97 | |||
98 | /** | ||
99 | * <!-- begin-user-doc --> | ||
100 | * <!-- end-user-doc --> | ||
101 | * @deprecated | ||
102 | * @generated | ||
103 | */ | ||
104 | @Deprecated | ||
105 | public static FamilytreePackage getPackage() { | ||
106 | return FamilytreePackage.eINSTANCE; | ||
107 | } | ||
108 | |||
109 | } //FamilytreeFactoryImpl | ||
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/impl/FamilytreePackageImpl.java b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/impl/FamilytreePackageImpl.java new file mode 100644 index 00000000..0980260e --- /dev/null +++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/impl/FamilytreePackageImpl.java | |||
@@ -0,0 +1,251 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package familytree.impl; | ||
4 | |||
5 | import familytree.FamilyTree; | ||
6 | import familytree.FamilytreeFactory; | ||
7 | import familytree.FamilytreePackage; | ||
8 | import familytree.Member; | ||
9 | |||
10 | import org.eclipse.emf.ecore.EAttribute; | ||
11 | import org.eclipse.emf.ecore.EClass; | ||
12 | import org.eclipse.emf.ecore.EPackage; | ||
13 | import org.eclipse.emf.ecore.EReference; | ||
14 | |||
15 | import org.eclipse.emf.ecore.impl.EPackageImpl; | ||
16 | |||
17 | /** | ||
18 | * <!-- begin-user-doc --> | ||
19 | * An implementation of the model <b>Package</b>. | ||
20 | * <!-- end-user-doc --> | ||
21 | * @generated | ||
22 | */ | ||
23 | public class FamilytreePackageImpl extends EPackageImpl implements FamilytreePackage { | ||
24 | /** | ||
25 | * <!-- begin-user-doc --> | ||
26 | * <!-- end-user-doc --> | ||
27 | * @generated | ||
28 | */ | ||
29 | private EClass familyTreeEClass = null; | ||
30 | |||
31 | /** | ||
32 | * <!-- begin-user-doc --> | ||
33 | * <!-- end-user-doc --> | ||
34 | * @generated | ||
35 | */ | ||
36 | private EClass memberEClass = null; | ||
37 | |||
38 | /** | ||
39 | * Creates an instance of the model <b>Package</b>, registered with | ||
40 | * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package | ||
41 | * package URI value. | ||
42 | * <p>Note: the correct way to create the package is via the static | ||
43 | * factory method {@link #init init()}, which also performs | ||
44 | * initialization of the package, or returns the registered package, | ||
45 | * if one already exists. | ||
46 | * <!-- begin-user-doc --> | ||
47 | * <!-- end-user-doc --> | ||
48 | * @see org.eclipse.emf.ecore.EPackage.Registry | ||
49 | * @see familytree.FamilytreePackage#eNS_URI | ||
50 | * @see #init() | ||
51 | * @generated | ||
52 | */ | ||
53 | private FamilytreePackageImpl() { | ||
54 | super(eNS_URI, FamilytreeFactory.eINSTANCE); | ||
55 | } | ||
56 | |||
57 | /** | ||
58 | * <!-- begin-user-doc --> | ||
59 | * <!-- end-user-doc --> | ||
60 | * @generated | ||
61 | */ | ||
62 | private static boolean isInited = false; | ||
63 | |||
64 | /** | ||
65 | * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends. | ||
66 | * | ||
67 | * <p>This method is used to initialize {@link FamilytreePackage#eINSTANCE} when that field is accessed. | ||
68 | * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package. | ||
69 | * <!-- begin-user-doc --> | ||
70 | * <!-- end-user-doc --> | ||
71 | * @see #eNS_URI | ||
72 | * @see #createPackageContents() | ||
73 | * @see #initializePackageContents() | ||
74 | * @generated | ||
75 | */ | ||
76 | public static FamilytreePackage init() { | ||
77 | if (isInited) return (FamilytreePackage)EPackage.Registry.INSTANCE.getEPackage(FamilytreePackage.eNS_URI); | ||
78 | |||
79 | // Obtain or create and register package | ||
80 | Object registeredFamilytreePackage = EPackage.Registry.INSTANCE.get(eNS_URI); | ||
81 | FamilytreePackageImpl theFamilytreePackage = registeredFamilytreePackage instanceof FamilytreePackageImpl ? (FamilytreePackageImpl)registeredFamilytreePackage : new FamilytreePackageImpl(); | ||
82 | |||
83 | isInited = true; | ||
84 | |||
85 | // Create package meta-data objects | ||
86 | theFamilytreePackage.createPackageContents(); | ||
87 | |||
88 | // Initialize created meta-data | ||
89 | theFamilytreePackage.initializePackageContents(); | ||
90 | |||
91 | // Mark meta-data to indicate it can't be changed | ||
92 | theFamilytreePackage.freeze(); | ||
93 | |||
94 | // Update the registry and return the package | ||
95 | EPackage.Registry.INSTANCE.put(FamilytreePackage.eNS_URI, theFamilytreePackage); | ||
96 | return theFamilytreePackage; | ||
97 | } | ||
98 | |||
99 | /** | ||
100 | * <!-- begin-user-doc --> | ||
101 | * <!-- end-user-doc --> | ||
102 | * @generated | ||
103 | */ | ||
104 | @Override | ||
105 | public EClass getFamilyTree() { | ||
106 | return familyTreeEClass; | ||
107 | } | ||
108 | |||
109 | /** | ||
110 | * <!-- begin-user-doc --> | ||
111 | * <!-- end-user-doc --> | ||
112 | * @generated | ||
113 | */ | ||
114 | @Override | ||
115 | public EReference getFamilyTree_Members() { | ||
116 | return (EReference)familyTreeEClass.getEStructuralFeatures().get(0); | ||
117 | } | ||
118 | |||
119 | /** | ||
120 | * <!-- begin-user-doc --> | ||
121 | * <!-- end-user-doc --> | ||
122 | * @generated | ||
123 | */ | ||
124 | @Override | ||
125 | public EClass getMember() { | ||
126 | return memberEClass; | ||
127 | } | ||
128 | |||
129 | /** | ||
130 | * <!-- begin-user-doc --> | ||
131 | * <!-- end-user-doc --> | ||
132 | * @generated | ||
133 | */ | ||
134 | @Override | ||
135 | public EAttribute getMember_Name() { | ||
136 | return (EAttribute)memberEClass.getEStructuralFeatures().get(0); | ||
137 | } | ||
138 | |||
139 | /** | ||
140 | * <!-- begin-user-doc --> | ||
141 | * <!-- end-user-doc --> | ||
142 | * @generated | ||
143 | */ | ||
144 | @Override | ||
145 | public EAttribute getMember_Age() { | ||
146 | return (EAttribute)memberEClass.getEStructuralFeatures().get(1); | ||
147 | } | ||
148 | |||
149 | /** | ||
150 | * <!-- begin-user-doc --> | ||
151 | * <!-- end-user-doc --> | ||
152 | * @generated | ||
153 | */ | ||
154 | @Override | ||
155 | public EReference getMember_Children() { | ||
156 | return (EReference)memberEClass.getEStructuralFeatures().get(2); | ||
157 | } | ||
158 | |||
159 | /** | ||
160 | * <!-- begin-user-doc --> | ||
161 | * <!-- end-user-doc --> | ||
162 | * @generated | ||
163 | */ | ||
164 | @Override | ||
165 | public EReference getMember_Parents() { | ||
166 | return (EReference)memberEClass.getEStructuralFeatures().get(3); | ||
167 | } | ||
168 | |||
169 | /** | ||
170 | * <!-- begin-user-doc --> | ||
171 | * <!-- end-user-doc --> | ||
172 | * @generated | ||
173 | */ | ||
174 | @Override | ||
175 | public FamilytreeFactory getFamilytreeFactory() { | ||
176 | return (FamilytreeFactory)getEFactoryInstance(); | ||
177 | } | ||
178 | |||
179 | /** | ||
180 | * <!-- begin-user-doc --> | ||
181 | * <!-- end-user-doc --> | ||
182 | * @generated | ||
183 | */ | ||
184 | private boolean isCreated = false; | ||
185 | |||
186 | /** | ||
187 | * Creates the meta-model objects for the package. This method is | ||
188 | * guarded to have no affect on any invocation but its first. | ||
189 | * <!-- begin-user-doc --> | ||
190 | * <!-- end-user-doc --> | ||
191 | * @generated | ||
192 | */ | ||
193 | public void createPackageContents() { | ||
194 | if (isCreated) return; | ||
195 | isCreated = true; | ||
196 | |||
197 | // Create classes and their features | ||
198 | familyTreeEClass = createEClass(FAMILY_TREE); | ||
199 | createEReference(familyTreeEClass, FAMILY_TREE__MEMBERS); | ||
200 | |||
201 | memberEClass = createEClass(MEMBER); | ||
202 | createEAttribute(memberEClass, MEMBER__NAME); | ||
203 | createEAttribute(memberEClass, MEMBER__AGE); | ||
204 | createEReference(memberEClass, MEMBER__CHILDREN); | ||
205 | createEReference(memberEClass, MEMBER__PARENTS); | ||
206 | } | ||
207 | |||
208 | /** | ||
209 | * <!-- begin-user-doc --> | ||
210 | * <!-- end-user-doc --> | ||
211 | * @generated | ||
212 | */ | ||
213 | private boolean isInitialized = false; | ||
214 | |||
215 | /** | ||
216 | * Complete the initialization of the package and its meta-model. This | ||
217 | * method is guarded to have no affect on any invocation but its first. | ||
218 | * <!-- begin-user-doc --> | ||
219 | * <!-- end-user-doc --> | ||
220 | * @generated | ||
221 | */ | ||
222 | public void initializePackageContents() { | ||
223 | if (isInitialized) return; | ||
224 | isInitialized = true; | ||
225 | |||
226 | // Initialize package | ||
227 | setName(eNAME); | ||
228 | setNsPrefix(eNS_PREFIX); | ||
229 | setNsURI(eNS_URI); | ||
230 | |||
231 | // Create type parameters | ||
232 | |||
233 | // Set bounds for type parameters | ||
234 | |||
235 | // Add supertypes to classes | ||
236 | |||
237 | // Initialize classes, features, and operations; add parameters | ||
238 | initEClass(familyTreeEClass, FamilyTree.class, "FamilyTree", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); | ||
239 | initEReference(getFamilyTree_Members(), this.getMember(), null, "members", null, 0, -1, FamilyTree.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); | ||
240 | |||
241 | initEClass(memberEClass, Member.class, "Member", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); | ||
242 | initEAttribute(getMember_Name(), ecorePackage.getEString(), "name", null, 0, 1, Member.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); | ||
243 | initEAttribute(getMember_Age(), ecorePackage.getEInt(), "age", "0", 0, 1, Member.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); | ||
244 | initEReference(getMember_Children(), this.getMember(), this.getMember_Parents(), "children", null, 0, -1, Member.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); | ||
245 | initEReference(getMember_Parents(), this.getMember(), this.getMember_Children(), "parents", null, 0, 2, Member.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED); | ||
246 | |||
247 | // Create resource | ||
248 | createResource(eNS_URI); | ||
249 | } | ||
250 | |||
251 | } //FamilytreePackageImpl | ||
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/impl/MemberImpl.java b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/impl/MemberImpl.java new file mode 100644 index 00000000..77e423bd --- /dev/null +++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/impl/MemberImpl.java | |||
@@ -0,0 +1,334 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package familytree.impl; | ||
4 | |||
5 | import familytree.FamilytreePackage; | ||
6 | import familytree.Member; | ||
7 | |||
8 | import java.util.Collection; | ||
9 | |||
10 | import org.eclipse.emf.common.notify.Notification; | ||
11 | import org.eclipse.emf.common.notify.NotificationChain; | ||
12 | |||
13 | import org.eclipse.emf.common.util.EList; | ||
14 | |||
15 | import org.eclipse.emf.ecore.EClass; | ||
16 | import org.eclipse.emf.ecore.InternalEObject; | ||
17 | |||
18 | import org.eclipse.emf.ecore.impl.ENotificationImpl; | ||
19 | import org.eclipse.emf.ecore.impl.MinimalEObjectImpl; | ||
20 | |||
21 | import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList; | ||
22 | import org.eclipse.emf.ecore.util.InternalEList; | ||
23 | |||
24 | /** | ||
25 | * <!-- begin-user-doc --> | ||
26 | * An implementation of the model object '<em><b>Member</b></em>'. | ||
27 | * <!-- end-user-doc --> | ||
28 | * <p> | ||
29 | * The following features are implemented: | ||
30 | * </p> | ||
31 | * <ul> | ||
32 | * <li>{@link familytree.impl.MemberImpl#getName <em>Name</em>}</li> | ||
33 | * <li>{@link familytree.impl.MemberImpl#getAge <em>Age</em>}</li> | ||
34 | * <li>{@link familytree.impl.MemberImpl#getChildren <em>Children</em>}</li> | ||
35 | * <li>{@link familytree.impl.MemberImpl#getParents <em>Parents</em>}</li> | ||
36 | * </ul> | ||
37 | * | ||
38 | * @generated | ||
39 | */ | ||
40 | public class MemberImpl extends MinimalEObjectImpl.Container implements Member { | ||
41 | /** | ||
42 | * The default value of the '{@link #getName() <em>Name</em>}' attribute. | ||
43 | * <!-- begin-user-doc --> | ||
44 | * <!-- end-user-doc --> | ||
45 | * @see #getName() | ||
46 | * @generated | ||
47 | * @ordered | ||
48 | */ | ||
49 | protected static final String NAME_EDEFAULT = null; | ||
50 | |||
51 | /** | ||
52 | * The cached value of the '{@link #getName() <em>Name</em>}' attribute. | ||
53 | * <!-- begin-user-doc --> | ||
54 | * <!-- end-user-doc --> | ||
55 | * @see #getName() | ||
56 | * @generated | ||
57 | * @ordered | ||
58 | */ | ||
59 | protected String name = NAME_EDEFAULT; | ||
60 | |||
61 | /** | ||
62 | * The default value of the '{@link #getAge() <em>Age</em>}' attribute. | ||
63 | * <!-- begin-user-doc --> | ||
64 | * <!-- end-user-doc --> | ||
65 | * @see #getAge() | ||
66 | * @generated | ||
67 | * @ordered | ||
68 | */ | ||
69 | protected static final int AGE_EDEFAULT = 0; | ||
70 | |||
71 | /** | ||
72 | * The cached value of the '{@link #getAge() <em>Age</em>}' attribute. | ||
73 | * <!-- begin-user-doc --> | ||
74 | * <!-- end-user-doc --> | ||
75 | * @see #getAge() | ||
76 | * @generated | ||
77 | * @ordered | ||
78 | */ | ||
79 | protected int age = AGE_EDEFAULT; | ||
80 | |||
81 | /** | ||
82 | * The cached value of the '{@link #getChildren() <em>Children</em>}' reference list. | ||
83 | * <!-- begin-user-doc --> | ||
84 | * <!-- end-user-doc --> | ||
85 | * @see #getChildren() | ||
86 | * @generated | ||
87 | * @ordered | ||
88 | */ | ||
89 | protected EList<Member> children; | ||
90 | |||
91 | /** | ||
92 | * The cached value of the '{@link #getParents() <em>Parents</em>}' reference list. | ||
93 | * <!-- begin-user-doc --> | ||
94 | * <!-- end-user-doc --> | ||
95 | * @see #getParents() | ||
96 | * @generated | ||
97 | * @ordered | ||
98 | */ | ||
99 | protected EList<Member> parents; | ||
100 | |||
101 | /** | ||
102 | * <!-- begin-user-doc --> | ||
103 | * <!-- end-user-doc --> | ||
104 | * @generated | ||
105 | */ | ||
106 | protected MemberImpl() { | ||
107 | super(); | ||
108 | } | ||
109 | |||
110 | /** | ||
111 | * <!-- begin-user-doc --> | ||
112 | * <!-- end-user-doc --> | ||
113 | * @generated | ||
114 | */ | ||
115 | @Override | ||
116 | protected EClass eStaticClass() { | ||
117 | return FamilytreePackage.Literals.MEMBER; | ||
118 | } | ||
119 | |||
120 | /** | ||
121 | * <!-- begin-user-doc --> | ||
122 | * <!-- end-user-doc --> | ||
123 | * @generated | ||
124 | */ | ||
125 | @Override | ||
126 | public String getName() { | ||
127 | return name; | ||
128 | } | ||
129 | |||
130 | /** | ||
131 | * <!-- begin-user-doc --> | ||
132 | * <!-- end-user-doc --> | ||
133 | * @generated | ||
134 | */ | ||
135 | @Override | ||
136 | public void setName(String newName) { | ||
137 | String oldName = name; | ||
138 | name = newName; | ||
139 | if (eNotificationRequired()) | ||
140 | eNotify(new ENotificationImpl(this, Notification.SET, FamilytreePackage.MEMBER__NAME, oldName, name)); | ||
141 | } | ||
142 | |||
143 | /** | ||
144 | * <!-- begin-user-doc --> | ||
145 | * <!-- end-user-doc --> | ||
146 | * @generated | ||
147 | */ | ||
148 | @Override | ||
149 | public int getAge() { | ||
150 | return age; | ||
151 | } | ||
152 | |||
153 | /** | ||
154 | * <!-- begin-user-doc --> | ||
155 | * <!-- end-user-doc --> | ||
156 | * @generated | ||
157 | */ | ||
158 | @Override | ||
159 | public void setAge(int newAge) { | ||
160 | int oldAge = age; | ||
161 | age = newAge; | ||
162 | if (eNotificationRequired()) | ||
163 | eNotify(new ENotificationImpl(this, Notification.SET, FamilytreePackage.MEMBER__AGE, oldAge, age)); | ||
164 | } | ||
165 | |||
166 | /** | ||
167 | * <!-- begin-user-doc --> | ||
168 | * <!-- end-user-doc --> | ||
169 | * @generated | ||
170 | */ | ||
171 | @Override | ||
172 | public EList<Member> getChildren() { | ||
173 | if (children == null) { | ||
174 | children = new EObjectWithInverseResolvingEList.ManyInverse<Member>(Member.class, this, FamilytreePackage.MEMBER__CHILDREN, FamilytreePackage.MEMBER__PARENTS); | ||
175 | } | ||
176 | return children; | ||
177 | } | ||
178 | |||
179 | /** | ||
180 | * <!-- begin-user-doc --> | ||
181 | * <!-- end-user-doc --> | ||
182 | * @generated | ||
183 | */ | ||
184 | @Override | ||
185 | public EList<Member> getParents() { | ||
186 | if (parents == null) { | ||
187 | parents = new EObjectWithInverseResolvingEList.ManyInverse<Member>(Member.class, this, FamilytreePackage.MEMBER__PARENTS, FamilytreePackage.MEMBER__CHILDREN); | ||
188 | } | ||
189 | return parents; | ||
190 | } | ||
191 | |||
192 | /** | ||
193 | * <!-- begin-user-doc --> | ||
194 | * <!-- end-user-doc --> | ||
195 | * @generated | ||
196 | */ | ||
197 | @SuppressWarnings("unchecked") | ||
198 | @Override | ||
199 | public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) { | ||
200 | switch (featureID) { | ||
201 | case FamilytreePackage.MEMBER__CHILDREN: | ||
202 | return ((InternalEList<InternalEObject>)(InternalEList<?>)getChildren()).basicAdd(otherEnd, msgs); | ||
203 | case FamilytreePackage.MEMBER__PARENTS: | ||
204 | return ((InternalEList<InternalEObject>)(InternalEList<?>)getParents()).basicAdd(otherEnd, msgs); | ||
205 | } | ||
206 | return super.eInverseAdd(otherEnd, featureID, msgs); | ||
207 | } | ||
208 | |||
209 | /** | ||
210 | * <!-- begin-user-doc --> | ||
211 | * <!-- end-user-doc --> | ||
212 | * @generated | ||
213 | */ | ||
214 | @Override | ||
215 | public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) { | ||
216 | switch (featureID) { | ||
217 | case FamilytreePackage.MEMBER__CHILDREN: | ||
218 | return ((InternalEList<?>)getChildren()).basicRemove(otherEnd, msgs); | ||
219 | case FamilytreePackage.MEMBER__PARENTS: | ||
220 | return ((InternalEList<?>)getParents()).basicRemove(otherEnd, msgs); | ||
221 | } | ||
222 | return super.eInverseRemove(otherEnd, featureID, msgs); | ||
223 | } | ||
224 | |||
225 | /** | ||
226 | * <!-- begin-user-doc --> | ||
227 | * <!-- end-user-doc --> | ||
228 | * @generated | ||
229 | */ | ||
230 | @Override | ||
231 | public Object eGet(int featureID, boolean resolve, boolean coreType) { | ||
232 | switch (featureID) { | ||
233 | case FamilytreePackage.MEMBER__NAME: | ||
234 | return getName(); | ||
235 | case FamilytreePackage.MEMBER__AGE: | ||
236 | return getAge(); | ||
237 | case FamilytreePackage.MEMBER__CHILDREN: | ||
238 | return getChildren(); | ||
239 | case FamilytreePackage.MEMBER__PARENTS: | ||
240 | return getParents(); | ||
241 | } | ||
242 | return super.eGet(featureID, resolve, coreType); | ||
243 | } | ||
244 | |||
245 | /** | ||
246 | * <!-- begin-user-doc --> | ||
247 | * <!-- end-user-doc --> | ||
248 | * @generated | ||
249 | */ | ||
250 | @SuppressWarnings("unchecked") | ||
251 | @Override | ||
252 | public void eSet(int featureID, Object newValue) { | ||
253 | switch (featureID) { | ||
254 | case FamilytreePackage.MEMBER__NAME: | ||
255 | setName((String)newValue); | ||
256 | return; | ||
257 | case FamilytreePackage.MEMBER__AGE: | ||
258 | setAge((Integer)newValue); | ||
259 | return; | ||
260 | case FamilytreePackage.MEMBER__CHILDREN: | ||
261 | getChildren().clear(); | ||
262 | getChildren().addAll((Collection<? extends Member>)newValue); | ||
263 | return; | ||
264 | case FamilytreePackage.MEMBER__PARENTS: | ||
265 | getParents().clear(); | ||
266 | getParents().addAll((Collection<? extends Member>)newValue); | ||
267 | return; | ||
268 | } | ||
269 | super.eSet(featureID, newValue); | ||
270 | } | ||
271 | |||
272 | /** | ||
273 | * <!-- begin-user-doc --> | ||
274 | * <!-- end-user-doc --> | ||
275 | * @generated | ||
276 | */ | ||
277 | @Override | ||
278 | public void eUnset(int featureID) { | ||
279 | switch (featureID) { | ||
280 | case FamilytreePackage.MEMBER__NAME: | ||
281 | setName(NAME_EDEFAULT); | ||
282 | return; | ||
283 | case FamilytreePackage.MEMBER__AGE: | ||
284 | setAge(AGE_EDEFAULT); | ||
285 | return; | ||
286 | case FamilytreePackage.MEMBER__CHILDREN: | ||
287 | getChildren().clear(); | ||
288 | return; | ||
289 | case FamilytreePackage.MEMBER__PARENTS: | ||
290 | getParents().clear(); | ||
291 | return; | ||
292 | } | ||
293 | super.eUnset(featureID); | ||
294 | } | ||
295 | |||
296 | /** | ||
297 | * <!-- begin-user-doc --> | ||
298 | * <!-- end-user-doc --> | ||
299 | * @generated | ||
300 | */ | ||
301 | @Override | ||
302 | public boolean eIsSet(int featureID) { | ||
303 | switch (featureID) { | ||
304 | case FamilytreePackage.MEMBER__NAME: | ||
305 | return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name); | ||
306 | case FamilytreePackage.MEMBER__AGE: | ||
307 | return age != AGE_EDEFAULT; | ||
308 | case FamilytreePackage.MEMBER__CHILDREN: | ||
309 | return children != null && !children.isEmpty(); | ||
310 | case FamilytreePackage.MEMBER__PARENTS: | ||
311 | return parents != null && !parents.isEmpty(); | ||
312 | } | ||
313 | return super.eIsSet(featureID); | ||
314 | } | ||
315 | |||
316 | /** | ||
317 | * <!-- begin-user-doc --> | ||
318 | * <!-- end-user-doc --> | ||
319 | * @generated | ||
320 | */ | ||
321 | @Override | ||
322 | public String toString() { | ||
323 | if (eIsProxy()) return super.toString(); | ||
324 | |||
325 | StringBuilder result = new StringBuilder(super.toString()); | ||
326 | result.append(" (name: "); | ||
327 | result.append(name); | ||
328 | result.append(", age: "); | ||
329 | result.append(age); | ||
330 | result.append(')'); | ||
331 | return result.toString(); | ||
332 | } | ||
333 | |||
334 | } //MemberImpl | ||
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/util/FamilytreeAdapterFactory.java b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/util/FamilytreeAdapterFactory.java new file mode 100644 index 00000000..6412c40f --- /dev/null +++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/util/FamilytreeAdapterFactory.java | |||
@@ -0,0 +1,138 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package familytree.util; | ||
4 | |||
5 | import familytree.*; | ||
6 | |||
7 | import org.eclipse.emf.common.notify.Adapter; | ||
8 | import org.eclipse.emf.common.notify.Notifier; | ||
9 | |||
10 | import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl; | ||
11 | |||
12 | import org.eclipse.emf.ecore.EObject; | ||
13 | |||
14 | /** | ||
15 | * <!-- begin-user-doc --> | ||
16 | * The <b>Adapter Factory</b> for the model. | ||
17 | * It provides an adapter <code>createXXX</code> method for each class of the model. | ||
18 | * <!-- end-user-doc --> | ||
19 | * @see familytree.FamilytreePackage | ||
20 | * @generated | ||
21 | */ | ||
22 | public class FamilytreeAdapterFactory extends AdapterFactoryImpl { | ||
23 | /** | ||
24 | * The cached model package. | ||
25 | * <!-- begin-user-doc --> | ||
26 | * <!-- end-user-doc --> | ||
27 | * @generated | ||
28 | */ | ||
29 | protected static FamilytreePackage modelPackage; | ||
30 | |||
31 | /** | ||
32 | * Creates an instance of the adapter factory. | ||
33 | * <!-- begin-user-doc --> | ||
34 | * <!-- end-user-doc --> | ||
35 | * @generated | ||
36 | */ | ||
37 | public FamilytreeAdapterFactory() { | ||
38 | if (modelPackage == null) { | ||
39 | modelPackage = FamilytreePackage.eINSTANCE; | ||
40 | } | ||
41 | } | ||
42 | |||
43 | /** | ||
44 | * Returns whether this factory is applicable for the type of the object. | ||
45 | * <!-- begin-user-doc --> | ||
46 | * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model. | ||
47 | * <!-- end-user-doc --> | ||
48 | * @return whether this factory is applicable for the type of the object. | ||
49 | * @generated | ||
50 | */ | ||
51 | @Override | ||
52 | public boolean isFactoryForType(Object object) { | ||
53 | if (object == modelPackage) { | ||
54 | return true; | ||
55 | } | ||
56 | if (object instanceof EObject) { | ||
57 | return ((EObject)object).eClass().getEPackage() == modelPackage; | ||
58 | } | ||
59 | return false; | ||
60 | } | ||
61 | |||
62 | /** | ||
63 | * The switch that delegates to the <code>createXXX</code> methods. | ||
64 | * <!-- begin-user-doc --> | ||
65 | * <!-- end-user-doc --> | ||
66 | * @generated | ||
67 | */ | ||
68 | protected FamilytreeSwitch<Adapter> modelSwitch = | ||
69 | new FamilytreeSwitch<Adapter>() { | ||
70 | @Override | ||
71 | public Adapter caseFamilyTree(FamilyTree object) { | ||
72 | return createFamilyTreeAdapter(); | ||
73 | } | ||
74 | @Override | ||
75 | public Adapter caseMember(Member object) { | ||
76 | return createMemberAdapter(); | ||
77 | } | ||
78 | @Override | ||
79 | public Adapter defaultCase(EObject object) { | ||
80 | return createEObjectAdapter(); | ||
81 | } | ||
82 | }; | ||
83 | |||
84 | /** | ||
85 | * Creates an adapter for the <code>target</code>. | ||
86 | * <!-- begin-user-doc --> | ||
87 | * <!-- end-user-doc --> | ||
88 | * @param target the object to adapt. | ||
89 | * @return the adapter for the <code>target</code>. | ||
90 | * @generated | ||
91 | */ | ||
92 | @Override | ||
93 | public Adapter createAdapter(Notifier target) { | ||
94 | return modelSwitch.doSwitch((EObject)target); | ||
95 | } | ||
96 | |||
97 | |||
98 | /** | ||
99 | * Creates a new adapter for an object of class '{@link familytree.FamilyTree <em>Family Tree</em>}'. | ||
100 | * <!-- begin-user-doc --> | ||
101 | * This default implementation returns null so that we can easily ignore cases; | ||
102 | * it's useful to ignore a case when inheritance will catch all the cases anyway. | ||
103 | * <!-- end-user-doc --> | ||
104 | * @return the new adapter. | ||
105 | * @see familytree.FamilyTree | ||
106 | * @generated | ||
107 | */ | ||
108 | public Adapter createFamilyTreeAdapter() { | ||
109 | return null; | ||
110 | } | ||
111 | |||
112 | /** | ||
113 | * Creates a new adapter for an object of class '{@link familytree.Member <em>Member</em>}'. | ||
114 | * <!-- begin-user-doc --> | ||
115 | * This default implementation returns null so that we can easily ignore cases; | ||
116 | * it's useful to ignore a case when inheritance will catch all the cases anyway. | ||
117 | * <!-- end-user-doc --> | ||
118 | * @return the new adapter. | ||
119 | * @see familytree.Member | ||
120 | * @generated | ||
121 | */ | ||
122 | public Adapter createMemberAdapter() { | ||
123 | return null; | ||
124 | } | ||
125 | |||
126 | /** | ||
127 | * Creates a new adapter for the default case. | ||
128 | * <!-- begin-user-doc --> | ||
129 | * This default implementation returns null. | ||
130 | * <!-- end-user-doc --> | ||
131 | * @return the new adapter. | ||
132 | * @generated | ||
133 | */ | ||
134 | public Adapter createEObjectAdapter() { | ||
135 | return null; | ||
136 | } | ||
137 | |||
138 | } //FamilytreeAdapterFactory | ||
diff --git a/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/util/FamilytreeSwitch.java b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/util/FamilytreeSwitch.java new file mode 100644 index 00000000..75bbce3d --- /dev/null +++ b/Tests/MODELS2020-CaseStudies/case.study.familyTree.model/src/familytree/util/FamilytreeSwitch.java | |||
@@ -0,0 +1,131 @@ | |||
1 | /** | ||
2 | */ | ||
3 | package familytree.util; | ||
4 | |||
5 | import familytree.*; | ||
6 | |||
7 | import org.eclipse.emf.ecore.EObject; | ||
8 | import org.eclipse.emf.ecore.EPackage; | ||
9 | |||
10 | import org.eclipse.emf.ecore.util.Switch; | ||
11 | |||
12 | /** | ||
13 | * <!-- begin-user-doc --> | ||
14 | * The <b>Switch</b> for the model's inheritance hierarchy. | ||
15 | * It supports the call {@link #doSwitch(EObject) doSwitch(object)} | ||
16 | * to invoke the <code>caseXXX</code> method for each class of the model, | ||
17 | * starting with the actual class of the object | ||
18 | * and proceeding up the inheritance hierarchy | ||
19 | * until a non-null result is returned, | ||
20 | * which is the result of the switch. | ||
21 | * <!-- end-user-doc --> | ||
22 | * @see familytree.FamilytreePackage | ||
23 | * @generated | ||
24 | */ | ||
25 | public class FamilytreeSwitch<T> extends Switch<T> { | ||
26 | /** | ||
27 | * The cached model package | ||
28 | * <!-- begin-user-doc --> | ||
29 | * <!-- end-user-doc --> | ||
30 | * @generated | ||
31 | */ | ||
32 | protected static FamilytreePackage modelPackage; | ||
33 | |||
34 | /** | ||
35 | * Creates an instance of the switch. | ||
36 | * <!-- begin-user-doc --> | ||
37 | * <!-- end-user-doc --> | ||
38 | * @generated | ||
39 | */ | ||
40 | public FamilytreeSwitch() { | ||
41 | if (modelPackage == null) { | ||
42 | modelPackage = FamilytreePackage.eINSTANCE; | ||
43 | } | ||
44 | } | ||
45 | |||
46 | /** | ||
47 | * Checks whether this is a switch for the given package. | ||
48 | * <!-- begin-user-doc --> | ||
49 | * <!-- end-user-doc --> | ||
50 | * @param ePackage the package in question. | ||
51 | * @return whether this is a switch for the given package. | ||
52 | * @generated | ||
53 | */ | ||
54 | @Override | ||
55 | protected boolean isSwitchFor(EPackage ePackage) { | ||
56 | return ePackage == modelPackage; | ||
57 | } | ||
58 | |||
59 | /** | ||
60 | * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result. | ||
61 | * <!-- begin-user-doc --> | ||
62 | * <!-- end-user-doc --> | ||
63 | * @return the first non-null result returned by a <code>caseXXX</code> call. | ||
64 | * @generated | ||
65 | */ | ||
66 | @Override | ||
67 | protected T doSwitch(int classifierID, EObject theEObject) { | ||
68 | switch (classifierID) { | ||
69 | case FamilytreePackage.FAMILY_TREE: { | ||
70 | FamilyTree familyTree = (FamilyTree)theEObject; | ||
71 | T result = caseFamilyTree(familyTree); | ||
72 | if (result == null) result = defaultCase(theEObject); | ||
73 | return result; | ||
74 | } | ||
75 | case FamilytreePackage.MEMBER: { | ||
76 | Member member = (Member)theEObject; | ||
77 | T result = caseMember(member); | ||
78 | if (result == null) result = defaultCase(theEObject); | ||
79 | return result; | ||
80 | } | ||
81 | default: return defaultCase(theEObject); | ||
82 | } | ||
83 | } | ||
84 | |||
85 | /** | ||
86 | * Returns the result of interpreting the object as an instance of '<em>Family Tree</em>'. | ||
87 | * <!-- begin-user-doc --> | ||
88 | * This implementation returns null; | ||
89 | * returning a non-null result will terminate the switch. | ||
90 | * <!-- end-user-doc --> | ||
91 | * @param object the target of the switch. | ||
92 | * @return the result of interpreting the object as an instance of '<em>Family Tree</em>'. | ||
93 | * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) | ||
94 | * @generated | ||
95 | */ | ||
96 | public T caseFamilyTree(FamilyTree object) { | ||
97 | return null; | ||
98 | } | ||
99 | |||
100 | /** | ||
101 | * Returns the result of interpreting the object as an instance of '<em>Member</em>'. | ||
102 | * <!-- begin-user-doc --> | ||
103 | * This implementation returns null; | ||
104 | * returning a non-null result will terminate the switch. | ||
105 | * <!-- end-user-doc --> | ||
106 | * @param object the target of the switch. | ||
107 | * @return the result of interpreting the object as an instance of '<em>Member</em>'. | ||
108 | * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject) | ||
109 | * @generated | ||
110 | */ | ||
111 | public T caseMember(Member object) { | ||
112 | return null; | ||
113 | } | ||
114 | |||
115 | /** | ||
116 | * Returns the result of interpreting the object as an instance of '<em>EObject</em>'. | ||
117 | * <!-- begin-user-doc --> | ||
118 | * This implementation returns null; | ||
119 | * returning a non-null result will terminate the switch, but this is the last case anyway. | ||
120 | * <!-- end-user-doc --> | ||
121 | * @param object the target of the switch. | ||
122 | * @return the result of interpreting the object as an instance of '<em>EObject</em>'. | ||
123 | * @see #doSwitch(org.eclipse.emf.ecore.EObject) | ||
124 | * @generated | ||
125 | */ | ||
126 | @Override | ||
127 | public T defaultCase(EObject object) { | ||
128 | return null; | ||
129 | } | ||
130 | |||
131 | } //FamilytreeSwitch | ||