[510210] Update types used in pattern context values 

Bug: 510210 

Change-Id: I9ccefa656b71846ffe876512d60fc33c77e732ea
Signed-off-by: Thomas Guiu <thomas.guiu@soyatec.com>
diff --git a/portfolio/org.eclipse.egf.portfolio.genchain.tools/generated/fcore/builder/patterns/ModeEcorelPattern.java b/portfolio/org.eclipse.egf.portfolio.genchain.tools/generated/fcore/builder/patterns/ModeEcorelPattern.java
index 57c86a7..301240a 100644
--- a/portfolio/org.eclipse.egf.portfolio.genchain.tools/generated/fcore/builder/patterns/ModeEcorelPattern.java
+++ b/portfolio/org.eclipse.egf.portfolio.genchain.tools/generated/fcore/builder/patterns/ModeEcorelPattern.java
@@ -1,188 +1,200 @@
-//Generated on Thu Jan 12 17:22:18 CET 2012 with EGF 0.6.1.qualifier
-package fcore.builder.patterns;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.egf.model.domain.Domain;
-import org.eclipse.egf.model.domain.DomainFactory;
-import org.eclipse.egf.model.domain.EMFDomain;
-import org.eclipse.egf.model.domain.DomainViewpoint;
-import org.eclipse.egf.model.domain.TypeDomain;
-import org.eclipse.egf.model.fcore.Activity;
-import org.eclipse.egf.model.fcore.FactoryComponent;
-import org.eclipse.egf.model.fcore.OrchestrationParameter;
-import org.eclipse.egf.model.fprod.ProductionPlan;
-import org.eclipse.egf.model.pattern.*;
-import org.eclipse.egf.model.types.Type;
-import org.eclipse.egf.pattern.execution.*;
-import org.eclipse.egf.pattern.query.IQuery;
-import org.eclipse.egf.portfolio.genchain.generationChain.EmfGeneration;
-import org.eclipse.egf.portfolio.genchain.generationChain.GenerationElement;
-import org.eclipse.egf.portfolio.genchain.tools.FcoreBuilderConstants;
-import org.eclipse.egf.portfolio.genchain.tools.utils.ActivityInvocationHelper;
-import org.eclipse.emf.common.util.URI;
-import org.eclipse.emf.ecore.resource.ResourceSet;
-import org.eclipse.egf.model.types.*;
-import java.util.ArrayList;
-
-public class ModeEcorelPattern {
-
-	public ModeEcorelPattern() {
-		//Here is the constructor
-		// add initialisation of the pattern variables (declaration has been already done).
-		this.modelActivity = "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_Pcm9sDG0Ed-kc8dEZsdm2w";
-		this.editActivity = "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_PiIW4DG0Ed-kc8dEZsdm2w";
-		this.editorActivity = "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_PkqGcDG0Ed-kc8dEZsdm2w";
-		this.testActivity = "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_PoF08DG0Ed-kc8dEZsdm2w";
-		this.javadocActivity = "platform:/plugin/org.eclipse.egf.portfolio.ant.javadoc/egf/javadocTask.fcore#_dj3IUEKMEeCptI_ayXHmng";
-	}
-
-	public void generate(Object argument) throws Exception {
-		InternalPatternContext ctx = (InternalPatternContext) argument;
-		IQuery.ParameterDescription paramDesc = null;
-		Map<String, String> queryCtx = null;
-		Node.Container currentNode = ctx.getNode();
-		List<Object> parameterList = null;
-		//this pattern can only be called by another (i.e. it's not an entry point in execution)
-
-		for (Object parameterParameter : parameterList) {
-
-			this.parameter = (org.eclipse.egf.portfolio.genchain.generationChain.EmfGeneration) parameterParameter;
-
-			if (preCondition(ctx)) {
-				ctx.setNode(new Node.Container(currentNode, getClass()));
-				orchestration((PatternContext) argument);
-
-			}
-		}
-		if (ctx.useReporter()) {
-			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);
-		}
-	}
-
-	public String orchestration(PatternContext ctx) throws Exception {
-		InternalPatternContext ictx = (InternalPatternContext) ctx;
-		Node.Container currentNode = ictx.getNode();
-		method_body(new StringBuffer(), ictx);
-		ictx.setNode(currentNode);
-		if (ictx.useReporter()) {
-			Map<String, Object> parameterValues = new HashMap<String, Object>();
-			parameterValues.put("parameter", this.parameter);
-			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);
-			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);
-			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);
-		}
-		return null;
-	}
-
-	protected void method_body(final StringBuffer out, final PatternContext ctx) throws Exception {
-		Map<GenerationElement, FactoryComponent> fcs = (Map<GenerationElement, FactoryComponent>) ctx.getValue(FcoreBuilderConstants.CURRENT_FCORE);
-
-		FactoryComponent fc = fcs.get((GenerationElement) (parameter.eContainer()));
-
-		ProductionPlan pp = (ProductionPlan) fc.getOrchestration();
-		DomainViewpoint dvp = (DomainViewpoint) fc.getViewpointContainer().getViewpoint(DomainViewpoint.class);
-
-		EMFDomain genModelEMFDomain = null;
-		URI uri = ((HashMap<EmfGeneration, URI>) ctx.getValue(FcoreBuilderConstants.GENMODEL_URIS)).get(parameter);
-		genModelEMFDomain = ActivityInvocationHelper.getDomain(dvp, uri);
-		if (genModelEMFDomain == null) {
-			genModelEMFDomain = DomainFactory.eINSTANCE.createEMFDomain();
-			genModelEMFDomain.setUri(uri);
-			dvp.getDomains().add(genModelEMFDomain);
-		}
-
-		Map<String, Type> contracts = new HashMap<String, Type>();
-		Map<String, OrchestrationParameter> parameters = new HashMap<String, OrchestrationParameter>();
-
-		for (OrchestrationParameter param : pp.getOrchestrationParameters()) {
-			if (ActivityInvocationHelper.GENERATION_EXTENSION_PARAMETER_NAME.equals(param.getName())) {
-				parameters.put("pattern.substitutions", param);
-			}
-		}
-
-		ResourceSet resourceSet = fc.eResource().getResourceSet();
-		if (parameter.isGenerateModel()) {
-			TypeDomain typeEMFDomain = DomainFactory.eINSTANCE.createTypeDomain();
-			typeEMFDomain.setDomain(genModelEMFDomain);
-			contracts.put("genModel", typeEMFDomain);
-			ActivityInvocationHelper.addInvocation(pp, (Activity) resourceSet.getEObject(URI.createURI(this.modelActivity, false), true), contracts, parameters);
-		}
-		if (parameter.isGenerateEdit()) {
-			TypeDomain typeEMFDomain = DomainFactory.eINSTANCE.createTypeDomain();
-			typeEMFDomain.setDomain(genModelEMFDomain);
-			contracts.put("genModel", typeEMFDomain);
-			ActivityInvocationHelper.addInvocation(pp, (Activity) resourceSet.getEObject(URI.createURI(this.editActivity, false), true), contracts, parameters);
-		}
-		if (parameter.isGenerateEditor()) {
-			TypeDomain typeEMFDomain = DomainFactory.eINSTANCE.createTypeDomain();
-			typeEMFDomain.setDomain(genModelEMFDomain);
-			contracts.put("genModel", typeEMFDomain);
-			ActivityInvocationHelper.addInvocation(pp, (Activity) resourceSet.getEObject(URI.createURI(this.editorActivity, false), true), contracts, parameters);
-		}
-		if (parameter.isGenerateTest()) {
-			TypeDomain typeEMFDomain = DomainFactory.eINSTANCE.createTypeDomain();
-			typeEMFDomain.setDomain(genModelEMFDomain);
-			contracts.put("genModel", typeEMFDomain);
-			ActivityInvocationHelper.addInvocation(pp, (Activity) resourceSet.getEObject(URI.createURI(this.testActivity, false), true), contracts, parameters);
-		}
-		if (parameter.isGenerateJavadoc()) {
-			TypeDomain typeEMFDomain = DomainFactory.eINSTANCE.createTypeDomain();
-			typeEMFDomain.setDomain(genModelEMFDomain);
-			contracts.put("genModel", typeEMFDomain);
-			ActivityInvocationHelper.addInvocation(pp, (Activity) resourceSet.getEObject(URI.createURI(this.javadocActivity, false), true), contracts, parameters);
-		}
-
-		InternalPatternContext ictx = (InternalPatternContext) ctx;
-		new Node.DataLeaf(ictx.getNode(), getClass(), "body", out.toString());
-	}
-
-	public boolean preCondition(PatternContext ctx) throws Exception {
-		return true;
-	}
-
-	protected org.eclipse.egf.portfolio.genchain.generationChain.EmfGeneration parameter;
-
-	public void set_parameter(org.eclipse.egf.portfolio.genchain.generationChain.EmfGeneration parameter) {
-		this.parameter = parameter;
-	}
-
-	protected java.lang.String modelActivity;
-
-	public void set_modelActivity(java.lang.String modelActivity) {
-		this.modelActivity = modelActivity;
-	}
-
-	protected java.lang.String editActivity;
-
-	public void set_editActivity(java.lang.String editActivity) {
-		this.editActivity = editActivity;
-	}
-
-	protected java.lang.String editorActivity;
-
-	public void set_editorActivity(java.lang.String editorActivity) {
-		this.editorActivity = editorActivity;
-	}
-
-	protected java.lang.String testActivity;
-
-	public void set_testActivity(java.lang.String testActivity) {
-		this.testActivity = testActivity;
-	}
-
-	protected java.lang.String javadocActivity;
-
-	public void set_javadocActivity(java.lang.String javadocActivity) {
-		this.javadocActivity = javadocActivity;
-	}
-
-	public Map<String, Object> getParameters() {
-		Map<String, Object> parameters = new HashMap<String, Object>();
-		parameters.put("parameter", this.parameter);
-		return parameters;
-	}
-
-}
+//Generated with EGF 1.4.1.v20161010-1511

+package fcore.builder.patterns;

+

+import java.util.HashMap;

+import java.util.List;

+import java.util.Map;

+

+import org.eclipse.egf.model.domain.Domain;

+import org.eclipse.egf.model.domain.DomainFactory;

+import org.eclipse.egf.model.domain.EMFDomain;

+import org.eclipse.egf.model.domain.DomainViewpoint;

+import org.eclipse.egf.model.domain.TypeDomain;

+import org.eclipse.egf.model.fcore.Activity;

+import org.eclipse.egf.model.fcore.FactoryComponent;

+import org.eclipse.egf.model.fcore.OrchestrationParameter;

+import org.eclipse.egf.model.fprod.ProductionPlan;

+import org.eclipse.egf.model.pattern.*;

+import org.eclipse.egf.model.types.Type;

+import org.eclipse.egf.pattern.execution.*;

+import org.eclipse.egf.pattern.query.IQuery;

+import org.eclipse.egf.portfolio.genchain.generationChain.EmfGeneration;

+import org.eclipse.egf.portfolio.genchain.generationChain.GenerationElement;

+import org.eclipse.egf.portfolio.genchain.tools.FcoreBuilderConstants;

+import org.eclipse.egf.portfolio.genchain.tools.utils.ActivityInvocationHelper;

+import org.eclipse.emf.common.util.URI;

+import org.eclipse.emf.ecore.resource.ResourceSet;

+import org.eclipse.egf.model.types.*;

+import java.util.ArrayList;

+

+public class ModeEcorelPattern {

+

+	public ModeEcorelPattern() {

+		//Here is the constructor

+		// add initialisation of the pattern variables (declaration has been already done).

+		this.modelActivity = "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_Pcm9sDG0Ed-kc8dEZsdm2w";

+		this.editActivity = "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_PiIW4DG0Ed-kc8dEZsdm2w";

+		this.editorActivity = "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_PkqGcDG0Ed-kc8dEZsdm2w";

+		this.testActivity = "platform:/plugin/org.eclipse.egf.emf.pattern/egf/EMF_Pattern.fcore#_PoF08DG0Ed-kc8dEZsdm2w";

+		this.javadocActivity = "platform:/plugin/org.eclipse.egf.portfolio.ant.javadoc/egf/javadocTask.fcore#_dj3IUEKMEeCptI_ayXHmng";

+	}

+

+	public void generate(Object argument) throws Exception {

+		InternalPatternContext ctx = (InternalPatternContext) argument;

+		IQuery.ParameterDescription paramDesc = null;

+		Map<String, String> queryCtx = null;

+		Node.Container currentNode = ctx.getNode();

+		List<Object> parameterList = null;

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

+

+		for (Object parameterParameter : parameterList) {

+

+			this.parameter = (org.eclipse.egf.portfolio.genchain.generationChain.EmfGeneration) parameterParameter;

+

+			if (preCondition(ctx)) {

+				ctx.setNode(new Node.Container(currentNode, getClass()));

+				orchestration((PatternContext) argument);

+

+			}

+		}

+		if (ctx.useReporter()) {

+			ctx.getReporter().executionFinished(OutputManager.computeExecutionOutput(ctx), ctx);

+		}

+	}

+

+	public String orchestration(PatternContext ctx) throws Exception {

+		InternalPatternContext ictx = (InternalPatternContext) ctx;

+		Node.Container currentNode = ictx.getNode();

+		method_body(new StringBuffer(), ictx);

+		ictx.setNode(currentNode);

+		if (ictx.useReporter()) {

+			Map<String, Object> parameterValues = new HashMap<String, Object>();

+			parameterValues.put("parameter", this.parameter);

+			String outputWithCallBack = OutputManager.computeLoopOutput(ictx);

+			String loop = OutputManager.computeLoopOutputWithoutCallback(ictx);

+			ictx.getReporter().loopFinished(loop, outputWithCallBack, ictx, parameterValues);

+		}

+		return null;

+	}

+

+	protected void method_body(final StringBuffer out, final PatternContext ctx) throws Exception {

+		Map<GenerationElement, FactoryComponent> fcs = (Map<GenerationElement, FactoryComponent>) ctx

+				.getValue(FcoreBuilderConstants.CURRENT_FCORE);

+

+		FactoryComponent fc = fcs.get((GenerationElement) (parameter.eContainer()));

+

+		ProductionPlan pp = (ProductionPlan) fc.getOrchestration();

+		DomainViewpoint dvp = (DomainViewpoint) fc.getViewpointContainer().getViewpoint(DomainViewpoint.class);

+

+		EMFDomain genModelEMFDomain = null;

+		URI uri = ((HashMap<EmfGeneration, URI>) ctx.getValue(FcoreBuilderConstants.GENMODEL_URIS))

+				.get(parameter.getModelPath());

+		genModelEMFDomain = ActivityInvocationHelper.getDomain(dvp, uri);

+		if (genModelEMFDomain == null) {

+			genModelEMFDomain = DomainFactory.eINSTANCE.createEMFDomain();

+			genModelEMFDomain.setUri(uri);

+			dvp.getDomains().add(genModelEMFDomain);

+		}

+

+		Map<String, Type> contracts = new HashMap<String, Type>();

+		Map<String, OrchestrationParameter> parameters = new HashMap<String, OrchestrationParameter>();

+

+		for (OrchestrationParameter param : pp.getOrchestrationParameters()) {

+			if (ActivityInvocationHelper.GENERATION_EXTENSION_PARAMETER_NAME.equals(param.getName())) {

+				parameters.put("pattern.substitutions", param);

+			}

+		}

+

+		ResourceSet resourceSet = fc.eResource().getResourceSet();

+		if (parameter.isGenerateModel()) {

+			TypeDomain typeEMFDomain = DomainFactory.eINSTANCE.createTypeDomain();

+			typeEMFDomain.setDomain(genModelEMFDomain);

+			contracts.put("genModel", typeEMFDomain);

+			ActivityInvocationHelper.addInvocation(pp,

+					(Activity) resourceSet.getEObject(URI.createURI(this.modelActivity, false), true), contracts,

+					parameters);

+		}

+		if (parameter.isGenerateEdit()) {

+			TypeDomain typeEMFDomain = DomainFactory.eINSTANCE.createTypeDomain();

+			typeEMFDomain.setDomain(genModelEMFDomain);

+			contracts.put("genModel", typeEMFDomain);

+			ActivityInvocationHelper.addInvocation(pp,

+					(Activity) resourceSet.getEObject(URI.createURI(this.editActivity, false), true), contracts,

+					parameters);

+		}

+		if (parameter.isGenerateEditor()) {

+			TypeDomain typeEMFDomain = DomainFactory.eINSTANCE.createTypeDomain();

+			typeEMFDomain.setDomain(genModelEMFDomain);

+			contracts.put("genModel", typeEMFDomain);

+			ActivityInvocationHelper.addInvocation(pp,

+					(Activity) resourceSet.getEObject(URI.createURI(this.editorActivity, false), true), contracts,

+					parameters);

+		}

+		if (parameter.isGenerateTest()) {

+			TypeDomain typeEMFDomain = DomainFactory.eINSTANCE.createTypeDomain();

+			typeEMFDomain.setDomain(genModelEMFDomain);

+			contracts.put("genModel", typeEMFDomain);

+			ActivityInvocationHelper.addInvocation(pp,

+					(Activity) resourceSet.getEObject(URI.createURI(this.testActivity, false), true), contracts,

+					parameters);

+		}

+		if (parameter.isGenerateJavadoc()) {

+			TypeDomain typeEMFDomain = DomainFactory.eINSTANCE.createTypeDomain();

+			typeEMFDomain.setDomain(genModelEMFDomain);

+			contracts.put("genModel", typeEMFDomain);

+			ActivityInvocationHelper.addInvocation(pp,

+					(Activity) resourceSet.getEObject(URI.createURI(this.javadocActivity, false), true), contracts,

+					parameters);

+		}

+

+		InternalPatternContext ictx = (InternalPatternContext) ctx;

+		new Node.DataLeaf(ictx.getNode(), getClass(), "body", out.toString());

+	}

+

+	public boolean preCondition(PatternContext ctx) throws Exception {

+		return true;

+	}

+

+	protected org.eclipse.egf.portfolio.genchain.generationChain.EmfGeneration parameter;

+

+	public void set_parameter(org.eclipse.egf.portfolio.genchain.generationChain.EmfGeneration parameter) {

+		this.parameter = parameter;

+	}

+

+	protected java.lang.String modelActivity;

+

+	public void set_modelActivity(java.lang.String modelActivity) {

+		this.modelActivity = modelActivity;

+	}

+

+	protected java.lang.String editActivity;

+

+	public void set_editActivity(java.lang.String editActivity) {

+		this.editActivity = editActivity;

+	}

+

+	protected java.lang.String editorActivity;

+

+	public void set_editorActivity(java.lang.String editorActivity) {

+		this.editorActivity = editorActivity;

+	}

+

+	protected java.lang.String testActivity;

+

+	public void set_testActivity(java.lang.String testActivity) {

+		this.testActivity = testActivity;

+	}

+

+	protected java.lang.String javadocActivity;

+

+	public void set_javadocActivity(java.lang.String javadocActivity) {

+		this.javadocActivity = javadocActivity;

+	}

+

+	public Map<String, Object> getParameters() {

+		Map<String, Object> parameters = new HashMap<String, Object>();

+		parameters.put("parameter", this.parameter);

+		return parameters;

+	}

+

+}

diff --git a/portfolio/org.eclipse.egf.portfolio.genchain.tools/generated/fcore/builder/patterns/ModelGenmodelPattern.java b/portfolio/org.eclipse.egf.portfolio.genchain.tools/generated/fcore/builder/patterns/ModelGenmodelPattern.java
index cbf65e3..004f694 100644
--- a/portfolio/org.eclipse.egf.portfolio.genchain.tools/generated/fcore/builder/patterns/ModelGenmodelPattern.java
+++ b/portfolio/org.eclipse.egf.portfolio.genchain.tools/generated/fcore/builder/patterns/ModelGenmodelPattern.java
@@ -1,4 +1,4 @@
-//Generated on Thu Jan 12 17:22:18 CET 2012 with EGF 0.6.1.qualifier

+//Generated with EGF 1.4.1.v20161010-1511

 package fcore.builder.patterns;

 

 import java.util.HashMap;

@@ -6,28 +6,31 @@
 import java.util.Map;

 import java.util.regex.Pattern;

 

-import org.eclipse.core.resources.IFile;

-import org.eclipse.core.resources.IProject;

-import org.eclipse.core.resources.ResourcesPlugin;

 import org.eclipse.core.runtime.CoreException;

 import org.eclipse.core.runtime.IPath;

 import org.eclipse.core.runtime.Path;

-import org.eclipse.egf.common.helper.ObjectHolder;

-import org.eclipse.egf.core.domain.EgfResourceSet;

-import org.eclipse.egf.model.pattern.Node;

-import org.eclipse.egf.model.pattern.PatternContext;

-import org.eclipse.egf.pattern.execution.InternalPatternContext;

-import org.eclipse.egf.pattern.execution.OutputManager;

+import org.eclipse.egf.pattern.execution.CallHelper;

+import org.eclipse.egf.pattern.execution.ExecutionContext;

+import org.eclipse.egf.model.fcore.FactoryComponent;

+import org.eclipse.egf.model.pattern.*;

+import org.eclipse.egf.pattern.execution.*;

 import org.eclipse.egf.pattern.query.IQuery;

-import org.eclipse.egf.portfolio.genchain.generationChain.EmfGeneration;

-import org.eclipse.egf.portfolio.genchain.tools.FcoreBuilderConstants;

-import org.eclipse.egf.portfolio.genchain.tools.utils.EcoreImporterHelper;

 import org.eclipse.emf.codegen.ecore.genmodel.GenModel;

 import org.eclipse.emf.codegen.ecore.genmodel.GenPackage;

-import org.eclipse.emf.common.util.BasicMonitor;

+import org.eclipse.emf.codegen.ecore.genmodel.GenResourceKind;

 import org.eclipse.emf.common.util.URI;

 import org.eclipse.emf.ecore.resource.Resource;

 import org.eclipse.emf.ecore.resource.ResourceSet;

+import org.eclipse.emf.importer.ecore.EcoreImporter;

+

+import org.eclipse.egf.portfolio.genchain.tools.FcoreBuilderConstants;

+import org.eclipse.egf.portfolio.genchain.tools.utils.EcoreImporterHelper;

+import org.eclipse.egf.portfolio.genchain.generationChain.EmfGeneration;

+import org.eclipse.emf.common.util.BasicMonitor;

+

+import org.eclipse.core.resources.*;

+import org.eclipse.egf.core.domain.*;

+import org.eclipse.egf.common.helper.ObjectHolder;

 import org.eclipse.search.core.text.TextSearchEngine;

 import org.eclipse.search.core.text.TextSearchRequestor;

 import org.eclipse.search.core.text.TextSearchScope;

@@ -36,9 +39,8 @@
 public class ModelGenmodelPattern {

 

 	public ModelGenmodelPattern() {

-		// Here is the constructor

-		// add initialisation of the pattern variables (declaration has been

-		// already done).

+		//Here is the constructor

+		// add initialisation of the pattern variables (declaration has been already done).

 	}

 

 	public void generate(Object argument) throws Exception {

@@ -47,8 +49,7 @@
 		Map<String, String> queryCtx = null;

 		Node.Container currentNode = ctx.getNode();

 		List<Object> parameterList = null;

-		// this pattern can only be called by another (i.e. it's not an entry

-		// point in execution)

+		//this pattern can only be called by another (i.e. it's not an entry point in execution)

 

 		for (Object parameterParameter : parameterList) {

 

@@ -103,7 +104,7 @@
 		TextSearchEngine.create().search(fScope, collector, searchPattern, null);

 

 		if (genModelFile.object == null) {

-			ResourceSet resourceSet = new EgfResourceSet();

+			ResourceSet resourceSet = new TargetPlatformResourceSet();

 			Resource resource = null;

 			IPath genmodelPath = ecorePath.removeFileExtension().addFileExtension("genmodel");

 			genmodelPath = new Path(parameter.getPluginName()).append(genmodelPath.removeFirstSegments(1));

@@ -120,13 +121,16 @@
 				if (!project.isOpen())

 					project.open(null);

 

-				importer = EcoreImporterHelper.createEcoreImporter(genmodelPath.removeLastSegments(1), ecoreURI, parameter);

+				importer = EcoreImporterHelper.createEcoreImporter(genmodelPath.removeLastSegments(1), ecoreURI,

+						parameter);

 			}

 			genmodelURI = URI.createPlatformResourceURI(genmodelPath.toString(), false);

-			((HashMap<EmfGeneration, URI>) ctx.getValue(FcoreBuilderConstants.GENMODEL_URIS)).put(parameter, genmodelURI);

+			((HashMap<String, URI>) ctx.getValue(FcoreBuilderConstants.GENMODEL_URIS)).put(parameter.getModelPath(),

+					genmodelURI);

 		} else {

 			URI uri = URI.createPlatformResourceURI(genModelFile.object.getFullPath().toString(), false);

-			((HashMap<EmfGeneration, URI>) ctx.getValue(FcoreBuilderConstants.GENMODEL_URIS)).put(parameter, uri);

+			((HashMap<String, URI>) ctx.getValue(FcoreBuilderConstants.GENMODEL_URIS)).put(parameter.getModelPath(),

+					uri);

 		}

 

 		InternalPatternContext ictx = (InternalPatternContext) ctx;

diff --git a/portfolio/org.eclipse.egf.portfolio.genchain.tools/src/org/eclipse/egf/portfolio/genchain/tools/FcoreBuilderTask.java b/portfolio/org.eclipse.egf.portfolio.genchain.tools/src/org/eclipse/egf/portfolio/genchain/tools/FcoreBuilderTask.java
index aa755a0..153c493 100644
--- a/portfolio/org.eclipse.egf.portfolio.genchain.tools/src/org/eclipse/egf/portfolio/genchain/tools/FcoreBuilderTask.java
+++ b/portfolio/org.eclipse.egf.portfolio.genchain.tools/src/org/eclipse/egf/portfolio/genchain/tools/FcoreBuilderTask.java
@@ -83,7 +83,7 @@
 		ctx.setValue(FcoreBuilderConstants.MAIN_FCORE, mainFC);

 		ctx.setValue(FcoreBuilderConstants.CURRENT_FCORE, fcs);

 

-		ctx.setValue(FcoreBuilderConstants.GENMODEL_URIS, new HashMap<EmfGeneration, URI>());

+		ctx.setValue(FcoreBuilderConstants.GENMODEL_URIS, new HashMap<String, URI>());

 		ctx.setValue(FcoreBuilderConstants.UNUSED_FCORE, unusedFC);

 		ctx.setValue(FcoreBuilderConstants.RESOURCE_SET, resourceSet);

 

diff --git a/portfolio/org.eclipse.egf.portfolio.genchain.tools/templates/pattern._2-eB0Ij9Ed-AZ6r6cIc0dQ/method._2-eB1Ij9Ed-AZ6r6cIc0dQ.pt b/portfolio/org.eclipse.egf.portfolio.genchain.tools/templates/pattern._2-eB0Ij9Ed-AZ6r6cIc0dQ/method._2-eB1Ij9Ed-AZ6r6cIc0dQ.pt
index 1ce8802..8a3745a 100644
--- a/portfolio/org.eclipse.egf.portfolio.genchain.tools/templates/pattern._2-eB0Ij9Ed-AZ6r6cIc0dQ/method._2-eB1Ij9Ed-AZ6r6cIc0dQ.pt
+++ b/portfolio/org.eclipse.egf.portfolio.genchain.tools/templates/pattern._2-eB0Ij9Ed-AZ6r6cIc0dQ/method._2-eB1Ij9Ed-AZ6r6cIc0dQ.pt
@@ -38,9 +38,9 @@
                         importer = EcoreImporterHelper.createEcoreImporter(genmodelPath.removeLastSegments(1), ecoreURI, parameter);

                   }

                   genmodelURI = URI.createPlatformResourceURI(genmodelPath.toString(), false);

-                  ((HashMap<EmfGeneration, URI>) ctx.getValue(FcoreBuilderConstants.GENMODEL_URIS)).put(parameter, genmodelURI);

+                  ((HashMap<String, URI>) ctx.getValue(FcoreBuilderConstants.GENMODEL_URIS)).put(parameter.getModelPath(), genmodelURI);

             } else {

                   URI uri = URI.createPlatformResourceURI(genModelFile.object.getFullPath().toString(), false);

-                  ((HashMap<EmfGeneration, URI>) ctx.getValue(FcoreBuilderConstants.GENMODEL_URIS)).put(parameter, uri);

+                  ((HashMap<String, URI>) ctx.getValue(FcoreBuilderConstants.GENMODEL_URIS)).put(parameter.getModelPath(), uri);

             }

 

diff --git a/portfolio/org.eclipse.egf.portfolio.genchain.tools/templates/pattern._vGOOEIhLEd-Ii9WHGzCGHg/method._vGOOFIhLEd-Ii9WHGzCGHg.pt b/portfolio/org.eclipse.egf.portfolio.genchain.tools/templates/pattern._vGOOEIhLEd-Ii9WHGzCGHg/method._vGOOFIhLEd-Ii9WHGzCGHg.pt
index dcaa14f..4096f94 100644
--- a/portfolio/org.eclipse.egf.portfolio.genchain.tools/templates/pattern._vGOOEIhLEd-Ii9WHGzCGHg/method._vGOOFIhLEd-Ii9WHGzCGHg.pt
+++ b/portfolio/org.eclipse.egf.portfolio.genchain.tools/templates/pattern._vGOOEIhLEd-Ii9WHGzCGHg/method._vGOOFIhLEd-Ii9WHGzCGHg.pt
@@ -6,7 +6,7 @@
         DomainViewpoint dvp = (DomainViewpoint) fc.getViewpointContainer().getViewpoint(DomainViewpoint.class);
 
         EMFDomain genModelEMFDomain = null;
-        URI uri = ((HashMap<EmfGeneration, URI>) ctx.getValue(FcoreBuilderConstants.GENMODEL_URIS)).get(parameter);
+        URI uri = ((HashMap<EmfGeneration, URI>) ctx.getValue(FcoreBuilderConstants.GENMODEL_URIS)).get(parameter.getModelPath());
         genModelEMFDomain = ActivityInvocationHelper.getDomain(dvp, uri);
         if (genModelEMFDomain == null) {
             genModelEMFDomain = DomainFactory.eINSTANCE.createEMFDomain();