[471114] Use OCLGenModelGeneratorAdapterFactory to workaround Bug 543870
diff --git a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/GenModelGenerateCompilerStep.java b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/GenModelGenerateCompilerStep.java
index 70839de..9d318ee 100644
--- a/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/GenModelGenerateCompilerStep.java
+++ b/plugins/org.eclipse.qvtd.compiler/src/org/eclipse/qvtd/compiler/GenModelGenerateCompilerStep.java
@@ -26,11 +26,9 @@
 import org.eclipse.core.runtime.Path;
 import org.eclipse.core.runtime.URIUtil;
 import org.eclipse.emf.codegen.ecore.generator.GeneratorAdapterFactory;
-import org.eclipse.emf.codegen.ecore.generator.GeneratorAdapterFactory.Descriptor;
 import org.eclipse.emf.codegen.ecore.genmodel.GenModel;
 import org.eclipse.emf.codegen.ecore.genmodel.GenPackage;
 import org.eclipse.emf.codegen.ecore.genmodel.generator.GenBaseGeneratorAdapter;
-import org.eclipse.emf.codegen.ecore.genmodel.generator.GenModelGeneratorAdapterFactory;
 import org.eclipse.emf.common.util.BasicMonitor;
 import org.eclipse.emf.common.util.Diagnostic;
 import org.eclipse.emf.common.util.Monitor;
@@ -39,7 +37,7 @@
 import org.eclipse.emf.ecore.resource.Resource;
 import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.ocl.examples.codegen.dynamic.JavaFileUtil;
-import org.eclipse.ocl.examples.codegen.oclinecore.OCLinEcoreGeneratorAdapterFactory;
+import org.eclipse.ocl.examples.codegen.genmodel.OCLGenModelUtil;
 import org.eclipse.qvtd.compiler.internal.qvtr2qvtc.QVTr2QVTc;
 import org.eclipse.qvtd.compiler.internal.utilities.CompilerUtil;
 
@@ -54,17 +52,11 @@
 		private final @NonNull Collection<GeneratorAdapterFactory> adapterFactories = new ArrayList<>();
 
 		public Generator() {
-			// Replacement for EMF to fix BUG 485764, BUG 485089
-			//addAdapterFactoryDescriptor(QVTdGenModelGeneratorAdapterFactory.DESCRIPTOR);
-			addAdapterFactoryDescriptor(GenModelGeneratorAdapterFactory.DESCRIPTOR);
-			// OCLinEcore embedded support
-			addAdapterFactoryDescriptor(OCLinEcoreGeneratorAdapterFactory.DESCRIPTOR);
-		}
-
-		private void addAdapterFactoryDescriptor(Descriptor descriptor) {
-			GeneratorAdapterFactory adapterFactory = descriptor.createAdapterFactory();
-			adapterFactories.add(adapterFactory);
-			adapterFactory.setGenerator(this);
+			for (GeneratorAdapterFactory.@NonNull Descriptor descriptor : OCLGenModelUtil.getGeneratorAdapterFactoryDescriptors()) {
+				GeneratorAdapterFactory adapterFactory = descriptor.createAdapterFactory();
+				adapterFactories.add(adapterFactory);
+				adapterFactory.setGenerator(this);
+			}
 		}
 
 		@Override