diff options
author | Martin Fluegge | 2011-08-05 16:17:32 +0000 |
---|---|---|
committer | Martin Fluegge | 2011-08-05 16:17:32 +0000 |
commit | db6239bc0805ef6620c1e1e550dad6832a3d199f (patch) | |
tree | 5334b80eb825f47b027a433aa2006689739970d7 /plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf | |
parent | e19c81c05a03bf3a3fef7972a0f3cf631ebe7b2b (diff) | |
download | cdo-db6239bc0805ef6620c1e1e550dad6832a3d199f.tar.gz cdo-db6239bc0805ef6620c1e1e550dad6832a3d199f.tar.xz cdo-db6239bc0805ef6620c1e1e550dad6832a3d199f.zip |
[352823] [Dawn] EMF runtime compatibility issue and duplicate code in test models
https://bugs.eclipse.org/bugs/show_bug.cgi?id=352823
Diffstat (limited to 'plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf')
3 files changed, 29 insertions, 14 deletions
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf/META-INF/MANIFEST.MF b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf/META-INF/MANIFEST.MF index 21bc4f7fdf..90ea67793f 100644 --- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf/META-INF/MANIFEST.MF +++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf/META-INF/MANIFEST.MF @@ -9,7 +9,7 @@ Bundle-Localization: plugin Bundle-RequiredExecutionEnvironment: J2SE-1.5 Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.5.0,4.0.0)", org.eclipse.emf.ecore;bundle-version="[2.6.0,3.0.0)";visibility:=reexport, - org.eclipse.emf.cdo.dawn.codegen.dawngenmodel;bundle-version="[1.0.0,2.0.0)", + org.eclipse.emf.cdo.dawn.codegen.dawngenmodel;bundle-version="[2.0.0,3.0.0)", org.eclipse.emf.cdo.dawn.codegen;bundle-version="[1.0.0,2.0.0)", org.eclipse.emf.mwe.core;bundle-version="[1.0.0,2.0.0)", org.eclipse.emf.codegen.ecore;bundle-version="[2.6.0,3.0.0)", diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf/model/DawnGenModel.emf.genmodel b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf/model/DawnGenModel.emf.genmodel index e2e8b1446e..89b34d876a 100644 --- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf/model/DawnGenModel.emf.genmodel +++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf/model/DawnGenModel.emf.genmodel @@ -5,7 +5,7 @@ modelDirectory="/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf/src-gen" editorDirectory="/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.ui/src-gen"
modelPluginID="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf" modelName="DawnGenModel"
importerID="org.eclipse.emf.importer.ecore" complianceLevel="5.0" editorPluginID="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.ui"
- usedGenPackages="../../org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/model/DawnCodeGen.genmodel#//dawngenmodel platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore">
+ runtimeVersion="2.6" usedGenPackages="../../org.eclipse.emf.cdo.dawn.codegen.dawngenmodel/model/DawnCodeGen.genmodel#//dawngenmodel platform:/plugin/org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore">
<foreignModel>DawnGenModel.emf.ecore</foreignModel>
<genPackages prefix="DawnEmfGenmodel" basePackage="org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf"
disposableProviderFactory="true" multipleEditorPages="false" generateModelWizard="false"
diff --git a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf/src-gen/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/emf/dawnEmfGenmodel/util/DawnEmfGenmodelSwitch.java b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf/src-gen/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/emf/dawnEmfGenmodel/util/DawnEmfGenmodelSwitch.java index f053a574b7..a7ff4d64e5 100644 --- a/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf/src-gen/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/emf/dawnEmfGenmodel/util/DawnEmfGenmodelSwitch.java +++ b/plugins/org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf/src-gen/org/eclipse/emf/cdo/dawn/codegen/dawngenmodel/emf/dawnEmfGenmodel/util/DawnEmfGenmodelSwitch.java @@ -14,9 +14,10 @@ import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.DawnFragmentGenerator; import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.dawnEmfGenmodel.DawnEMFGenerator;
import org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.dawnEmfGenmodel.DawnEmfGenmodelPackage;
+import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.ecore.EPackage;
-import org.eclipse.emf.ecore.util.Switch;
+
+import java.util.List;
/**
* <!-- begin-user-doc --> The <b>Switch</b> for the model's inheritance hierarchy. It supports the call
@@ -26,9 +27,8 @@ import org.eclipse.emf.ecore.util.Switch; *
* @see org.eclipse.emf.cdo.dawn.codegen.dawngenmodel.emf.dawnEmfGenmodel.DawnEmfGenmodelPackage
* @generated
- * @author Martin Fluegge
*/
-public class DawnEmfGenmodelSwitch<T> extends Switch<T>
+public class DawnEmfGenmodelSwitch<T>
{
/**
* <!-- begin-user-doc --> <!-- end-user-doc -->
@@ -58,16 +58,33 @@ public class DawnEmfGenmodelSwitch<T> extends Switch<T> }
/**
- * Checks whether this is a switch for the given package. <!-- begin-user-doc --> <!-- end-user-doc -->
+ * 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 -->
*
- * @parameter ePackage the package in question.
- * @return whether this is a switch for the given package.
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
* @generated
*/
- @Override
- protected boolean isSwitchFor(EPackage ePackage)
+ public T doSwitch(EObject theEObject)
{
- return ePackage == modelPackage;
+ 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);
+ }
+
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return eSuperTypes.isEmpty() ? defaultCase(theEObject) : doSwitch(eSuperTypes.get(0), theEObject);
}
/**
@@ -77,7 +94,6 @@ public class DawnEmfGenmodelSwitch<T> extends Switch<T> * @return the first non-null result returned by a <code>caseXXX</code> call.
* @generated
*/
- @Override
protected T doSwitch(int classifierID, EObject theEObject)
{
switch (classifierID)
@@ -143,7 +159,6 @@ public class DawnEmfGenmodelSwitch<T> extends Switch<T> * @see #doSwitch(org.eclipse.emf.ecore.EObject)
* @generated
*/
- @Override
public T defaultCase(EObject object)
{
return null;
|