Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2008-09-18 12:57:24 +0000
committerEike Stepper2008-09-18 12:57:24 +0000
commit25059b9f4277a331568ced5198fc87177c97a0df (patch)
tree8b93331ef33c0e990b9d934aaa541544e6e78891 /plugins/org.eclipse.emf.cdo.tests.model2
parentfc9b00dd988bddeb67ab89f6c077cb7eb8a5dcc6 (diff)
downloadcdo-25059b9f4277a331568ced5198fc87177c97a0df.tar.gz
cdo-25059b9f4277a331568ced5198fc87177c97a0df.tar.xz
cdo-25059b9f4277a331568ced5198fc87177c97a0df.zip
[247226] Transparently support legacy models
https://bugs.eclipse.org/bugs/show_bug.cgi?id=247226
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.tests.model2')
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model2/META-INF/MANIFEST.MF5
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model2/model/model2.genmodel6
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model2/model/model2.legacy.genmodel18
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/legacy/model2/Model2Factory.java43
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/legacy/model2/Model2Package.java204
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/legacy/model2/impl/Model2FactoryImpl.java109
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/legacy/model2/impl/Model2PackageImpl.java223
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/legacy/model2/impl/SpecialPurchaseOrderImpl.java299
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/legacy/model2/util/Model2AdapterFactory.java171
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/legacy/model2/util/Model2Switch.java178
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/model2/Model2Factory.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/model2/Model2Package.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/model2/SpecialPurchaseOrder.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/model2/impl/Model2FactoryImpl.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/model2/impl/Model2PackageImpl.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/model2/impl/SpecialPurchaseOrderImpl.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/model2/util/Model2AdapterFactory.java2
-rw-r--r--plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/model2/util/Model2Switch.java2
18 files changed, 1261 insertions, 11 deletions
diff --git a/plugins/org.eclipse.emf.cdo.tests.model2/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.tests.model2/META-INF/MANIFEST.MF
index 3d8395bd2b..505297a9be 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model2/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.emf.cdo.tests.model2/META-INF/MANIFEST.MF
@@ -11,6 +11,9 @@ Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.4.0,4.0.0)",
org.eclipse.emf.ecore;bundle-version="[2.4.0,3.0.0)";visibility:=reexport,
org.eclipse.emf.cdo;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
org.eclipse.emf.cdo.tests.model1;bundle-version="[2.0.0,3.0.0)";visibility:=reexport
-Export-Package: org.eclipse.emf.cdo.tests.model2;version="2.0.0",
+Export-Package: org.eclipse.emf.cdo.tests.legacy.model2;version="2.0.0",
+ org.eclipse.emf.cdo.tests.legacy.model2.impl;version="2.0.0",
+ org.eclipse.emf.cdo.tests.legacy.model2.util;version="2.0.0",
+ org.eclipse.emf.cdo.tests.model2;version="2.0.0",
org.eclipse.emf.cdo.tests.model2.impl;version="2.0.0",
org.eclipse.emf.cdo.tests.model2.util;version="2.0.0"
diff --git a/plugins/org.eclipse.emf.cdo.tests.model2/model/model2.genmodel b/plugins/org.eclipse.emf.cdo.tests.model2/model/model2.genmodel
index 55e93bdd70..13f2189f76 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model2/model/model2.genmodel
+++ b/plugins/org.eclipse.emf.cdo.tests.model2/model/model2.genmodel
@@ -3,15 +3,17 @@
xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.emf.cdo.tests.model2/src"
editorDirectory="" modelPluginID="org.eclipse.emf.cdo.tests.model2" modelName="Model2"
- rootExtendsInterface="org.eclipse.emf.cdo.CDOObject" rootExtendsClass="org.eclipse.emf.internal.cdo.CDOObjectImpl"
+ updateClasspath="false" rootExtendsClass="org.eclipse.emf.internal.cdo.CDOObjectImpl"
reflectiveDelegation="true" codeFormatting="true" testsDirectory="" importerID="org.eclipse.emf.importer.cdo"
- featureDelegation="Reflective" complianceLevel="5.0" copyrightFields="false" usedGenPackages="../../org.eclipse.emf.cdo.tests.model1/model/model1.genmodel#//model1">
+ featureDelegation="Reflective" complianceLevel="5.0" copyrightFields="false" providerRootExtendsClass="org.eclipse.emf.cdo.edit.CDOItemProviderAdapter"
+ usedGenPackages="../../org.eclipse.emf.cdo.tests.model1/model/model1.genmodel#//model1">
<foreignModel>model2.ecore</foreignModel>
<modelPluginVariables>CDO=org.eclipse.emf.cdo</modelPluginVariables>
<genPackages prefix="Model2" basePackage="org.eclipse.emf.cdo.tests" disposableProviderFactory="true"
extensibleProviderFactory="true" childCreationExtenders="true" ecorePackage="model2.ecore#/">
<genClasses ecoreClass="model2.ecore#//SpecialPurchaseOrder">
<genFeatures createChild="false" ecoreFeature="ecore:EAttribute model2.ecore#//SpecialPurchaseOrder/discountCode"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference model2.ecore#//SpecialPurchaseOrder/shippingAddress"/>
</genClasses>
</genPackages>
</genmodel:GenModel>
diff --git a/plugins/org.eclipse.emf.cdo.tests.model2/model/model2.legacy.genmodel b/plugins/org.eclipse.emf.cdo.tests.model2/model/model2.legacy.genmodel
new file mode 100644
index 0000000000..6edfb9d8a7
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model2/model/model2.legacy.genmodel
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0"
+ xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.emf.cdo.tests.model2/src"
+ editDirectory="" editorDirectory="" modelPluginID="org.eclipse.emf.cdo.tests.model2"
+ modelName="Model2" updateClasspath="false" codeFormatting="true" testsDirectory=""
+ importerID="org.eclipse.emf.importer.cdo" complianceLevel="5.0" copyrightFields="false"
+ usedGenPackages="../../org.eclipse.emf.cdo.tests.model1/model/model1.legacy.genmodel#//model1">
+ <foreignModel>model2.ecore</foreignModel>
+ <modelPluginVariables>CDO=org.eclipse.emf.cdo</modelPluginVariables>
+ <genPackages prefix="Model2" basePackage="org.eclipse.emf.cdo.tests.legacy" disposableProviderFactory="true"
+ extensibleProviderFactory="true" childCreationExtenders="true" ecorePackage="model2.ecore#/">
+ <genClasses ecoreClass="model2.ecore#//SpecialPurchaseOrder">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute model2.ecore#//SpecialPurchaseOrder/discountCode"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference model2.ecore#//SpecialPurchaseOrder/shippingAddress"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/legacy/model2/Model2Factory.java b/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/legacy/model2/Model2Factory.java
new file mode 100644
index 0000000000..3ccc08e579
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/legacy/model2/Model2Factory.java
@@ -0,0 +1,43 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Model2Factory.java,v 1.2 2008-09-18 12:56:55 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.legacy.model2;
+
+import org.eclipse.emf.cdo.tests.model2.SpecialPurchaseOrder;
+
+/**
+ * <!-- begin-user-doc --> The <b>Factory</b> for the model. It provides a create method for each non-abstract class of
+ * the model. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.cdo.tests.legacy.model2.Model2Package
+ * @generated NOT
+ */
+public interface Model2Factory extends org.eclipse.emf.cdo.tests.model2.Model2Factory
+{
+ /**
+ * The singleton instance of the factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ Model2Factory eINSTANCE = org.eclipse.emf.cdo.tests.legacy.model2.impl.Model2FactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Special Purchase Order</em>'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return a new object of class '<em>Special Purchase Order</em>'.
+ * @generated
+ */
+ SpecialPurchaseOrder createSpecialPurchaseOrder();
+
+ /**
+ * Returns the package supported by this factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the package supported by this factory.
+ * @generated
+ */
+ Model2Package getModel2Package();
+
+} // Model2Factory
diff --git a/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/legacy/model2/Model2Package.java b/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/legacy/model2/Model2Package.java
new file mode 100644
index 0000000000..b680e59b2d
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/legacy/model2/Model2Package.java
@@ -0,0 +1,204 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Model2Package.java,v 1.2 2008-09-18 12:56:55 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.legacy.model2;
+
+import org.eclipse.emf.cdo.tests.legacy.model1.Model1Package;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc --> The <b>Package</b> for the model. It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.cdo.tests.legacy.model2.Model2Factory
+ * @model kind="package"
+ * @generated NOT
+ */
+public interface Model2Package extends org.eclipse.emf.cdo.tests.model2.Model2Package
+{
+ /**
+ * The package name. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNAME = "model2";
+
+ /**
+ * The package namespace URI. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/emf/CDO/tests/model2/1.0.0";
+
+ /**
+ * The package namespace name. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ String eNS_PREFIX = "model2";
+
+ /**
+ * The singleton instance of the package. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ Model2Package eINSTANCE = org.eclipse.emf.cdo.tests.legacy.model2.impl.Model2PackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.emf.cdo.tests.legacy.model2.impl.SpecialPurchaseOrderImpl
+ * <em>Special Purchase Order</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.cdo.tests.legacy.model2.impl.SpecialPurchaseOrderImpl
+ * @see org.eclipse.emf.cdo.tests.legacy.model2.impl.Model2PackageImpl#getSpecialPurchaseOrder()
+ * @generated
+ */
+ int SPECIAL_PURCHASE_ORDER = 0;
+
+ /**
+ * The feature id for the '<em><b>Order Details</b></em>' containment reference list. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SPECIAL_PURCHASE_ORDER__ORDER_DETAILS = Model1Package.PURCHASE_ORDER__ORDER_DETAILS;
+
+ /**
+ * The feature id for the '<em><b>Date</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SPECIAL_PURCHASE_ORDER__DATE = Model1Package.PURCHASE_ORDER__DATE;
+
+ /**
+ * The feature id for the '<em><b>Supplier</b></em>' reference. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SPECIAL_PURCHASE_ORDER__SUPPLIER = Model1Package.PURCHASE_ORDER__SUPPLIER;
+
+ /**
+ * The feature id for the '<em><b>Discount Code</b></em>' attribute. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SPECIAL_PURCHASE_ORDER__DISCOUNT_CODE = Model1Package.PURCHASE_ORDER_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Shipping Address</b></em>' containment reference. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SPECIAL_PURCHASE_ORDER__SHIPPING_ADDRESS = Model1Package.PURCHASE_ORDER_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Special Purchase Order</em>' class. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ * @ordered
+ */
+ int SPECIAL_PURCHASE_ORDER_FEATURE_COUNT = Model1Package.PURCHASE_ORDER_FEATURE_COUNT + 2;
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.emf.cdo.tests.legacy.model2.SpecialPurchaseOrder
+ * <em>Special Purchase Order</em>}'. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for class '<em>Special Purchase Order</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model2.SpecialPurchaseOrder
+ * @generated
+ */
+ EClass getSpecialPurchaseOrder();
+
+ /**
+ * Returns the meta object for the attribute '
+ * {@link org.eclipse.emf.cdo.tests.legacy.model2.SpecialPurchaseOrder#getDiscountCode <em>Discount Code</em>}'. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the attribute '<em>Discount Code</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model2.SpecialPurchaseOrder#getDiscountCode()
+ * @see #getSpecialPurchaseOrder()
+ * @generated
+ */
+ EAttribute getSpecialPurchaseOrder_DiscountCode();
+
+ /**
+ * Returns the meta object for the containment reference '
+ * {@link org.eclipse.emf.cdo.tests.legacy.model2.SpecialPurchaseOrder#getShippingAddress <em>Shipping Address</em>}'.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the meta object for the containment reference '<em>Shipping Address</em>'.
+ * @see org.eclipse.emf.cdo.tests.legacy.model2.SpecialPurchaseOrder#getShippingAddress()
+ * @see #getSpecialPurchaseOrder()
+ * @generated
+ */
+ EReference getSpecialPurchaseOrder_ShippingAddress();
+
+ /**
+ * Returns the factory that creates the instances of the model. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ Model2Factory getModel2Factory();
+
+ /**
+ * <!-- begin-user-doc --> Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ interface Literals
+ {
+ /**
+ * The meta object literal for the '{@link org.eclipse.emf.cdo.tests.legacy.model2.impl.SpecialPurchaseOrderImpl
+ * <em>Special Purchase Order</em>}' class. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.cdo.tests.legacy.model2.impl.SpecialPurchaseOrderImpl
+ * @see org.eclipse.emf.cdo.tests.legacy.model2.impl.Model2PackageImpl#getSpecialPurchaseOrder()
+ * @generated
+ */
+ EClass SPECIAL_PURCHASE_ORDER = eINSTANCE.getSpecialPurchaseOrder();
+
+ /**
+ * The meta object literal for the '<em><b>Discount Code</b></em>' attribute feature. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @generated
+ */
+ EAttribute SPECIAL_PURCHASE_ORDER__DISCOUNT_CODE = eINSTANCE.getSpecialPurchaseOrder_DiscountCode();
+
+ /**
+ * The meta object literal for the '<em><b>Shipping Address</b></em>' containment reference feature. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ EReference SPECIAL_PURCHASE_ORDER__SHIPPING_ADDRESS = eINSTANCE.getSpecialPurchaseOrder_ShippingAddress();
+
+ }
+
+} // Model2Package
diff --git a/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/legacy/model2/impl/Model2FactoryImpl.java b/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/legacy/model2/impl/Model2FactoryImpl.java
new file mode 100644
index 0000000000..0761c03f5e
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/legacy/model2/impl/Model2FactoryImpl.java
@@ -0,0 +1,109 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Model2FactoryImpl.java,v 1.2 2008-09-18 12:56:55 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.legacy.model2.impl;
+
+import org.eclipse.emf.cdo.tests.legacy.model2.Model2Factory;
+import org.eclipse.emf.cdo.tests.legacy.model2.Model2Package;
+import org.eclipse.emf.cdo.tests.model2.SpecialPurchaseOrder;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Factory</b>. <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class Model2FactoryImpl extends EFactoryImpl implements Model2Factory
+{
+ /**
+ * Creates the default factory implementation. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public static Model2Factory init()
+ {
+ try
+ {
+ Model2Factory theModel2Factory = (Model2Factory)EPackage.Registry.INSTANCE
+ .getEFactory("http://www.eclipse.org/emf/CDO/tests/model2/1.0.0");
+ if (theModel2Factory != null)
+ {
+ return theModel2Factory;
+ }
+ }
+ catch (Exception exception)
+ {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new Model2FactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Model2FactoryImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass)
+ {
+ switch (eClass.getClassifierID())
+ {
+ case Model2Package.SPECIAL_PURCHASE_ORDER:
+ return createSpecialPurchaseOrder();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public SpecialPurchaseOrder createSpecialPurchaseOrder()
+ {
+ SpecialPurchaseOrderImpl specialPurchaseOrder = new SpecialPurchaseOrderImpl();
+ return specialPurchaseOrder;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Model2Package getModel2Package()
+ {
+ return (Model2Package)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static Model2Package getPackage()
+ {
+ return Model2Package.eINSTANCE;
+ }
+
+} // Model2FactoryImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/legacy/model2/impl/Model2PackageImpl.java b/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/legacy/model2/impl/Model2PackageImpl.java
new file mode 100644
index 0000000000..473c8fb0a9
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/legacy/model2/impl/Model2PackageImpl.java
@@ -0,0 +1,223 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Model2PackageImpl.java,v 1.2 2008-09-18 12:56:55 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.legacy.model2.impl;
+
+import org.eclipse.emf.cdo.tests.legacy.model1.Model1Package;
+import org.eclipse.emf.cdo.tests.legacy.model2.Model2Factory;
+import org.eclipse.emf.cdo.tests.legacy.model2.Model2Package;
+import org.eclipse.emf.cdo.tests.model2.SpecialPurchaseOrder;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model <b>Package</b>. <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class Model2PackageImpl extends EPackageImpl implements Model2Package
+{
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private EClass specialPurchaseOrderEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with {@link org.eclipse.emf.ecore.EPackage.Registry
+ * EPackage.Registry} by the package package URI value.
+ * <p>
+ * Note: the correct way to create the package is via the static factory method {@link #init init()}, which also
+ * performs initialization of the package, or returns the registered package, if one already exists. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.emf.cdo.tests.legacy.model2.Model2Package#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private Model2PackageImpl()
+ {
+ super(eNS_URI, Model2Factory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ * Simple dependencies are satisfied by calling this method on all dependent packages before doing anything else. This
+ * method drives initialization for interdependent packages directly, in parallel with this package, itself.
+ * <p>
+ * Of this package and its interdependencies, all packages which have not yet been registered by their URI values are
+ * first created and registered. The packages are then initialized in two steps: meta-model objects for all of the
+ * packages are created before any are initialized, since one package's meta-model objects may refer to those of
+ * another.
+ * <p>
+ * Invocation of this method will not affect any packages that have already been initialized. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static Model2Package init()
+ {
+ if (isInited)
+ {
+ return (Model2Package)EPackage.Registry.INSTANCE.getEPackage(Model2Package.eNS_URI);
+ }
+
+ // Obtain or create and register package
+ Model2PackageImpl theModel2Package = (Model2PackageImpl)(EPackage.Registry.INSTANCE.getEPackage(eNS_URI) instanceof Model2PackageImpl ? EPackage.Registry.INSTANCE
+ .getEPackage(eNS_URI)
+ : new Model2PackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ Model1Package.eINSTANCE.eClass();
+
+ // Create package meta-data objects
+ theModel2Package.createPackageContents();
+
+ // Initialize created meta-data
+ theModel2Package.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theModel2Package.freeze();
+
+ return theModel2Package;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EClass getSpecialPurchaseOrder()
+ {
+ return specialPurchaseOrderEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EAttribute getSpecialPurchaseOrder_DiscountCode()
+ {
+ return (EAttribute)specialPurchaseOrderEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public EReference getSpecialPurchaseOrder_ShippingAddress()
+ {
+ return (EReference)specialPurchaseOrderEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Model2Factory getModel2Factory()
+ {
+ return (Model2Factory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is guarded to have no affect on any invocation but its
+ * first. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void createPackageContents()
+ {
+ if (isCreated)
+ {
+ return;
+ }
+ isCreated = true;
+
+ // Create classes and their features
+ specialPurchaseOrderEClass = createEClass(SPECIAL_PURCHASE_ORDER);
+ createEAttribute(specialPurchaseOrderEClass, SPECIAL_PURCHASE_ORDER__DISCOUNT_CODE);
+ createEReference(specialPurchaseOrderEClass, SPECIAL_PURCHASE_ORDER__SHIPPING_ADDRESS);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This method is guarded to have no affect on any
+ * invocation but its first. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void initializePackageContents()
+ {
+ if (isInitialized)
+ {
+ return;
+ }
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ Model1Package theModel1Package = (Model1Package)EPackage.Registry.INSTANCE.getEPackage(Model1Package.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ specialPurchaseOrderEClass.getESuperTypes().add(theModel1Package.getPurchaseOrder());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(specialPurchaseOrderEClass, SpecialPurchaseOrder.class, "SpecialPurchaseOrder", !IS_ABSTRACT,
+ !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getSpecialPurchaseOrder_DiscountCode(), ecorePackage.getEString(), "discountCode", null, 0, 1,
+ SpecialPurchaseOrder.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE,
+ !IS_DERIVED, IS_ORDERED);
+ initEReference(getSpecialPurchaseOrder_ShippingAddress(), theModel1Package.getAddress(), null, "shippingAddress",
+ null, 0, 1, SpecialPurchaseOrder.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE,
+ !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} // Model2PackageImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/legacy/model2/impl/SpecialPurchaseOrderImpl.java b/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/legacy/model2/impl/SpecialPurchaseOrderImpl.java
new file mode 100644
index 0000000000..bba2394440
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/legacy/model2/impl/SpecialPurchaseOrderImpl.java
@@ -0,0 +1,299 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: SpecialPurchaseOrderImpl.java,v 1.2 2008-09-18 12:56:55 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.legacy.model2.impl;
+
+import org.eclipse.emf.cdo.tests.legacy.model1.impl.PurchaseOrderImpl;
+import org.eclipse.emf.cdo.tests.legacy.model2.Model2Package;
+import org.eclipse.emf.cdo.tests.model1.Address;
+import org.eclipse.emf.cdo.tests.model2.SpecialPurchaseOrder;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+/**
+ * <!-- begin-user-doc --> An implementation of the model object '<em><b>Special Purchase Order</b></em>'. <!--
+ * end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.emf.cdo.tests.legacy.model2.impl.SpecialPurchaseOrderImpl#getDiscountCode <em>Discount Code
+ * </em>}</li>
+ * <li>{@link org.eclipse.emf.cdo.tests.legacy.model2.impl.SpecialPurchaseOrderImpl#getShippingAddress <em>Shipping
+ * Address</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SpecialPurchaseOrderImpl extends PurchaseOrderImpl implements SpecialPurchaseOrder
+{
+ /**
+ * The default value of the '{@link #getDiscountCode() <em>Discount Code</em>}' attribute. <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ *
+ * @see #getDiscountCode()
+ * @generated
+ * @ordered
+ */
+ protected static final String DISCOUNT_CODE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDiscountCode() <em>Discount Code</em>}' attribute. <!-- begin-user-doc --> <!--
+ * end-user-doc -->
+ *
+ * @see #getDiscountCode()
+ * @generated
+ * @ordered
+ */
+ protected String discountCode = DISCOUNT_CODE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getShippingAddress() <em>Shipping Address</em>}' containment reference. <!--
+ * begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @see #getShippingAddress()
+ * @generated
+ * @ordered
+ */
+ protected Address shippingAddress;
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected SpecialPurchaseOrderImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return Model2Package.Literals.SPECIAL_PURCHASE_ORDER;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public String getDiscountCode()
+ {
+ eFireRead(Model2Package.SPECIAL_PURCHASE_ORDER__DISCOUNT_CODE);
+ return discountCode;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setDiscountCode(String newDiscountCode)
+ {
+ eFireWrite(Model2Package.SPECIAL_PURCHASE_ORDER__DISCOUNT_CODE);
+ String oldDiscountCode = discountCode;
+ discountCode = newDiscountCode;
+ if (eNotificationRequired())
+ {
+ eNotify(new ENotificationImpl(this, Notification.SET, Model2Package.SPECIAL_PURCHASE_ORDER__DISCOUNT_CODE,
+ oldDiscountCode, discountCode));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Address getShippingAddress()
+ {
+ eFireRead(Model2Package.SPECIAL_PURCHASE_ORDER__SHIPPING_ADDRESS);
+ return shippingAddress;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public NotificationChain basicSetShippingAddress(Address newShippingAddress, NotificationChain msgs)
+ {
+ eFireWrite(Model2Package.SPECIAL_PURCHASE_ORDER__SHIPPING_ADDRESS);
+ Address oldShippingAddress = shippingAddress;
+ shippingAddress = newShippingAddress;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET,
+ Model2Package.SPECIAL_PURCHASE_ORDER__SHIPPING_ADDRESS, oldShippingAddress, newShippingAddress);
+ if (msgs == null)
+ {
+ msgs = notification;
+ }
+ else
+ {
+ msgs.add(notification);
+ }
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public void setShippingAddress(Address newShippingAddress)
+ {
+ eFireWrite(Model2Package.SPECIAL_PURCHASE_ORDER__SHIPPING_ADDRESS);
+ if (newShippingAddress != shippingAddress)
+ {
+ NotificationChain msgs = null;
+ if (shippingAddress != null)
+ {
+ msgs = ((InternalEObject)shippingAddress).eInverseRemove(this, EOPPOSITE_FEATURE_BASE
+ - Model2Package.SPECIAL_PURCHASE_ORDER__SHIPPING_ADDRESS, null, msgs);
+ }
+ if (newShippingAddress != null)
+ {
+ msgs = ((InternalEObject)newShippingAddress).eInverseAdd(this, EOPPOSITE_FEATURE_BASE
+ - Model2Package.SPECIAL_PURCHASE_ORDER__SHIPPING_ADDRESS, null, msgs);
+ }
+ msgs = basicSetShippingAddress(newShippingAddress, msgs);
+ if (msgs != null)
+ {
+ msgs.dispatch();
+ }
+ }
+ else if (eNotificationRequired())
+ {
+ eNotify(new ENotificationImpl(this, Notification.SET, Model2Package.SPECIAL_PURCHASE_ORDER__SHIPPING_ADDRESS,
+ newShippingAddress, newShippingAddress));
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case Model2Package.SPECIAL_PURCHASE_ORDER__SHIPPING_ADDRESS:
+ return basicSetShippingAddress(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case Model2Package.SPECIAL_PURCHASE_ORDER__DISCOUNT_CODE:
+ return getDiscountCode();
+ case Model2Package.SPECIAL_PURCHASE_ORDER__SHIPPING_ADDRESS:
+ return getShippingAddress();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case Model2Package.SPECIAL_PURCHASE_ORDER__DISCOUNT_CODE:
+ setDiscountCode((String)newValue);
+ return;
+ case Model2Package.SPECIAL_PURCHASE_ORDER__SHIPPING_ADDRESS:
+ setShippingAddress((Address)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case Model2Package.SPECIAL_PURCHASE_ORDER__DISCOUNT_CODE:
+ setDiscountCode(DISCOUNT_CODE_EDEFAULT);
+ return;
+ case Model2Package.SPECIAL_PURCHASE_ORDER__SHIPPING_ADDRESS:
+ setShippingAddress((Address)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case Model2Package.SPECIAL_PURCHASE_ORDER__DISCOUNT_CODE:
+ return DISCOUNT_CODE_EDEFAULT == null ? discountCode != null : !DISCOUNT_CODE_EDEFAULT.equals(discountCode);
+ case Model2Package.SPECIAL_PURCHASE_ORDER__SHIPPING_ADDRESS:
+ return shippingAddress != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy())
+ {
+ return super.toString();
+ }
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (discountCode: ");
+ result.append(discountCode);
+ result.append(')');
+ return result.toString();
+ }
+
+} // SpecialPurchaseOrderImpl
diff --git a/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/legacy/model2/util/Model2AdapterFactory.java b/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/legacy/model2/util/Model2AdapterFactory.java
new file mode 100644
index 0000000000..6196fc63d6
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/legacy/model2/util/Model2AdapterFactory.java
@@ -0,0 +1,171 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Model2AdapterFactory.java,v 1.2 2008-09-18 12:56:55 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.legacy.model2.util;
+
+import org.eclipse.emf.cdo.tests.legacy.model2.Model2Package;
+import org.eclipse.emf.cdo.tests.model1.Order;
+import org.eclipse.emf.cdo.tests.model1.PurchaseOrder;
+import org.eclipse.emf.cdo.tests.model2.SpecialPurchaseOrder;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc --> The <b>Adapter Factory</b> for the model. It provides an adapter <code>createXXX</code>
+ * method for each class of the model. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.cdo.tests.legacy.model2.Model2Package
+ * @generated
+ */
+public class Model2AdapterFactory extends AdapterFactoryImpl
+{
+ /**
+ * The cached model package. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static Model2Package modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Model2AdapterFactory()
+ {
+ if (modelPackage == null)
+ {
+ modelPackage = Model2Package.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object. <!-- begin-user-doc --> This implementation
+ * returns <code>true</code> if the object is either the model's package or is an instance object of the model. <!--
+ * end-user-doc -->
+ *
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object)
+ {
+ if (object == modelPackage)
+ {
+ return true;
+ }
+ if (object instanceof EObject)
+ {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected Model2Switch<Adapter> modelSwitch = new Model2Switch<Adapter>()
+ {
+ @Override
+ public Adapter caseSpecialPurchaseOrder(SpecialPurchaseOrder object)
+ {
+ return createSpecialPurchaseOrderAdapter();
+ }
+
+ @Override
+ public Adapter caseOrder(Order object)
+ {
+ return createOrderAdapter();
+ }
+
+ @Override
+ public Adapter casePurchaseOrder(PurchaseOrder object)
+ {
+ return createPurchaseOrderAdapter();
+ }
+
+ @Override
+ public Adapter defaultCase(EObject object)
+ {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @param target
+ * the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target)
+ {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.legacy.model2.SpecialPurchaseOrder
+ * <em>Special Purchase Order</em>}'. <!-- begin-user-doc --> This default implementation returns null so that we can
+ * easily ignore cases; it's useful to ignore a case when inheritance will catch all the cases anyway. <!--
+ * end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.legacy.model2.SpecialPurchaseOrder
+ * @generated
+ */
+ public Adapter createSpecialPurchaseOrderAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.legacy.model1.Order <em>Order</em>}
+ * '. <!-- begin-user-doc --> This default implementation returns null so that we can easily ignore cases; it's useful
+ * to ignore a case when inheritance will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.legacy.model1.Order
+ * @generated
+ */
+ public Adapter createOrderAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.emf.cdo.tests.legacy.model1.PurchaseOrder
+ * <em>Purchase Order</em>}'. <!-- begin-user-doc --> This default implementation returns null so that we can easily
+ * ignore cases; it's useful to ignore a case when inheritance will catch all the cases anyway. <!-- end-user-doc -->
+ *
+ * @return the new adapter.
+ * @see org.eclipse.emf.cdo.tests.legacy.model1.PurchaseOrder
+ * @generated
+ */
+ public Adapter createPurchaseOrderAdapter()
+ {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case. <!-- begin-user-doc --> This default implementation returns null. <!--
+ * end-user-doc -->
+ *
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter()
+ {
+ return null;
+ }
+
+} // Model2AdapterFactory
diff --git a/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/legacy/model2/util/Model2Switch.java b/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/legacy/model2/util/Model2Switch.java
new file mode 100644
index 0000000000..1b98ec1edf
--- /dev/null
+++ b/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/legacy/model2/util/Model2Switch.java
@@ -0,0 +1,178 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id: Model2Switch.java,v 1.2 2008-09-18 12:56:55 estepper Exp $
+ */
+package org.eclipse.emf.cdo.tests.legacy.model2.util;
+
+import org.eclipse.emf.cdo.tests.legacy.model2.Model2Package;
+import org.eclipse.emf.cdo.tests.model1.Order;
+import org.eclipse.emf.cdo.tests.model1.PurchaseOrder;
+import org.eclipse.emf.cdo.tests.model2.SpecialPurchaseOrder;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import java.util.List;
+
+/**
+ * <!-- begin-user-doc --> The <b>Switch</b> for the model's inheritance hierarchy. It supports the call
+ * {@link #doSwitch(EObject) doSwitch(object)} to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object and proceeding up the inheritance hierarchy until a non-null result is
+ * returned, which is the result of the switch. <!-- end-user-doc -->
+ *
+ * @see org.eclipse.emf.cdo.tests.legacy.model2.Model2Package
+ * @generated
+ */
+public class Model2Switch<T>
+{
+ /**
+ * The cached model package <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ protected static Model2Package modelPackage;
+
+ /**
+ * Creates an instance of the switch. <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @generated
+ */
+ public Model2Switch()
+ {
+ if (modelPackage == null)
+ {
+ modelPackage = Model2Package.eINSTANCE;
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ public T doSwitch(EObject theEObject)
+ {
+ return doSwitch(theEObject.eClass(), theEObject);
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected T doSwitch(EClass theEClass, EObject theEObject)
+ {
+ if (theEClass.eContainer() == modelPackage)
+ {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ }
+ else
+ {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return eSuperTypes.isEmpty() ? defaultCase(theEObject) : doSwitch(eSuperTypes.get(0), theEObject);
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc --> <!-- end-user-doc -->
+ *
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected T doSwitch(int classifierID, EObject theEObject)
+ {
+ switch (classifierID)
+ {
+ case Model2Package.SPECIAL_PURCHASE_ORDER:
+ {
+ SpecialPurchaseOrder specialPurchaseOrder = (SpecialPurchaseOrder)theEObject;
+ T result = caseSpecialPurchaseOrder(specialPurchaseOrder);
+ if (result == null)
+ {
+ result = casePurchaseOrder(specialPurchaseOrder);
+ }
+ if (result == null)
+ {
+ result = caseOrder(specialPurchaseOrder);
+ }
+ if (result == null)
+ {
+ result = defaultCase(theEObject);
+ }
+ return result;
+ }
+ default:
+ return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Special Purchase Order</em>'. <!--
+ * begin-user-doc --> This implementation returns null; returning a non-null result will terminate the switch. <!--
+ * end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Special Purchase Order</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSpecialPurchaseOrder(SpecialPurchaseOrder object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Order</em>'. <!-- begin-user-doc --> This
+ * implementation returns null; returning a non-null result will terminate the switch. <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Order</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseOrder(Order object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Purchase Order</em>'. <!-- begin-user-doc -->
+ * This implementation returns null; returning a non-null result will terminate the switch. <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Purchase Order</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T casePurchaseOrder(PurchaseOrder object)
+ {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'. <!-- begin-user-doc --> This
+ * implementation returns null; returning a non-null result will terminate the switch, but this is the last case
+ * anyway. <!-- end-user-doc -->
+ *
+ * @param object
+ * the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ public T defaultCase(EObject object)
+ {
+ return null;
+ }
+
+} // Model2Switch
diff --git a/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/model2/Model2Factory.java b/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/model2/Model2Factory.java
index 5daf55258c..685ce013b7 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/model2/Model2Factory.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/model2/Model2Factory.java
@@ -2,7 +2,7 @@
* <copyright>
* </copyright>
*
- * $Id: Model2Factory.java,v 1.2 2008-04-07 08:28:21 estepper Exp $
+ * $Id: Model2Factory.java,v 1.3 2008-09-18 12:56:55 estepper Exp $
*/
package org.eclipse.emf.cdo.tests.model2;
diff --git a/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/model2/Model2Package.java b/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/model2/Model2Package.java
index a82621d8ef..a63dc573ed 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/model2/Model2Package.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/model2/Model2Package.java
@@ -2,7 +2,7 @@
* <copyright>
* </copyright>
*
- * $Id: Model2Package.java,v 1.4 2008-06-03 06:41:28 estepper Exp $
+ * $Id: Model2Package.java,v 1.5 2008-09-18 12:56:55 estepper Exp $
*/
package org.eclipse.emf.cdo.tests.model2;
diff --git a/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/model2/SpecialPurchaseOrder.java b/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/model2/SpecialPurchaseOrder.java
index f340527135..08b04e1a4c 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/model2/SpecialPurchaseOrder.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/model2/SpecialPurchaseOrder.java
@@ -2,7 +2,7 @@
* <copyright>
* </copyright>
*
- * $Id: SpecialPurchaseOrder.java,v 1.4 2008-06-03 06:41:28 estepper Exp $
+ * $Id: SpecialPurchaseOrder.java,v 1.5 2008-09-18 12:56:56 estepper Exp $
*/
package org.eclipse.emf.cdo.tests.model2;
diff --git a/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/model2/impl/Model2FactoryImpl.java b/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/model2/impl/Model2FactoryImpl.java
index ec2c68d0ef..c54424975f 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/model2/impl/Model2FactoryImpl.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/model2/impl/Model2FactoryImpl.java
@@ -2,7 +2,7 @@
* <copyright>
* </copyright>
*
- * $Id: Model2FactoryImpl.java,v 1.3 2008-08-11 05:11:49 estepper Exp $
+ * $Id: Model2FactoryImpl.java,v 1.4 2008-09-18 12:56:55 estepper Exp $
*/
package org.eclipse.emf.cdo.tests.model2.impl;
diff --git a/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/model2/impl/Model2PackageImpl.java b/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/model2/impl/Model2PackageImpl.java
index 68e4b6f954..e416a5b275 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/model2/impl/Model2PackageImpl.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/model2/impl/Model2PackageImpl.java
@@ -2,7 +2,7 @@
* <copyright>
* </copyright>
*
- * $Id: Model2PackageImpl.java,v 1.5 2008-08-11 05:11:49 estepper Exp $
+ * $Id: Model2PackageImpl.java,v 1.6 2008-09-18 12:56:55 estepper Exp $
*/
package org.eclipse.emf.cdo.tests.model2.impl;
diff --git a/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/model2/impl/SpecialPurchaseOrderImpl.java b/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/model2/impl/SpecialPurchaseOrderImpl.java
index 4f1c0d6a87..e734368c77 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/model2/impl/SpecialPurchaseOrderImpl.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/model2/impl/SpecialPurchaseOrderImpl.java
@@ -2,7 +2,7 @@
* <copyright>
* </copyright>
*
- * $Id: SpecialPurchaseOrderImpl.java,v 1.4 2008-06-03 06:41:28 estepper Exp $
+ * $Id: SpecialPurchaseOrderImpl.java,v 1.5 2008-09-18 12:56:55 estepper Exp $
*/
package org.eclipse.emf.cdo.tests.model2.impl;
diff --git a/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/model2/util/Model2AdapterFactory.java b/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/model2/util/Model2AdapterFactory.java
index 871f90141f..56418eac30 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/model2/util/Model2AdapterFactory.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/model2/util/Model2AdapterFactory.java
@@ -2,7 +2,7 @@
* <copyright>
* </copyright>
*
- * $Id: Model2AdapterFactory.java,v 1.3 2008-06-03 06:41:28 estepper Exp $
+ * $Id: Model2AdapterFactory.java,v 1.4 2008-09-18 12:56:55 estepper Exp $
*/
package org.eclipse.emf.cdo.tests.model2.util;
diff --git a/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/model2/util/Model2Switch.java b/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/model2/util/Model2Switch.java
index 2d0468dbb4..e77c713041 100644
--- a/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/model2/util/Model2Switch.java
+++ b/plugins/org.eclipse.emf.cdo.tests.model2/src/org/eclipse/emf/cdo/tests/model2/util/Model2Switch.java
@@ -2,7 +2,7 @@
* <copyright>
* </copyright>
*
- * $Id: Model2Switch.java,v 1.4 2008-08-11 05:11:49 estepper Exp $
+ * $Id: Model2Switch.java,v 1.5 2008-09-18 12:56:55 estepper Exp $
*/
package org.eclipse.emf.cdo.tests.model2.util;

Back to the top