[573449] Make org.eclipse.emf.codegen.ecore dependency optional
diff --git a/plugins/org.eclipse.m2m.qvt.oml/META-INF/MANIFEST.MF b/plugins/org.eclipse.m2m.qvt.oml/META-INF/MANIFEST.MF
index 47b5249..27fe900 100644
--- a/plugins/org.eclipse.m2m.qvt.oml/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.m2m.qvt.oml/META-INF/MANIFEST.MF
@@ -107,7 +107,7 @@
org.eclipse.ocl.ecore;bundle-version="[3.1.0,4.0.0)";visibility:=reexport,
org.eclipse.m2m.qvt.oml.ecore.imperativeocl;bundle-version="[3.0.0,4.0.0)";visibility:=reexport,
org.eclipse.ocl;visibility:=reexport,
- org.eclipse.emf.codegen.ecore;bundle-version="[2.8.0,3.0.0)"
+ org.eclipse.emf.codegen.ecore;bundle-version="[2.8.0,3.0.0)";resolution:=optional
Eclipse-BuddyPolicy: registered
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: J2SE-1.5
diff --git a/plugins/org.eclipse.m2m.qvt.oml/src/org/eclipse/m2m/internal/qvt/oml/blackbox/java/Java2QVTTypeResolver.java b/plugins/org.eclipse.m2m.qvt.oml/src/org/eclipse/m2m/internal/qvt/oml/blackbox/java/Java2QVTTypeResolver.java
index 85a33f6..de61556 100644
--- a/plugins/org.eclipse.m2m.qvt.oml/src/org/eclipse/m2m/internal/qvt/oml/blackbox/java/Java2QVTTypeResolver.java
+++ b/plugins/org.eclipse.m2m.qvt.oml/src/org/eclipse/m2m/internal/qvt/oml/blackbox/java/Java2QVTTypeResolver.java
@@ -428,18 +428,22 @@
while (iterator.hasNext()) {
EObject eObject = iterator.next();
- if (eObject instanceof GenClassifier) {
- GenClassifier genClassifier = (GenClassifier) eObject;
-
- EClassifier ecoreClassifier = genClassifier.getEcoreClassifier();
-
- if (ecoreClassifier == eClassifier) {
- String classifierInstanceName = genClassifier.getRawInstanceClassName();
+ try {
+ if (eObject instanceof GenClassifier) {
+ GenClassifier genClassifier = (GenClassifier) eObject;
- if (type.getName().equals(classifierInstanceName)) {
- return true;
+ EClassifier ecoreClassifier = genClassifier.getEcoreClassifier();
+
+ if (ecoreClassifier == eClassifier) {
+ String classifierInstanceName = genClassifier.getRawInstanceClassName();
+
+ if (type.getName().equals(classifierInstanceName)) {
+ return true;
+ }
}
}
+ } catch(NoClassDefFoundError e) {
+ break;
}
}
}