diff options
author | Dennis Wagelaar | 2023-03-11 18:08:34 +0000 |
---|---|---|
committer | Dennis Wagelaar | 2023-03-11 18:08:34 +0000 |
commit | 5e9a5225bb8b24b209b9bb2ad3621c6ac85b9e3f (patch) | |
tree | 6c36f328106852a2b1cc1081dba8abac8ee504ce /tests | |
parent | 7751eae75b1818fc2632707845b6519bad377ce0 (diff) | |
download | org.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')
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 Binary files differindex 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 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 Binary files differnew file mode 100644 index 00000000..61a53b90 --- /dev/null +++ b/tests/org.eclipse.m2m.atl.emftvm.tests/test-data/SearchPlanTest.emftvm 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; |