Skip to main content
aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorDennis Wagelaar2023-03-11 18:08:34 +0000
committerDennis Wagelaar2023-03-11 18:08:34 +0000
commit5e9a5225bb8b24b209b9bb2ad3621c6ac85b9e3f (patch)
tree6c36f328106852a2b1cc1081dba8abac8ee504ce /tests
parent7751eae75b1818fc2632707845b6519bad377ce0 (diff)
downloadorg.eclipse.atl-5e9a5225bb8b24b209b9bb2ad3621c6ac85b9e3f.tar.gz
org.eclipse.atl-5e9a5225bb8b24b209b9bb2ad3621c6ac85b9e3f.tar.xz
org.eclipse.atl-5e9a5225bb8b24b209b9bb2ad3621c6ac85b9e3f.zip
Bug 581655: Feature: Local search plans
Change-Id: If2c268b11f9e351570700154cebde40f442c3047 Signed-off-by: Dennis Wagelaar <dwagelaar@gmail.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/org.eclipse.m2m.atl.emftvm.tests/launch/ATLtoEMFTVM RefiningModeTest.launch68
-rw-r--r--tests/org.eclipse.m2m.atl.emftvm.tests/launch/ATLtoEMFTVM SearchPlanTest.launch39
-rw-r--r--tests/org.eclipse.m2m.atl.emftvm.tests/launch/ATLtoEMFTVM.launch69
-rw-r--r--tests/org.eclipse.m2m.atl.emftvm.tests/launch/InlineCodeblocks SearchPlanTest.launch31
-rw-r--r--tests/org.eclipse.m2m.atl.emftvm.tests/src/org/eclipse/m2m/atl/emftvm/tests/compiler/CompilerTest.java21
-rw-r--r--tests/org.eclipse.m2m.atl.emftvm.tests/src/org/eclipse/m2m/atl/emftvm/tests/integration/IntegrationTest.java21
-rw-r--r--tests/org.eclipse.m2m.atl.emftvm.tests/test-data/Regression/Bug425492.emftvmbin4244 -> 4166 bytes
-rw-r--r--tests/org.eclipse.m2m.atl.emftvm.tests/test-data/SearchPlanTest-out.ecore760
-rw-r--r--tests/org.eclipse.m2m.atl.emftvm.tests/test-data/SearchPlanTest.atl151
-rw-r--r--tests/org.eclipse.m2m.atl.emftvm.tests/test-data/SearchPlanTest.ecore42
-rw-r--r--tests/org.eclipse.m2m.atl.emftvm.tests/test-data/SearchPlanTest.emftvmbin0 -> 12785 bytes
-rw-r--r--tests/org.eclipse.m2m.atl.emftvm.tests/transformations/.gitignore1
-rw-r--r--tests/org.eclipse.m2m.atl.emftvm.tests/transformations/TestATLSearchPlan.atl84
13 files changed, 1219 insertions, 68 deletions
diff --git a/tests/org.eclipse.m2m.atl.emftvm.tests/launch/ATLtoEMFTVM RefiningModeTest.launch b/tests/org.eclipse.m2m.atl.emftvm.tests/launch/ATLtoEMFTVM RefiningModeTest.launch
index ea153727..47e3a57c 100644
--- a/tests/org.eclipse.m2m.atl.emftvm.tests/launch/ATLtoEMFTVM RefiningModeTest.launch
+++ b/tests/org.eclipse.m2m.atl.emftvm.tests/launch/ATLtoEMFTVM RefiningModeTest.launch
@@ -1,35 +1,39 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.m2m.atl.emftvm.launcher.EMFTVMTransformation">
-<stringAttribute key="ATL File Name" value="//org.eclipse.m2m.atl.emftvm.compiler/transformations/ATLtoEMFTVM.atl"/>
-<booleanAttribute key="Disable JIT compiler" value="false"/>
-<booleanAttribute key="Display Timing Data" value="true"/>
-<booleanAttribute key="Enable JIT compiler" value="true"/>
-<mapAttribute key="Inout Model Options"/>
-<mapAttribute key="Inout Models"/>
-<mapAttribute key="Inout Models Output Locations"/>
-<mapAttribute key="Input Model Options"/>
-<mapAttribute key="Input Models">
-<mapEntry key="IN" value="platform:/resource/org.eclipse.m2m.atl.emftvm.tests/test-data/RefiningModeTest.atl"/>
-</mapAttribute>
-<mapAttribute key="Metamodel Options">
-<mapEntry key="ATL" value=""/>
-</mapAttribute>
-<mapAttribute key="Metamodels">
-<mapEntry key="ATL" value="http://www.eclipse.org/gmt/2005/ATL"/>
-<mapEntry key="EMFTVM" value="http://www.eclipse.org/m2m/atl/2011/EMFTVM"/>
-<mapEntry key="Problem" value="platform:/plugin/org.eclipse.m2m.atl.common/org/eclipse/m2m/atl/common/resources/Problem.ecore"/>
-</mapAttribute>
-<stringAttribute key="Module Name" value="ATLtoEMFTVM"/>
-<stringAttribute key="Module Path" value="/org.eclipse.m2m.atl.emftvm.compiler/transformations/"/>
-<mapAttribute key="Output Model Options">
-<mapEntry key="OUT" value="derivedFile"/>
-<mapEntry key="PBS" value="derivedFile"/>
-</mapAttribute>
-<mapAttribute key="Output Models">
-<mapEntry key="OUT" value="platform:/resource/org.eclipse.m2m.atl.emftvm.tests/test-data/RefiningModeTest.emftvm"/>
-<mapEntry key="PBS" value="platform:/resource/org.eclipse.m2m.atl.emftvm.tests/test-data/RefiningModeTest-problems.xmi"/>
-</mapAttribute>
-<listAttribute key="Superimpose">
-<listEntry value="//org.eclipse.m2m.atl.emftvm.compiler/transformations/OCLtoEMFTVM.asm"/>
-</listAttribute>
+ <stringAttribute key="ATL File Name" value="//org.eclipse.m2m.atl.emftvm.compiler/transformations/ATLtoEMFTVM.atl"/>
+ <booleanAttribute key="Disable JIT compiler" value="false"/>
+ <booleanAttribute key="Display Profiling Data" value="false"/>
+ <booleanAttribute key="Display Timing Data" value="true"/>
+ <booleanAttribute key="Enable JIT compiler" value="true"/>
+ <mapAttribute key="Inout Model Options"/>
+ <mapAttribute key="Inout Models"/>
+ <mapAttribute key="Inout Models Output Locations"/>
+ <mapAttribute key="Input Model Options"/>
+ <mapAttribute key="Input Models">
+ <mapEntry key="IN" value="platform:/resource/org.eclipse.m2m.atl.emftvm.tests/test-data/RefiningModeTest.atl"/>
+ </mapAttribute>
+ <mapAttribute key="Metamodel Options">
+ <mapEntry key="ATL" value=""/>
+ </mapAttribute>
+ <mapAttribute key="Metamodels">
+ <mapEntry key="ATL" value="http://www.eclipse.org/gmt/2005/ATL"/>
+ <mapEntry key="EMFTVM" value="http://www.eclipse.org/m2m/atl/2011/EMFTVM"/>
+ <mapEntry key="Problem" value="platform:/plugin/org.eclipse.m2m.atl.common/org/eclipse/m2m/atl/common/resources/Problem.ecore"/>
+ </mapAttribute>
+ <stringAttribute key="Module Name" value="ATLtoEMFTVM"/>
+ <stringAttribute key="Module Path" value="/org.eclipse.m2m.atl.emftvm.compiler/transformations/"/>
+ <mapAttribute key="Output Model Options">
+ <mapEntry key="OUT" value="derivedFile"/>
+ <mapEntry key="PBS" value="derivedFile"/>
+ </mapAttribute>
+ <mapAttribute key="Output Models">
+ <mapEntry key="OUT" value="platform:/resource/org.eclipse.m2m.atl.emftvm.tests/test-data/RefiningModeTest.emftvm"/>
+ <mapEntry key="PBS" value="platform:/resource/org.eclipse.m2m.atl.emftvm.tests/test-data/RefiningModeTest-problems.xmi"/>
+ </mapAttribute>
+ <listAttribute key="Superimpose">
+ <listEntry value="//org.eclipse.m2m.atl.emftvm.compiler/transformations/OCLtoEMFTVM.asm"/>
+ <listEntry value="//org.eclipse.m2m.atl.emftvm.compiler/transformations/OCLLib.asm"/>
+ <listEntry value="//org.eclipse.m2m.atl.emftvm.compiler/transformations/ATLSearchPlan.asm"/>
+ </listAttribute>
+ <booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/>
</launchConfiguration>
diff --git a/tests/org.eclipse.m2m.atl.emftvm.tests/launch/ATLtoEMFTVM SearchPlanTest.launch b/tests/org.eclipse.m2m.atl.emftvm.tests/launch/ATLtoEMFTVM SearchPlanTest.launch
new file mode 100644
index 00000000..27512ade
--- /dev/null
+++ b/tests/org.eclipse.m2m.atl.emftvm.tests/launch/ATLtoEMFTVM SearchPlanTest.launch
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2m.atl.emftvm.launcher.EMFTVMTransformation">
+ <stringAttribute key="ATL File Name" value="//org.eclipse.m2m.atl.emftvm.compiler/transformations/ATLtoEMFTVM.atl"/>
+ <booleanAttribute key="Disable JIT compiler" value="false"/>
+ <booleanAttribute key="Display Profiling Data" value="false"/>
+ <booleanAttribute key="Display Timing Data" value="true"/>
+ <booleanAttribute key="Enable JIT compiler" value="true"/>
+ <mapAttribute key="Inout Model Options"/>
+ <mapAttribute key="Inout Models"/>
+ <mapAttribute key="Inout Models Output Locations"/>
+ <mapAttribute key="Input Model Options"/>
+ <mapAttribute key="Input Models">
+ <mapEntry key="IN" value="platform:/resource/org.eclipse.m2m.atl.emftvm.tests/test-data/SearchPlanTest.atl"/>
+ </mapAttribute>
+ <mapAttribute key="Metamodel Options">
+ <mapEntry key="ATL" value=""/>
+ </mapAttribute>
+ <mapAttribute key="Metamodels">
+ <mapEntry key="ATL" value="http://www.eclipse.org/gmt/2005/ATL"/>
+ <mapEntry key="EMFTVM" value="http://www.eclipse.org/m2m/atl/2011/EMFTVM"/>
+ <mapEntry key="Problem" value="platform:/resource/org.eclipse.m2m.atl.common/model/Problem.ecore"/>
+ </mapAttribute>
+ <stringAttribute key="Module Name" value="ATLtoEMFTVM"/>
+ <stringAttribute key="Module Path" value="/org.eclipse.m2m.atl.emftvm.compiler/transformations/"/>
+ <mapAttribute key="Output Model Options">
+ <mapEntry key="OUT" value="derivedFile"/>
+ <mapEntry key="PBS" value="derivedFile"/>
+ </mapAttribute>
+ <mapAttribute key="Output Models">
+ <mapEntry key="OUT" value="platform:/resource/org.eclipse.m2m.atl.emftvm.tests/test-data/SearchPlanTest.emftvm"/>
+ <mapEntry key="PBS" value="platform:/resource/org.eclipse.m2m.atl.emftvm.tests/test-data/SearchPlanTest-problems.xmi"/>
+ </mapAttribute>
+ <listAttribute key="Superimpose">
+ <listEntry value="//org.eclipse.m2m.atl.emftvm.compiler/transformations/OCLtoEMFTVM.asm"/>
+ <listEntry value="//org.eclipse.m2m.atl.emftvm.compiler/transformations/OCLLib.asm"/>
+ <listEntry value="//org.eclipse.m2m.atl.emftvm.compiler/transformations/ATLSearchPlan.asm"/>
+ </listAttribute>
+ <booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.m2m.atl.emftvm.tests/launch/ATLtoEMFTVM.launch b/tests/org.eclipse.m2m.atl.emftvm.tests/launch/ATLtoEMFTVM.launch
index 7637cb29..665d52ef 100644
--- a/tests/org.eclipse.m2m.atl.emftvm.tests/launch/ATLtoEMFTVM.launch
+++ b/tests/org.eclipse.m2m.atl.emftvm.tests/launch/ATLtoEMFTVM.launch
@@ -1,36 +1,39 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.m2m.atl.emftvm.launcher.EMFTVMTransformation">
-<stringAttribute key="ATL File Name" value="//org.eclipse.m2m.atl.emftvm.compiler/transformations/ATLtoEMFTVM.atl"/>
-<booleanAttribute key="Disable JIT compiler" value="false"/>
-<booleanAttribute key="Display Profiling Data" value="true"/>
-<booleanAttribute key="Display Timing Data" value="true"/>
-<booleanAttribute key="Enable JIT compiler" value="true"/>
-<mapAttribute key="Inout Model Options"/>
-<mapAttribute key="Inout Models"/>
-<mapAttribute key="Inout Models Output Locations"/>
-<mapAttribute key="Input Model Options"/>
-<mapAttribute key="Input Models">
-<mapEntry key="IN" value="platform:/resource/org.eclipse.m2m.atl.emftvm.compiler/transformations/ATLtoEMFTVM.atl"/>
-</mapAttribute>
-<mapAttribute key="Metamodel Options">
-<mapEntry key="ATL" value=""/>
-</mapAttribute>
-<mapAttribute key="Metamodels">
-<mapEntry key="ATL" value="http://www.eclipse.org/gmt/2005/ATL"/>
-<mapEntry key="EMFTVM" value="http://www.eclipse.org/m2m/atl/2011/EMFTVM"/>
-<mapEntry key="Problem" value="http://www.eclipse.org/gmt/2005/Problem"/>
-</mapAttribute>
-<stringAttribute key="Module Name" value="ATLtoEMFTVM"/>
-<stringAttribute key="Module Path" value="/org.eclipse.m2m.atl.emftvm.compiler/transformations/"/>
-<mapAttribute key="Output Model Options">
-<mapEntry key="OUT" value="derivedFile"/>
-<mapEntry key="PBS" value="derivedFile"/>
-</mapAttribute>
-<mapAttribute key="Output Models">
-<mapEntry key="OUT" value="platform:/resource/org.eclipse.m2m.atl.emftvm.tests/test-data/ATLtoEMFTVM.emftvm"/>
-<mapEntry key="PBS" value="platform:/resource/org.eclipse.m2m.atl.emftvm.tests/test-data/ATLtoEMFTVM-problems.xmi"/>
-</mapAttribute>
-<listAttribute key="Superimpose">
-<listEntry value="//org.eclipse.m2m.atl.emftvm.compiler/transformations/OCLtoEMFTVM.asm"/>
-</listAttribute>
+ <stringAttribute key="ATL File Name" value="//org.eclipse.m2m.atl.emftvm.compiler/transformations/ATLtoEMFTVM.atl"/>
+ <booleanAttribute key="Disable JIT compiler" value="false"/>
+ <booleanAttribute key="Display Profiling Data" value="true"/>
+ <booleanAttribute key="Display Timing Data" value="true"/>
+ <booleanAttribute key="Enable JIT compiler" value="true"/>
+ <mapAttribute key="Inout Model Options"/>
+ <mapAttribute key="Inout Models"/>
+ <mapAttribute key="Inout Models Output Locations"/>
+ <mapAttribute key="Input Model Options"/>
+ <mapAttribute key="Input Models">
+ <mapEntry key="IN" value="platform:/resource/org.eclipse.m2m.atl.emftvm.compiler/transformations/ATLtoEMFTVM.atl"/>
+ </mapAttribute>
+ <mapAttribute key="Metamodel Options">
+ <mapEntry key="ATL" value=""/>
+ </mapAttribute>
+ <mapAttribute key="Metamodels">
+ <mapEntry key="ATL" value="http://www.eclipse.org/gmt/2005/ATL"/>
+ <mapEntry key="EMFTVM" value="http://www.eclipse.org/m2m/atl/2011/EMFTVM"/>
+ <mapEntry key="Problem" value="http://www.eclipse.org/gmt/2005/Problem"/>
+ </mapAttribute>
+ <stringAttribute key="Module Name" value="ATLtoEMFTVM"/>
+ <stringAttribute key="Module Path" value="/org.eclipse.m2m.atl.emftvm.compiler/transformations/"/>
+ <mapAttribute key="Output Model Options">
+ <mapEntry key="OUT" value="derivedFile"/>
+ <mapEntry key="PBS" value="derivedFile"/>
+ </mapAttribute>
+ <mapAttribute key="Output Models">
+ <mapEntry key="OUT" value="platform:/resource/org.eclipse.m2m.atl.emftvm.tests/test-data/ATLtoEMFTVM.emftvm"/>
+ <mapEntry key="PBS" value="platform:/resource/org.eclipse.m2m.atl.emftvm.tests/test-data/ATLtoEMFTVM-problems.xmi"/>
+ </mapAttribute>
+ <listAttribute key="Superimpose">
+ <listEntry value="//org.eclipse.m2m.atl.emftvm.compiler/transformations/OCLtoEMFTVM.asm"/>
+ <listEntry value="//org.eclipse.m2m.atl.emftvm.compiler/transformations/OCLLib.asm"/>
+ <listEntry value="//org.eclipse.m2m.atl.emftvm.compiler/transformations/ATLSearchPlan.asm"/>
+ </listAttribute>
+ <booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/>
</launchConfiguration>
diff --git a/tests/org.eclipse.m2m.atl.emftvm.tests/launch/InlineCodeblocks SearchPlanTest.launch b/tests/org.eclipse.m2m.atl.emftvm.tests/launch/InlineCodeblocks SearchPlanTest.launch
new file mode 100644
index 00000000..5fa50327
--- /dev/null
+++ b/tests/org.eclipse.m2m.atl.emftvm.tests/launch/InlineCodeblocks SearchPlanTest.launch
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.m2m.atl.emftvm.launcher.EMFTVMTransformation">
+ <stringAttribute key="ATL File Name" value="//org.eclipse.m2m.atl.emftvm.compiler/transformations/InlineCodeblocks.atl"/>
+ <booleanAttribute key="Disable JIT compiler" value="false"/>
+ <booleanAttribute key="Display Profiling Data" value="false"/>
+ <booleanAttribute key="Display Timing Data" value="true"/>
+ <mapAttribute key="Inout Model Options">
+ <mapEntry key="IN" value="derivedFile"/>
+ </mapAttribute>
+ <mapAttribute key="Inout Models">
+ <mapEntry key="IN" value="platform:/resource/org.eclipse.m2m.atl.emftvm.tests/test-data/SearchPlanTest.emftvm"/>
+ </mapAttribute>
+ <mapAttribute key="Inout Models Output Locations">
+ <mapEntry key="IN" value="platform:/resource/org.eclipse.m2m.atl.emftvm.tests/test-data/SearchPlanTest-inlined.emftvm"/>
+ </mapAttribute>
+ <mapAttribute key="Input Model Options"/>
+ <mapAttribute key="Input Models"/>
+ <mapAttribute key="Metamodel Options"/>
+ <mapAttribute key="Metamodels">
+ <mapEntry key="EMFTVM" value="http://www.eclipse.org/m2m/atl/2011/EMFTVM"/>
+ </mapAttribute>
+ <stringAttribute key="Module Name" value="InlineCodeblocks"/>
+ <stringAttribute key="Module Path" value="/org.eclipse.m2m.atl.emftvm.compiler/transformations/"/>
+ <mapAttribute key="Output Model Options"/>
+ <mapAttribute key="Output Models"/>
+ <listAttribute key="Superimpose"/>
+ <booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/>
+ <booleanAttribute key="org.eclipse.debug.core.capture_output" value="false"/>
+ <booleanAttribute key="org.eclipse.debug.ui.ATTR_CONSOLE_OUTPUT_ON" value="false"/>
+ <booleanAttribute key="org.eclipse.debug.ui.ATTR_LAUNCH_IN_BACKGROUND" value="false"/>
+</launchConfiguration>
diff --git a/tests/org.eclipse.m2m.atl.emftvm.tests/src/org/eclipse/m2m/atl/emftvm/tests/compiler/CompilerTest.java b/tests/org.eclipse.m2m.atl.emftvm.tests/src/org/eclipse/m2m/atl/emftvm/tests/compiler/CompilerTest.java
index c13ee044..b596688c 100644
--- a/tests/org.eclipse.m2m.atl.emftvm.tests/src/org/eclipse/m2m/atl/emftvm/tests/compiler/CompilerTest.java
+++ b/tests/org.eclipse.m2m.atl.emftvm.tests/src/org/eclipse/m2m/atl/emftvm/tests/compiler/CompilerTest.java
@@ -69,10 +69,26 @@ public class CompilerTest extends EMFTVMTest {
public void testBindingStat() {
final Model outModel = compile(URI.createURI("test-data/BindingStatTest.atl", true));
assertEquals(null, validate(outModel));
+
+ final Model refModel = loadTestModel(new ResourceSetImpl(), "/test-data/BindingStatTest.emftvm");
+ assertEquals(refModel.getResource(), outModel.getResource());
+ }
+
+ /**
+ * Tests the compilation output for "SearchPlanTest.atl".
+ */
+ public void testSearchPlanTest() {
+ final Model outModel = compile(URI.createURI("test-data/SearchPlanTest.atl", true));
+ assertEquals(null, validate(outModel));
+
+ final Model refModel = loadTestModel(new ResourceSetImpl(), "/test-data/SearchPlanTest.emftvm");
+ assertEquals(refModel.getResource(), outModel.getResource());
}
/**
- * Tests regression of <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=405673">Bug # 405673</a>.
+ * Tests regression of
+ * <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=405673">Bug #
+ * 405673</a>.
*/
public void testBug405673() {
final Model outModel = compile(URI.createURI("test-data/Regression/Bug405673.atl", true));
@@ -216,8 +232,7 @@ public class CompilerTest extends EMFTVMTest {
/**
* Tests the compilation of a compiler module.
*
- * @param compilerModule
- * the compiler module name
+ * @param compilerModule the compiler module name
*/
protected void runCompilerModuleTest(final String compilerModule) {
final Model outModel = compile(URI
diff --git a/tests/org.eclipse.m2m.atl.emftvm.tests/src/org/eclipse/m2m/atl/emftvm/tests/integration/IntegrationTest.java b/tests/org.eclipse.m2m.atl.emftvm.tests/src/org/eclipse/m2m/atl/emftvm/tests/integration/IntegrationTest.java
index a8cbf70b..44b27efb 100644
--- a/tests/org.eclipse.m2m.atl.emftvm.tests/src/org/eclipse/m2m/atl/emftvm/tests/integration/IntegrationTest.java
+++ b/tests/org.eclipse.m2m.atl.emftvm.tests/src/org/eclipse/m2m/atl/emftvm/tests/integration/IntegrationTest.java
@@ -115,6 +115,27 @@ public class IntegrationTest extends EMFTVMTest {
}
/**
+ * Tests "SearchPlanTest.atl".
+ */
+ public void testSearchPlanTest() {
+ final ResourceSet rs = new ResourceSetImpl();
+ final ExecEnv env = EmftvmFactory.eINSTANCE.createExecEnv();
+ final TimingData td = new TimingData();
+ final Model in = loadTestModel(rs, "/test-data/SearchPlanTest.ecore");
+ final Model out = createTestModel(rs, "/test-data/SearchPlanTest-out.ecore");
+ env.registerInputModel("IN", in);
+ env.registerOutputModel("OUT", out);
+ env.loadModule(createTestModuleResolver(), "SearchPlanTest");
+ td.finishLoading();
+ env.run(td);
+ td.finish();
+
+ final ResourceSet refRs = new ResourceSetImpl();
+ final Model refOut = loadTestModel(refRs, "/test-data/SearchPlanTest-out.ecore");
+ assertEquals(refOut.getResource(), out.getResource());
+ }
+
+ /**
* Tests regression of
* <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=408391">Bug #
* 408391</a>.
diff --git a/tests/org.eclipse.m2m.atl.emftvm.tests/test-data/Regression/Bug425492.emftvm b/tests/org.eclipse.m2m.atl.emftvm.tests/test-data/Regression/Bug425492.emftvm
index 95daa888..9f481424 100644
--- a/tests/org.eclipse.m2m.atl.emftvm.tests/test-data/Regression/Bug425492.emftvm
+++ b/tests/org.eclipse.m2m.atl.emftvm.tests/test-data/Regression/Bug425492.emftvm
Binary files differ
diff --git a/tests/org.eclipse.m2m.atl.emftvm.tests/test-data/SearchPlanTest-out.ecore b/tests/org.eclipse.m2m.atl.emftvm.tests/test-data/SearchPlanTest-out.ecore
new file mode 100644
index 00000000..8cd9d2a2
--- /dev/null
+++ b/tests/org.eclipse.m2m.atl.emftvm.tests/test-data/SearchPlanTest-out.ecore
@@ -0,0 +1,760 @@
+<?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:ecore="http://www.eclipse.org/emf/2002/Ecore">
+ <ecore:EPackage name="SearchPlanTest_ClassA">
+ <eClassifiers xsi:type="ecore:EClass" name="ClassA"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SearchPlanTest_ClassB">
+ <eClassifiers xsi:type="ecore:EClass" name="ClassB"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_ClassA1">
+ <eClassifiers xsi:type="ecore:EClass" name="ClassA1"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_ClassB1">
+ <eClassifiers xsi:type="ecore:EClass" name="ClassB1"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_ClassA2">
+ <eClassifiers xsi:type="ecore:EClass" name="ClassA2"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_ClassB2">
+ <eClassifiers xsi:type="ecore:EClass" name="ClassB2"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_ClassA3">
+ <eClassifiers xsi:type="ecore:EClass" name="ClassA3"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_ClassB3">
+ <eClassifiers xsi:type="ecore:EClass" name="ClassB3"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SearchPlanTest_AbstractClassC">
+ <eClassifiers xsi:type="ecore:EClass" name="AbstractClassC" abstract="true"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SearchPlanTest_InterfaceD">
+ <eClassifiers xsi:type="ecore:EClass" name="InterfaceD" abstract="true" interface="true"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_AbstractClassC1">
+ <eClassifiers xsi:type="ecore:EClass" name="AbstractClassC1" abstract="true"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_InterfaceD1">
+ <eClassifiers xsi:type="ecore:EClass" name="InterfaceD1" abstract="true" interface="true"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_AbstractClassC2">
+ <eClassifiers xsi:type="ecore:EClass" name="AbstractClassC2" abstract="true"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_InterfaceD2">
+ <eClassifiers xsi:type="ecore:EClass" name="InterfaceD2" abstract="true" interface="true"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_AbstractClassC3">
+ <eClassifiers xsi:type="ecore:EClass" name="AbstractClassC3" abstract="true"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_InterfaceD3">
+ <eClassifiers xsi:type="ecore:EClass" name="InterfaceD3" abstract="true" interface="true"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SearchPlanTest_DataTypeE">
+ <eClassifiers xsi:type="ecore:EDataType" name="DataTypeE" instanceClassName="java.lang.String"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_DataTypeE1">
+ <eClassifiers xsi:type="ecore:EDataType" name="DataTypeE1" instanceClassName="java.lang.String"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_DataTypeE2">
+ <eClassifiers xsi:type="ecore:EDataType" name="DataTypeE2" instanceClassName="java.lang.String"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_DataTypeE3">
+ <eClassifiers xsi:type="ecore:EDataType" name="DataTypeE3" instanceClassName="java.lang.String"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SearchPlanTest_http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SearchPlanTest_http://www.eclipse.org/emf/2002/GenModel">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SearchPlanTest_http://www.eclipse.org/emf/2002/Ecore">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_http:///org/eclipse/emf/ecore/util/ExtendedMetaData1">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData1"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_http://www.eclipse.org/emf/2002/GenModel1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel1"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_http://www.eclipse.org/emf/2002/Ecore1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore1"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_http:///org/eclipse/emf/ecore/util/ExtendedMetaData2">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData2"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_http://www.eclipse.org/emf/2002/GenModel2">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel2"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_http://www.eclipse.org/emf/2002/Ecore2">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore2"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_http:///org/eclipse/emf/ecore/util/ExtendedMetaData3">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData3"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_http://www.eclipse.org/emf/2002/GenModel3">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel3"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_http://www.eclipse.org/emf/2002/Ecore3">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore3"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SearchPlanTest_http:///org/eclipse/emf/ecore/util/ExtendedMetaData_http:///org/eclipse/emf/ecore/util/ExtendedMetaData_http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SearchPlanTest_http:///org/eclipse/emf/ecore/util/ExtendedMetaData_http:///org/eclipse/emf/ecore/util/ExtendedMetaData_http://www.eclipse.org/emf/2002/GenModel">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SearchPlanTest_http:///org/eclipse/emf/ecore/util/ExtendedMetaData_http:///org/eclipse/emf/ecore/util/ExtendedMetaData_http://www.eclipse.org/emf/2002/Ecore">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SearchPlanTest_http:///org/eclipse/emf/ecore/util/ExtendedMetaData_http://www.eclipse.org/emf/2002/GenModel_http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SearchPlanTest_http:///org/eclipse/emf/ecore/util/ExtendedMetaData_http://www.eclipse.org/emf/2002/GenModel_http://www.eclipse.org/emf/2002/GenModel">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SearchPlanTest_http:///org/eclipse/emf/ecore/util/ExtendedMetaData_http://www.eclipse.org/emf/2002/GenModel_http://www.eclipse.org/emf/2002/Ecore">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SearchPlanTest_http:///org/eclipse/emf/ecore/util/ExtendedMetaData_http://www.eclipse.org/emf/2002/Ecore_http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SearchPlanTest_http:///org/eclipse/emf/ecore/util/ExtendedMetaData_http://www.eclipse.org/emf/2002/Ecore_http://www.eclipse.org/emf/2002/GenModel">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SearchPlanTest_http:///org/eclipse/emf/ecore/util/ExtendedMetaData_http://www.eclipse.org/emf/2002/Ecore_http://www.eclipse.org/emf/2002/Ecore">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SearchPlanTest_http://www.eclipse.org/emf/2002/GenModel_http:///org/eclipse/emf/ecore/util/ExtendedMetaData_http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SearchPlanTest_http://www.eclipse.org/emf/2002/GenModel_http:///org/eclipse/emf/ecore/util/ExtendedMetaData_http://www.eclipse.org/emf/2002/GenModel">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SearchPlanTest_http://www.eclipse.org/emf/2002/GenModel_http:///org/eclipse/emf/ecore/util/ExtendedMetaData_http://www.eclipse.org/emf/2002/Ecore">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SearchPlanTest_http://www.eclipse.org/emf/2002/GenModel_http://www.eclipse.org/emf/2002/GenModel_http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SearchPlanTest_http://www.eclipse.org/emf/2002/GenModel_http://www.eclipse.org/emf/2002/GenModel_http://www.eclipse.org/emf/2002/GenModel">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SearchPlanTest_http://www.eclipse.org/emf/2002/GenModel_http://www.eclipse.org/emf/2002/GenModel_http://www.eclipse.org/emf/2002/Ecore">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SearchPlanTest_http://www.eclipse.org/emf/2002/GenModel_http://www.eclipse.org/emf/2002/Ecore_http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SearchPlanTest_http://www.eclipse.org/emf/2002/GenModel_http://www.eclipse.org/emf/2002/Ecore_http://www.eclipse.org/emf/2002/GenModel">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SearchPlanTest_http://www.eclipse.org/emf/2002/GenModel_http://www.eclipse.org/emf/2002/Ecore_http://www.eclipse.org/emf/2002/Ecore">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SearchPlanTest_http://www.eclipse.org/emf/2002/Ecore_http:///org/eclipse/emf/ecore/util/ExtendedMetaData_http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SearchPlanTest_http://www.eclipse.org/emf/2002/Ecore_http:///org/eclipse/emf/ecore/util/ExtendedMetaData_http://www.eclipse.org/emf/2002/GenModel">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SearchPlanTest_http://www.eclipse.org/emf/2002/Ecore_http:///org/eclipse/emf/ecore/util/ExtendedMetaData_http://www.eclipse.org/emf/2002/Ecore">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SearchPlanTest_http://www.eclipse.org/emf/2002/Ecore_http://www.eclipse.org/emf/2002/GenModel_http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SearchPlanTest_http://www.eclipse.org/emf/2002/Ecore_http://www.eclipse.org/emf/2002/GenModel_http://www.eclipse.org/emf/2002/GenModel">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SearchPlanTest_http://www.eclipse.org/emf/2002/Ecore_http://www.eclipse.org/emf/2002/GenModel_http://www.eclipse.org/emf/2002/Ecore">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SearchPlanTest_http://www.eclipse.org/emf/2002/Ecore_http://www.eclipse.org/emf/2002/Ecore_http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SearchPlanTest_http://www.eclipse.org/emf/2002/Ecore_http://www.eclipse.org/emf/2002/Ecore_http://www.eclipse.org/emf/2002/GenModel">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SearchPlanTest_http://www.eclipse.org/emf/2002/Ecore_http://www.eclipse.org/emf/2002/Ecore_http://www.eclipse.org/emf/2002/Ecore">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_http:///org/eclipse/emf/ecore/util/ExtendedMetaData1_http:///org/eclipse/emf/ecore/util/ExtendedMetaData1_http:///org/eclipse/emf/ecore/util/ExtendedMetaData1">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData1"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData1"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData1"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_http:///org/eclipse/emf/ecore/util/ExtendedMetaData1_http:///org/eclipse/emf/ecore/util/ExtendedMetaData1_http://www.eclipse.org/emf/2002/GenModel1">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData1"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel1"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_http:///org/eclipse/emf/ecore/util/ExtendedMetaData1_http:///org/eclipse/emf/ecore/util/ExtendedMetaData1_http://www.eclipse.org/emf/2002/Ecore1">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData1"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore1"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_http:///org/eclipse/emf/ecore/util/ExtendedMetaData1_http://www.eclipse.org/emf/2002/GenModel1_http:///org/eclipse/emf/ecore/util/ExtendedMetaData1">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel1"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData1"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_http:///org/eclipse/emf/ecore/util/ExtendedMetaData1_http://www.eclipse.org/emf/2002/GenModel1_http://www.eclipse.org/emf/2002/GenModel1">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel1"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_http:///org/eclipse/emf/ecore/util/ExtendedMetaData1_http://www.eclipse.org/emf/2002/GenModel1_http://www.eclipse.org/emf/2002/Ecore1">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore1"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_http:///org/eclipse/emf/ecore/util/ExtendedMetaData1_http://www.eclipse.org/emf/2002/Ecore1_http:///org/eclipse/emf/ecore/util/ExtendedMetaData1">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore1"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData1"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_http:///org/eclipse/emf/ecore/util/ExtendedMetaData1_http://www.eclipse.org/emf/2002/Ecore1_http://www.eclipse.org/emf/2002/GenModel1">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel1"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_http:///org/eclipse/emf/ecore/util/ExtendedMetaData1_http://www.eclipse.org/emf/2002/Ecore1_http://www.eclipse.org/emf/2002/Ecore1">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore1"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_http://www.eclipse.org/emf/2002/GenModel1_http:///org/eclipse/emf/ecore/util/ExtendedMetaData1_http:///org/eclipse/emf/ecore/util/ExtendedMetaData1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel1"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData1"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData1"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_http://www.eclipse.org/emf/2002/GenModel1_http:///org/eclipse/emf/ecore/util/ExtendedMetaData1_http://www.eclipse.org/emf/2002/GenModel1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel1"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel1"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_http://www.eclipse.org/emf/2002/GenModel1_http:///org/eclipse/emf/ecore/util/ExtendedMetaData1_http://www.eclipse.org/emf/2002/Ecore1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel1"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore1"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_http://www.eclipse.org/emf/2002/GenModel1_http://www.eclipse.org/emf/2002/GenModel1_http:///org/eclipse/emf/ecore/util/ExtendedMetaData1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel1"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData1"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_http://www.eclipse.org/emf/2002/GenModel1_http://www.eclipse.org/emf/2002/GenModel1_http://www.eclipse.org/emf/2002/GenModel1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel1"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_http://www.eclipse.org/emf/2002/GenModel1_http://www.eclipse.org/emf/2002/GenModel1_http://www.eclipse.org/emf/2002/Ecore1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore1"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_http://www.eclipse.org/emf/2002/GenModel1_http://www.eclipse.org/emf/2002/Ecore1_http:///org/eclipse/emf/ecore/util/ExtendedMetaData1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore1"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData1"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_http://www.eclipse.org/emf/2002/GenModel1_http://www.eclipse.org/emf/2002/Ecore1_http://www.eclipse.org/emf/2002/GenModel1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel1"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_http://www.eclipse.org/emf/2002/GenModel1_http://www.eclipse.org/emf/2002/Ecore1_http://www.eclipse.org/emf/2002/Ecore1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore1"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_http://www.eclipse.org/emf/2002/Ecore1_http:///org/eclipse/emf/ecore/util/ExtendedMetaData1_http:///org/eclipse/emf/ecore/util/ExtendedMetaData1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore1"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData1"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData1"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_http://www.eclipse.org/emf/2002/Ecore1_http:///org/eclipse/emf/ecore/util/ExtendedMetaData1_http://www.eclipse.org/emf/2002/GenModel1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore1"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel1"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_http://www.eclipse.org/emf/2002/Ecore1_http:///org/eclipse/emf/ecore/util/ExtendedMetaData1_http://www.eclipse.org/emf/2002/Ecore1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore1"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore1"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_http://www.eclipse.org/emf/2002/Ecore1_http://www.eclipse.org/emf/2002/GenModel1_http:///org/eclipse/emf/ecore/util/ExtendedMetaData1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel1"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData1"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_http://www.eclipse.org/emf/2002/Ecore1_http://www.eclipse.org/emf/2002/GenModel1_http://www.eclipse.org/emf/2002/GenModel1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel1"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_http://www.eclipse.org/emf/2002/Ecore1_http://www.eclipse.org/emf/2002/GenModel1_http://www.eclipse.org/emf/2002/Ecore1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore1"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_http://www.eclipse.org/emf/2002/Ecore1_http://www.eclipse.org/emf/2002/Ecore1_http:///org/eclipse/emf/ecore/util/ExtendedMetaData1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore1"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData1"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_http://www.eclipse.org/emf/2002/Ecore1_http://www.eclipse.org/emf/2002/Ecore1_http://www.eclipse.org/emf/2002/GenModel1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel1"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_http://www.eclipse.org/emf/2002/Ecore1_http://www.eclipse.org/emf/2002/Ecore1_http://www.eclipse.org/emf/2002/Ecore1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore1"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_http:///org/eclipse/emf/ecore/util/ExtendedMetaData2_http:///org/eclipse/emf/ecore/util/ExtendedMetaData2_http:///org/eclipse/emf/ecore/util/ExtendedMetaData2">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData2"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData2"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData2"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_http:///org/eclipse/emf/ecore/util/ExtendedMetaData2_http:///org/eclipse/emf/ecore/util/ExtendedMetaData2_http://www.eclipse.org/emf/2002/GenModel2">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData2"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel2"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_http:///org/eclipse/emf/ecore/util/ExtendedMetaData2_http:///org/eclipse/emf/ecore/util/ExtendedMetaData2_http://www.eclipse.org/emf/2002/Ecore2">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData2"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore2"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_http:///org/eclipse/emf/ecore/util/ExtendedMetaData2_http://www.eclipse.org/emf/2002/GenModel2_http:///org/eclipse/emf/ecore/util/ExtendedMetaData2">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel2"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData2"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_http:///org/eclipse/emf/ecore/util/ExtendedMetaData2_http://www.eclipse.org/emf/2002/GenModel2_http://www.eclipse.org/emf/2002/GenModel2">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel2"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_http:///org/eclipse/emf/ecore/util/ExtendedMetaData2_http://www.eclipse.org/emf/2002/GenModel2_http://www.eclipse.org/emf/2002/Ecore2">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore2"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_http:///org/eclipse/emf/ecore/util/ExtendedMetaData2_http://www.eclipse.org/emf/2002/Ecore2_http:///org/eclipse/emf/ecore/util/ExtendedMetaData2">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore2"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData2"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_http:///org/eclipse/emf/ecore/util/ExtendedMetaData2_http://www.eclipse.org/emf/2002/Ecore2_http://www.eclipse.org/emf/2002/GenModel2">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel2"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_http:///org/eclipse/emf/ecore/util/ExtendedMetaData2_http://www.eclipse.org/emf/2002/Ecore2_http://www.eclipse.org/emf/2002/Ecore2">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore2"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_http://www.eclipse.org/emf/2002/GenModel2_http:///org/eclipse/emf/ecore/util/ExtendedMetaData2_http:///org/eclipse/emf/ecore/util/ExtendedMetaData2">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel2"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData2"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData2"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_http://www.eclipse.org/emf/2002/GenModel2_http:///org/eclipse/emf/ecore/util/ExtendedMetaData2_http://www.eclipse.org/emf/2002/GenModel2">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel2"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel2"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_http://www.eclipse.org/emf/2002/GenModel2_http:///org/eclipse/emf/ecore/util/ExtendedMetaData2_http://www.eclipse.org/emf/2002/Ecore2">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel2"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore2"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_http://www.eclipse.org/emf/2002/GenModel2_http://www.eclipse.org/emf/2002/GenModel2_http:///org/eclipse/emf/ecore/util/ExtendedMetaData2">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel2"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData2"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_http://www.eclipse.org/emf/2002/GenModel2_http://www.eclipse.org/emf/2002/GenModel2_http://www.eclipse.org/emf/2002/GenModel2">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel2"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_http://www.eclipse.org/emf/2002/GenModel2_http://www.eclipse.org/emf/2002/GenModel2_http://www.eclipse.org/emf/2002/Ecore2">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore2"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_http://www.eclipse.org/emf/2002/GenModel2_http://www.eclipse.org/emf/2002/Ecore2_http:///org/eclipse/emf/ecore/util/ExtendedMetaData2">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore2"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData2"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_http://www.eclipse.org/emf/2002/GenModel2_http://www.eclipse.org/emf/2002/Ecore2_http://www.eclipse.org/emf/2002/GenModel2">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel2"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_http://www.eclipse.org/emf/2002/GenModel2_http://www.eclipse.org/emf/2002/Ecore2_http://www.eclipse.org/emf/2002/Ecore2">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore2"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_http://www.eclipse.org/emf/2002/Ecore2_http:///org/eclipse/emf/ecore/util/ExtendedMetaData2_http:///org/eclipse/emf/ecore/util/ExtendedMetaData2">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore2"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData2"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData2"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_http://www.eclipse.org/emf/2002/Ecore2_http:///org/eclipse/emf/ecore/util/ExtendedMetaData2_http://www.eclipse.org/emf/2002/GenModel2">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore2"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel2"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_http://www.eclipse.org/emf/2002/Ecore2_http:///org/eclipse/emf/ecore/util/ExtendedMetaData2_http://www.eclipse.org/emf/2002/Ecore2">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore2"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore2"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_http://www.eclipse.org/emf/2002/Ecore2_http://www.eclipse.org/emf/2002/GenModel2_http:///org/eclipse/emf/ecore/util/ExtendedMetaData2">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel2"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData2"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_http://www.eclipse.org/emf/2002/Ecore2_http://www.eclipse.org/emf/2002/GenModel2_http://www.eclipse.org/emf/2002/GenModel2">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel2"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_http://www.eclipse.org/emf/2002/Ecore2_http://www.eclipse.org/emf/2002/GenModel2_http://www.eclipse.org/emf/2002/Ecore2">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore2"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_http://www.eclipse.org/emf/2002/Ecore2_http://www.eclipse.org/emf/2002/Ecore2_http:///org/eclipse/emf/ecore/util/ExtendedMetaData2">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore2"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData2"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_http://www.eclipse.org/emf/2002/Ecore2_http://www.eclipse.org/emf/2002/Ecore2_http://www.eclipse.org/emf/2002/GenModel2">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel2"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_http://www.eclipse.org/emf/2002/Ecore2_http://www.eclipse.org/emf/2002/Ecore2_http://www.eclipse.org/emf/2002/Ecore2">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore2"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_http:///org/eclipse/emf/ecore/util/ExtendedMetaData3_http:///org/eclipse/emf/ecore/util/ExtendedMetaData3_http:///org/eclipse/emf/ecore/util/ExtendedMetaData3">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData3"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData3"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData3"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_http:///org/eclipse/emf/ecore/util/ExtendedMetaData3_http:///org/eclipse/emf/ecore/util/ExtendedMetaData3_http://www.eclipse.org/emf/2002/GenModel3">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData3"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel3"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_http:///org/eclipse/emf/ecore/util/ExtendedMetaData3_http:///org/eclipse/emf/ecore/util/ExtendedMetaData3_http://www.eclipse.org/emf/2002/Ecore3">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData3"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore3"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_http:///org/eclipse/emf/ecore/util/ExtendedMetaData3_http://www.eclipse.org/emf/2002/GenModel3_http:///org/eclipse/emf/ecore/util/ExtendedMetaData3">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel3"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData3"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_http:///org/eclipse/emf/ecore/util/ExtendedMetaData3_http://www.eclipse.org/emf/2002/GenModel3_http://www.eclipse.org/emf/2002/GenModel3">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel3"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_http:///org/eclipse/emf/ecore/util/ExtendedMetaData3_http://www.eclipse.org/emf/2002/GenModel3_http://www.eclipse.org/emf/2002/Ecore3">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore3"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_http:///org/eclipse/emf/ecore/util/ExtendedMetaData3_http://www.eclipse.org/emf/2002/Ecore3_http:///org/eclipse/emf/ecore/util/ExtendedMetaData3">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore3"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData3"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_http:///org/eclipse/emf/ecore/util/ExtendedMetaData3_http://www.eclipse.org/emf/2002/Ecore3_http://www.eclipse.org/emf/2002/GenModel3">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel3"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_http:///org/eclipse/emf/ecore/util/ExtendedMetaData3_http://www.eclipse.org/emf/2002/Ecore3_http://www.eclipse.org/emf/2002/Ecore3">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore3"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_http://www.eclipse.org/emf/2002/GenModel3_http:///org/eclipse/emf/ecore/util/ExtendedMetaData3_http:///org/eclipse/emf/ecore/util/ExtendedMetaData3">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel3"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData3"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData3"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_http://www.eclipse.org/emf/2002/GenModel3_http:///org/eclipse/emf/ecore/util/ExtendedMetaData3_http://www.eclipse.org/emf/2002/GenModel3">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel3"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel3"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_http://www.eclipse.org/emf/2002/GenModel3_http:///org/eclipse/emf/ecore/util/ExtendedMetaData3_http://www.eclipse.org/emf/2002/Ecore3">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel3"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore3"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_http://www.eclipse.org/emf/2002/GenModel3_http://www.eclipse.org/emf/2002/GenModel3_http:///org/eclipse/emf/ecore/util/ExtendedMetaData3">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel3"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData3"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_http://www.eclipse.org/emf/2002/GenModel3_http://www.eclipse.org/emf/2002/GenModel3_http://www.eclipse.org/emf/2002/GenModel3">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel3"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_http://www.eclipse.org/emf/2002/GenModel3_http://www.eclipse.org/emf/2002/GenModel3_http://www.eclipse.org/emf/2002/Ecore3">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore3"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_http://www.eclipse.org/emf/2002/GenModel3_http://www.eclipse.org/emf/2002/Ecore3_http:///org/eclipse/emf/ecore/util/ExtendedMetaData3">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore3"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData3"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_http://www.eclipse.org/emf/2002/GenModel3_http://www.eclipse.org/emf/2002/Ecore3_http://www.eclipse.org/emf/2002/GenModel3">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel3"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_http://www.eclipse.org/emf/2002/GenModel3_http://www.eclipse.org/emf/2002/Ecore3_http://www.eclipse.org/emf/2002/Ecore3">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore3"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_http://www.eclipse.org/emf/2002/Ecore3_http:///org/eclipse/emf/ecore/util/ExtendedMetaData3_http:///org/eclipse/emf/ecore/util/ExtendedMetaData3">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore3"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData3"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData3"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_http://www.eclipse.org/emf/2002/Ecore3_http:///org/eclipse/emf/ecore/util/ExtendedMetaData3_http://www.eclipse.org/emf/2002/GenModel3">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore3"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel3"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_http://www.eclipse.org/emf/2002/Ecore3_http:///org/eclipse/emf/ecore/util/ExtendedMetaData3_http://www.eclipse.org/emf/2002/Ecore3">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore3"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore3"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_http://www.eclipse.org/emf/2002/Ecore3_http://www.eclipse.org/emf/2002/GenModel3_http:///org/eclipse/emf/ecore/util/ExtendedMetaData3">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel3"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData3"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_http://www.eclipse.org/emf/2002/Ecore3_http://www.eclipse.org/emf/2002/GenModel3_http://www.eclipse.org/emf/2002/GenModel3">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel3"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_http://www.eclipse.org/emf/2002/Ecore3_http://www.eclipse.org/emf/2002/GenModel3_http://www.eclipse.org/emf/2002/Ecore3">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore3"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_http://www.eclipse.org/emf/2002/Ecore3_http://www.eclipse.org/emf/2002/Ecore3_http:///org/eclipse/emf/ecore/util/ExtendedMetaData3">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore3"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData3"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_http://www.eclipse.org/emf/2002/Ecore3_http://www.eclipse.org/emf/2002/Ecore3_http://www.eclipse.org/emf/2002/GenModel3">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel3"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_http://www.eclipse.org/emf/2002/Ecore3_http://www.eclipse.org/emf/2002/Ecore3_http://www.eclipse.org/emf/2002/Ecore3">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore3"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SearchPlanTest_http:///org/eclipse/emf/ecore/util/ExtendedMetaData_http://www.eclipse.org/emf/2002/GenModel_http://www.eclipse.org/emf/2002/Ecore">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SearchPlanTest_http:///org/eclipse/emf/ecore/util/ExtendedMetaData_http://www.eclipse.org/emf/2002/Ecore_http://www.eclipse.org/emf/2002/GenModel">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SearchPlanTest_http://www.eclipse.org/emf/2002/GenModel_http:///org/eclipse/emf/ecore/util/ExtendedMetaData_http://www.eclipse.org/emf/2002/Ecore">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SearchPlanTest_http://www.eclipse.org/emf/2002/GenModel_http://www.eclipse.org/emf/2002/Ecore_http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SearchPlanTest_http://www.eclipse.org/emf/2002/Ecore_http:///org/eclipse/emf/ecore/util/ExtendedMetaData_http://www.eclipse.org/emf/2002/GenModel">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SearchPlanTest_http://www.eclipse.org/emf/2002/Ecore_http://www.eclipse.org/emf/2002/GenModel_http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_http:///org/eclipse/emf/ecore/util/ExtendedMetaData1_http://www.eclipse.org/emf/2002/GenModel1_http://www.eclipse.org/emf/2002/Ecore1">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore1"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_http:///org/eclipse/emf/ecore/util/ExtendedMetaData1_http://www.eclipse.org/emf/2002/Ecore1_http://www.eclipse.org/emf/2002/GenModel1">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel1"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_http://www.eclipse.org/emf/2002/GenModel1_http:///org/eclipse/emf/ecore/util/ExtendedMetaData1_http://www.eclipse.org/emf/2002/Ecore1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel1"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore1"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_http://www.eclipse.org/emf/2002/GenModel1_http://www.eclipse.org/emf/2002/Ecore1_http:///org/eclipse/emf/ecore/util/ExtendedMetaData1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore1"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData1"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_http://www.eclipse.org/emf/2002/Ecore1_http:///org/eclipse/emf/ecore/util/ExtendedMetaData1_http://www.eclipse.org/emf/2002/GenModel1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore1"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel1"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage1_http://www.eclipse.org/emf/2002/Ecore1_http://www.eclipse.org/emf/2002/GenModel1_http:///org/eclipse/emf/ecore/util/ExtendedMetaData1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel1"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData1"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_http:///org/eclipse/emf/ecore/util/ExtendedMetaData2_http://www.eclipse.org/emf/2002/GenModel2_http://www.eclipse.org/emf/2002/Ecore2">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore2"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_http:///org/eclipse/emf/ecore/util/ExtendedMetaData2_http://www.eclipse.org/emf/2002/Ecore2_http://www.eclipse.org/emf/2002/GenModel2">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel2"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_http://www.eclipse.org/emf/2002/GenModel2_http:///org/eclipse/emf/ecore/util/ExtendedMetaData2_http://www.eclipse.org/emf/2002/Ecore2">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel2"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore2"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_http://www.eclipse.org/emf/2002/GenModel2_http://www.eclipse.org/emf/2002/Ecore2_http:///org/eclipse/emf/ecore/util/ExtendedMetaData2">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore2"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData2"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_http://www.eclipse.org/emf/2002/Ecore2_http:///org/eclipse/emf/ecore/util/ExtendedMetaData2_http://www.eclipse.org/emf/2002/GenModel2">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore2"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel2"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage2_http://www.eclipse.org/emf/2002/Ecore2_http://www.eclipse.org/emf/2002/GenModel2_http:///org/eclipse/emf/ecore/util/ExtendedMetaData2">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel2"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData2"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_http:///org/eclipse/emf/ecore/util/ExtendedMetaData3_http://www.eclipse.org/emf/2002/GenModel3_http://www.eclipse.org/emf/2002/Ecore3">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore3"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_http:///org/eclipse/emf/ecore/util/ExtendedMetaData3_http://www.eclipse.org/emf/2002/Ecore3_http://www.eclipse.org/emf/2002/GenModel3">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel3"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_http://www.eclipse.org/emf/2002/GenModel3_http:///org/eclipse/emf/ecore/util/ExtendedMetaData3_http://www.eclipse.org/emf/2002/Ecore3">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel3"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore3"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_http://www.eclipse.org/emf/2002/GenModel3_http://www.eclipse.org/emf/2002/Ecore3_http:///org/eclipse/emf/ecore/util/ExtendedMetaData3">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore3"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData3"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_http://www.eclipse.org/emf/2002/Ecore3_http:///org/eclipse/emf/ecore/util/ExtendedMetaData3_http://www.eclipse.org/emf/2002/GenModel3">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore3"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel3"/>
+ </ecore:EPackage>
+ <ecore:EPackage name="SubPackage3_http://www.eclipse.org/emf/2002/Ecore3_http://www.eclipse.org/emf/2002/GenModel3_http:///org/eclipse/emf/ecore/util/ExtendedMetaData3">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel3"/>
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData3"/>
+ </ecore:EPackage>
+</xmi:XMI>
diff --git a/tests/org.eclipse.m2m.atl.emftvm.tests/test-data/SearchPlanTest.atl b/tests/org.eclipse.m2m.atl.emftvm.tests/test-data/SearchPlanTest.atl
new file mode 100644
index 00000000..3bb6775f
--- /dev/null
+++ b/tests/org.eclipse.m2m.atl.emftvm.tests/test-data/SearchPlanTest.atl
@@ -0,0 +1,151 @@
+-- @atlcompiler emftvm
+-- @nsURI ECORE=http://www.eclipse.org/emf/2002/Ecore
+module SearchPlanTest;
+
+create OUT : ECORE from IN : ECORE;
+
+rule PackageClass {
+ from
+ p : ECORE!EPackage,
+ c : ECORE!EClass (
+ p.eClassifiers->select(e | e.oclIsKindOf(ECORE!EClass) and not e."abstract")->includes(c)
+ and
+ c.ePackage = p
+ and
+ p = c.ePackage
+ and
+ c = c
+ )
+ to
+ t : ECORE!EPackage (
+ name <- p.name + '_' + c.name,
+ eClassifiers <- Sequence{thisModule.Class(c)}
+ )
+}
+
+rule PackageAbstractClass {
+ from
+ p : ECORE!EPackage,
+ ac : ECORE!EClass (
+ ac.ePackage = p
+ and
+ p = ac.ePackage
+ and
+ ac."abstract"
+ )
+ to
+ t : ECORE!EPackage (
+ name <- p.name + '_' + ac.name,
+ eClassifiers <- Sequence{thisModule.Class(ac)}
+ )
+}
+
+rule PackageDataType {
+ from
+ p : ECORE!EPackage,
+ d : ECORE!EDataType (
+ d.ePackage = p
+ and
+ d.instanceClassName <> ''
+ )
+ to
+ t : ECORE!EPackage (
+ name <- p.name + '_' + d.name,
+ eClassifiers <- Sequence{thisModule.DataType(d)}
+ )
+}
+
+rule PackageAnnotation {
+ from
+ p : ECORE!EPackage,
+ a : ECORE!EAnnotation (
+ p.eAnnotations->includes(a)
+ )
+ to
+ t : ECORE!EPackage (
+ name <- p.name + '_' + a.source,
+ eAnnotations <- Sequence{thisModule.Annotation(a)}
+ )
+}
+
+nodefault rule PackageAnnotation3 {
+ from
+ p : ECORE!EPackage,
+ a1 : ECORE!EAnnotation,
+ a2 : ECORE!EAnnotation,
+ a3 : ECORE!EAnnotation (
+ p.eAnnotations->includes(a1)
+ and
+ p.eAnnotations->includes(a2)
+ and
+ p.eAnnotations->includes(a3)
+ )
+ to
+ t : ECORE!EPackage (
+ name <- p.name + '_' + a1.source + '_' + a2.source + '_' + a3.source,
+ eAnnotations <- Sequence{
+ thisModule.Annotation(a1),
+ thisModule.Annotation(a2),
+ thisModule.Annotation(a3)
+ }
+ )
+}
+
+rule PackageAnnotation3plus {
+ from
+ p : ECORE!EPackage,
+ a1 : ECORE!EAnnotation,
+ a2 : ECORE!EAnnotation,
+ a3 : ECORE!EAnnotation (
+ a1 <> a3
+ and
+ p.eAnnotations->includes(a1)
+ and
+ a1 <> a2
+ and
+ p.eAnnotations->includes(a2)
+ and
+ p.eAnnotations->includes(a3)
+ and
+ a2 <> a3
+ )
+ to
+ t : ECORE!EPackage (
+ name <- p.name + '_' + a1.source + '_' + a2.source + '_' + a3.source,
+ eAnnotations <- Sequence{
+ thisModule.Annotation(a1),
+ thisModule.Annotation(a2),
+ thisModule.Annotation(a3)
+ }
+ )
+}
+
+unique lazy rule Class {
+ from
+ s : ECORE!EClass
+ to
+ t : ECORE!EClass (
+ "abstract" <- s."abstract",
+ interface <- s.interface,
+ name <- s.name
+ )
+}
+
+unique lazy rule DataType {
+ from
+ s : ECORE!EDataType
+ to
+ t : ECORE!EDataType (
+ name <- s.name,
+ instanceClassName <- s.instanceClassName
+ )
+}
+
+lazy rule Annotation {
+ from
+ s : ECORE!EAnnotation
+ to
+ t : ECORE!EAnnotation (
+ source <- s.source
+ )
+}
diff --git a/tests/org.eclipse.m2m.atl.emftvm.tests/test-data/SearchPlanTest.ecore b/tests/org.eclipse.m2m.atl.emftvm.tests/test-data/SearchPlanTest.ecore
new file mode 100644
index 00000000..97c94a7d
--- /dev/null
+++ b/tests/org.eclipse.m2m.atl.emftvm.tests/test-data/SearchPlanTest.ecore
@@ -0,0 +1,42 @@
+<?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="SearchPlanTest" nsURI="SearchPlanTest" nsPrefix="SearchPlanTest">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ClassA"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ClassB"/>
+ <eClassifiers xsi:type="ecore:EClass" name="AbstractClassC" abstract="true"/>
+ <eClassifiers xsi:type="ecore:EClass" name="InterfaceD" abstract="true" interface="true"/>
+ <eClassifiers xsi:type="ecore:EDataType" name="DataTypeE" instanceClassName="java.lang.String"/>
+ <eSubpackages name="SubPackage1" nsURI="SubPackage1" nsPrefix="SubPackage1">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel1"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore1"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ClassA1"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ClassB1"/>
+ <eClassifiers xsi:type="ecore:EClass" name="AbstractClassC1" abstract="true"/>
+ <eClassifiers xsi:type="ecore:EClass" name="InterfaceD1" abstract="true" interface="true"/>
+ <eClassifiers xsi:type="ecore:EDataType" name="DataTypeE1" instanceClassName="java.lang.String"/>
+ </eSubpackages>
+ <eSubpackages name="SubPackage2" nsURI="SubPackage2" nsPrefix="SubPackage2">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel2"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore2"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ClassA2"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ClassB2"/>
+ <eClassifiers xsi:type="ecore:EClass" name="AbstractClassC2" abstract="true"/>
+ <eClassifiers xsi:type="ecore:EClass" name="InterfaceD2" abstract="true" interface="true"/>
+ <eClassifiers xsi:type="ecore:EDataType" name="DataTypeE2" instanceClassName="java.lang.String"/>
+ </eSubpackages>
+ <eSubpackages name="SubPackage3" nsURI="SubPackage2" nsPrefix="SubPackage2">
+ <eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel3"/>
+ <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore3"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ClassA3"/>
+ <eClassifiers xsi:type="ecore:EClass" name="ClassB3"/>
+ <eClassifiers xsi:type="ecore:EClass" name="AbstractClassC3" abstract="true"/>
+ <eClassifiers xsi:type="ecore:EClass" name="InterfaceD3" abstract="true" interface="true"/>
+ <eClassifiers xsi:type="ecore:EDataType" name="DataTypeE3" instanceClassName="java.lang.String"/>
+ </eSubpackages>
+</ecore:EPackage>
diff --git a/tests/org.eclipse.m2m.atl.emftvm.tests/test-data/SearchPlanTest.emftvm b/tests/org.eclipse.m2m.atl.emftvm.tests/test-data/SearchPlanTest.emftvm
new file mode 100644
index 00000000..61a53b90
--- /dev/null
+++ b/tests/org.eclipse.m2m.atl.emftvm.tests/test-data/SearchPlanTest.emftvm
Binary files differ
diff --git a/tests/org.eclipse.m2m.atl.emftvm.tests/transformations/.gitignore b/tests/org.eclipse.m2m.atl.emftvm.tests/transformations/.gitignore
index cbb34c7d..190853f0 100644
--- a/tests/org.eclipse.m2m.atl.emftvm.tests/transformations/.gitignore
+++ b/tests/org.eclipse.m2m.atl.emftvm.tests/transformations/.gitignore
@@ -1 +1,2 @@
/CountFindtypeNew.emftvm
+/TestATLSearchPlan.emftvm
diff --git a/tests/org.eclipse.m2m.atl.emftvm.tests/transformations/TestATLSearchPlan.atl b/tests/org.eclipse.m2m.atl.emftvm.tests/transformations/TestATLSearchPlan.atl
new file mode 100644
index 00000000..67feb4b6
--- /dev/null
+++ b/tests/org.eclipse.m2m.atl.emftvm.tests/transformations/TestATLSearchPlan.atl
@@ -0,0 +1,84 @@
+-- @atlcompiler emftvm
+-- @path ATL=/org.eclipse.m2m.atl.common/model/ATL.ecore
+query TestATLSearchPlan = ('canBindWith for all OclExpressions:\n\n' +
+ ATL!OclExpression.allInstances()
+ ->iterate(exp; acc: String = '' |
+ let conj : Sequence(ATL!OclExpression) = exp.asConjunction in
+ let conjStr : String = conj->collect(ce |
+ Tuple{element=ce, location=ce.location, canBindWith=ce.canBindWith}
+ ).toString()
+ in
+ if acc = '' then
+ conjStr
+ else
+ acc + '\n' + conjStr
+ endif
+ ) +
+ '\n\nbindings for all InPatternElements:\n\n' +
+ ATL!InPatternElement.allInstances()
+ ->iterate(ipe; acc: String = '' |
+ let bindings : Sequence(ATL!OclExpression) = ipe.bindings in
+ let bindingStr : String = Tuple{element=ipe.qualifiedName, bindings=bindings->collect(binding |
+ Tuple{b=binding, loc=binding.location, ref=binding.references
+ ->reject(r | r = binding.canBindWith)
+ ->collect(r | r.referredVariable.qualifiedName + '@' + r.location)
+ }
+ )}.toString()
+ in
+ if acc = '' then
+ bindingStr
+ else
+ acc + '\n' + bindingStr
+ endif
+ ) +
+ '\n\nisBinding for all OclExpressions:\n\n' +
+ ATL!OclExpression.allInstances()
+ ->iterate(exp; acc: String = '' |
+ let expStr : String = Tuple{
+ element=exp,
+ location=exp.location,
+ isBinding=exp.isBinding,
+ partOfBinding=exp.partOfBinding,
+ partOfBindingFor=exp.partOfBindingFor.qualifiedName,
+ containsBinding=exp.containsBinding,
+ _firstNonBindingExp=exp.firstNonBindingExp
+ }.toString()
+ in
+ if acc = '' then
+ expStr
+ else
+ acc + '\n' + expStr
+ endif
+ ) +
+ '\n\nFirst non-binding filter expression for all MatchedRules with filters:\n\n' +
+ ATL!MatchedRule.allInstances()->reject(r | r.inPattern.filter.oclIsUndefined())
+ ->iterate(r; acc: String = '' |
+ let rStr : String = Tuple{
+ "rule"=r,
+ location=r.location,
+ firstNonBindingExp=
+ let nbe : ATL!OclExpression = r.inPattern.filter.firstNonBindingExp in
+ if nbe.oclIsUndefined() then
+ 'OclUndefined'
+ else
+ nbe.toString() + '@' + nbe.location
+ endif
+ }.toString()
+ in
+ if acc = '' then
+ rStr
+ else
+ acc + '\n' + rStr
+ endif
+ )).debug();
+
+uses ATLSearchPlan;
+
+helper context OclAny def : qualifiedName : String =
+ 'OclUndefined';
+
+helper context ATL!VariableDeclaration def : qualifiedName : String =
+ self.varName;
+
+helper context ATL!InPatternElement def : qualifiedName : String =
+ self.inPattern."rule".name + '::' + self.varName;

Back to the top