bugs fixed
diff --git a/org.eclipse.emf.refactor.comrel.diagram/plugin.xml b/org.eclipse.emf.refactor.comrel.diagram/plugin.xml
index 147f9ca..325f768 100644
--- a/org.eclipse.emf.refactor.comrel.diagram/plugin.xml
+++ b/org.eclipse.emf.refactor.comrel.diagram/plugin.xml
@@ -185,7 +185,7 @@
    <extension point="org.eclipse.ui.views.properties.tabbed.propertyContributor" id="prop-contrib">
       <?gmfgen generated="true"?>
       <propertyContributor
-            contributorId="comrel.diagram"
+            contributorId="org.eclipse.emf.refactor.comrel.diagram"
             labelProvider="comrel.diagram.sheet.ComrelSheetLabelProvider">
          <propertyCategory category="domain"/>
          <propertyCategory category="visual"/>
@@ -195,7 +195,7 @@
 
    <extension point="org.eclipse.ui.views.properties.tabbed.propertyTabs" id="proptabs">
       <?gmfgen generated="true"?>   
-      <propertyTabs contributorId="comrel.diagram">
+      <propertyTabs contributorId="org.eclipse.emf.refactor.comrel.diagram">
          <propertyTab
              category="visual"
              id="property.tab.AppearancePropertySection"
@@ -213,7 +213,7 @@
 
    <extension point="org.eclipse.ui.views.properties.tabbed.propertySections" id="propsections">
       <?gmfgen generated="true"?>   
-      <propertySections contributorId="comrel.diagram">
+      <propertySections contributorId="org.eclipse.emf.refactor.comrel.diagram">
          <propertySection id="property.section.ConnectorAppearancePropertySection" 
             filter="org.eclipse.gmf.runtime.diagram.ui.properties.filters.ConnectionEditPartPropertySectionFilter" 
             class="org.eclipse.gmf.runtime.diagram.ui.properties.sections.appearance.ConnectionAppearancePropertySection" 
diff --git a/org.eclipse.emf.refactor.comrel.generator/META-INF/MANIFEST.MF b/org.eclipse.emf.refactor.comrel.generator/META-INF/MANIFEST.MF
index a8c9636..68e531a 100644
--- a/org.eclipse.emf.refactor.comrel.generator/META-INF/MANIFEST.MF
+++ b/org.eclipse.emf.refactor.comrel.generator/META-INF/MANIFEST.MF
@@ -10,7 +10,10 @@
  org.eclipse.emf.ecore;bundle-version="2.6.1",
  org.eclipse.emf.codegen;bundle-version="2.6.0",
  org.eclipse.jdt.core;bundle-version="3.6.1",
- org.eclipse.emf.refactor.comrel;bundle-version="0.8.0"
+ org.eclipse.emf.refactor.comrel;bundle-version="0.8.0",
+ org.eclipse.emf.refactor.refactoring.generator;bundle-version="0.9.0",
+ org.eclipse.emf.refactor.refactoring;bundle-version="0.9.0"
 Bundle-ActivationPolicy: lazy
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Import-Package: org.eclipse.ui.actions
+Export-Package: comrel.generator.helper
diff --git a/org.eclipse.emf.refactor.comrel.generator/plugin.xml b/org.eclipse.emf.refactor.comrel.generator/plugin.xml
index 8af7dd0..bb37a25 100644
--- a/org.eclipse.emf.refactor.comrel.generator/plugin.xml
+++ b/org.eclipse.emf.refactor.comrel.generator/plugin.xml
@@ -38,7 +38,7 @@
       </wizard>

       <wizard

             category="org.eclipse.emf.refactor.newwizards.category/comrel.generator.category"

-            class="comrel.generator.refactoring.wizards.RefactoringWizard"

+            class="comrel.generator.refactoring.wizards.NewRefactoringWizardCoMReL"

             icon="icons/refactoring.jpg"

             id="comrel.generator.wizard.refactoring"

             name="Refactoring (specified in CoMReL)">

diff --git a/org.eclipse.emf.refactor.comrel.generator/src/comrel/generator/helper/HelperGenerator.java b/org.eclipse.emf.refactor.comrel.generator/src/comrel/generator/helper/HelperGenerator.java
index 1b79811..adb1e60 100644
--- a/org.eclipse.emf.refactor.comrel.generator/src/comrel/generator/helper/HelperGenerator.java
+++ b/org.eclipse.emf.refactor.comrel.generator/src/comrel/generator/helper/HelperGenerator.java
@@ -38,7 +38,7 @@
 	private final String JETEMITTERS = ".JETEmitters";

 	private final String JAVA = ".java";

 	private final String JAVAJET = ".javajet";

-	private final String COMRELMODEL = "comrel";

+	private final String COMRELMODEL = "org.eclipse.emf.refactor.comrel";

 	private final String REQUIREBUNDLE = "Require-Bundle";

 	private final String BUNDLESYMBOLICNAME = "Bundle-SymbolicName";

 	private final String BUNDLEVERSION = "Bundle-Version";

diff --git a/org.eclipse.emf.refactor.comrel.generator/src/comrel/generator/refactoring/CoMReLDependenciesManager.java b/org.eclipse.emf.refactor.comrel.generator/src/comrel/generator/refactoring/CoMReLDependenciesManager.java
new file mode 100644
index 0000000..8a38fe1
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel.generator/src/comrel/generator/refactoring/CoMReLDependenciesManager.java
@@ -0,0 +1,61 @@
+package comrel.generator.refactoring;

+

+import java.io.FileInputStream;

+import java.io.FileOutputStream;

+import java.io.IOException;

+import java.net.MalformedURLException;

+import java.util.jar.Attributes;

+import java.util.jar.Manifest;

+

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

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

+import org.eclipse.emf.refactor.refactoring.generator.core.RefactoringInfo;

+import org.eclipse.emf.refactor.refactoring.generator.managers.DependenciesManager;

+

+public class CoMReLDependenciesManager extends DependenciesManager {

+	

+	private static final String REFACTORCOMREL = "org.eclipse.emf.refactor.comrel";

+	private static final String COMRELINTERPRETER = "org.eclipse.emf.refactor.comrel.interpreter";

+

+	public static void updateDependencies(RefactoringInfo info) {

+		IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(info.getProjectName());

+		try {			

+			String fileName = project.getLocation().append(MANIFEST_FILE)

+								.toOSString();

+			FileInputStream is = new FileInputStream(fileName);

+			Manifest mf = new Manifest(is);

+			Attributes att = mf.getMainAttributes();

+			String value = att.getValue(REQUIREBUNDLE);

+			if (! value.contains(EXPRESSIONS)) 

+				value = value + "," +  EXPRESSIONS;

+			if (! value.contains(ECORE))

+				value = value + "," +  ECORE;

+			if (! value.contains(ECORECHANGE))

+				value = value + "," +  ECORECHANGE;

+			if (! value.contains(LTKCORE))

+				value = value + "," +  LTKCORE;

+			if (! value.contains(LTKUI))

+				value = value + "," +  LTKUI;

+			if (! value.contains(REFACTORCOMMON)) 

+				value = value + "," +  REFACTORCOMMON;

+			if (! value.contains(REFACTORRUNTIME)) 

+				value = value + "," +  REFACTORRUNTIME;

+			if (! value.contains(REFACTORCOMREL))

+				value = value + "," +  REFACTORCOMREL;

+			if (! value.contains(COMRELINTERPRETER))

+				value = value + "," +  COMRELINTERPRETER;

+			if (! value.contains(JUNIT)) 

+				value = value + "," +  JUNIT + ";bundle-version=\"4.8.1\"";

+			if (! value.contains(info.getJar()))

+				value = value + "," +  info.getJar();

+			att.putValue(REQUIREBUNDLE, value);

+			FileOutputStream out = new FileOutputStream(fileName);  

+			mf.write(out); 

+		} catch (MalformedURLException e) {

+			e.printStackTrace();

+		} catch (IOException e) {

+			e.printStackTrace();

+		}

+	}

+

+}

diff --git a/org.eclipse.emf.refactor.comrel.generator/src/comrel/generator/refactoring/ComrelConfig.java b/org.eclipse.emf.refactor.comrel.generator/src/comrel/generator/refactoring/ComrelConfig.java
new file mode 100644
index 0000000..5f43436
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel.generator/src/comrel/generator/refactoring/ComrelConfig.java
@@ -0,0 +1,81 @@
+package comrel.generator.refactoring;

+

+import java.util.List;

+

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

+import org.eclipse.emf.refactor.refactoring.generator.core.ParameterInfo;

+import org.eclipse.emf.refactor.refactoring.generator.core.RefactoringInfo;

+

+import comrel.CompositeRefactoring;

+import comrel.InputPort;

+

+public class ComrelConfig extends RefactoringInfo {

+	

+	public static final String COMRELDIR = "/comrelmodels/";

+	public static final String COMRELEXT = ".comrel";

+	

+	private static final String SELECTEDEOBJECT = "selectedEObject";

+	private static final String SELECTEDEOBJECTS = "selectedEObjects";

+	

+	private boolean multi = false;

+	private String comrelModel;

+	

+	public ComrelConfig(CompositeRefactoring cr, IProject project, String comrelModel) {

+		super(project.getName(), cr.getRefId(), 

+				cr.getLabel(), cr.getNamespaceUri());

+		this.comrelModel = comrelModel;

+		this.init(cr);

+	}

+

+	public boolean isMulti() {

+		return multi;

+	}

+

+	public String getComrelModel() {

+		return comrelModel;

+	}

+

+	private void init(CompositeRefactoring cr) {

+		List<InputPort> ips = cr.getMainRefactoringUnit().getAllInputPorts();

+		for (InputPort ip : ips) {

+			if (ip.getName().equals(SELECTEDEOBJECTS)) multi = true; 

+			if (ip.getName().equals(SELECTEDEOBJECT) 

+					|| ip.getName().equals(SELECTEDEOBJECTS)) {

+				setSelectedEObjectClass(ip.getType().getName());

+				setSelectedEObjectJar(ip.getType().getPackage().getName());

+			} else {

+				ParameterInfo pi = new ParameterInfo(ip.getName());

+				if (ip.getDescription() != null) {

+					pi.setDescription(ip.getDescription());

+				}

+				this.getParameters().add(pi);

+			}

+		}

+	}

+

+	@Override

+	public String toString() {

+		return "ComrelConfig \n [projectName=" + projectName

+				+ ", \n getParameters()=" + getParameterString()

+				+ ", \n getProjectName()=" + getProjectName()

+				+ ", \n getRefactoringId()=" + getRefactoringId()

+				+ ", \n getMenuLabel()=" + getMenuLabel() + ", \n getNamespaceUri()="

+				+ getNamespaceUri() + ", \n getSelectedEObjectClass()="

+				+ getSelectedEObjectClass() + ", \n getSelectedEObjectJar()="

+				+ getJar() + ", \n getGuiHandler()="

+				+ getGuiHandler() + ", \n getController()=" + getController()

+				+ ", \n getPackageName()=" + getPackageName() + ", \n getClass()="

+				+ getClass() + ", \n hashCode()=" + hashCode() + ", \n toString()="

+				+ super.toString() + "]";

+	}

+	

+	private String getParameterString() {

+		String ret = "";

+		for (ParameterInfo pi : getParameters()) {

+			ret += " " + pi.getName() + ":" + pi.getDescription() + ";";

+		}

+		return ret;

+	}

+

+}

+

diff --git a/org.eclipse.emf.refactor.comrel.generator/src/comrel/generator/refactoring/ComrelGenerationManager.java b/org.eclipse.emf.refactor.comrel.generator/src/comrel/generator/refactoring/ComrelGenerationManager.java
new file mode 100644
index 0000000..b7307a8
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel.generator/src/comrel/generator/refactoring/ComrelGenerationManager.java
@@ -0,0 +1,310 @@
+package comrel.generator.refactoring;

+

+import java.io.ByteArrayInputStream;

+import java.io.FileInputStream;

+import java.io.FileOutputStream;

+import java.io.IOException;

+import java.io.InputStream;

+import java.net.MalformedURLException;

+import java.util.ArrayList;

+import java.util.List;

+import java.util.jar.Attributes;

+import java.util.jar.Manifest;

+

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

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

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

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

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

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

+import org.eclipse.core.runtime.CoreException;

+import org.eclipse.core.runtime.FileLocator;

+import org.eclipse.core.runtime.IPath;

+import org.eclipse.core.runtime.IProgressMonitor;

+import org.eclipse.core.runtime.Path;

+import org.eclipse.core.runtime.Platform;

+import org.eclipse.core.runtime.SubProgressMonitor;

+import org.eclipse.emf.codegen.jet.JETEmitter;

+import org.eclipse.emf.codegen.jet.JETException;

+import org.eclipse.emf.codegen.util.CodeGenUtil;

+import org.eclipse.emf.refactor.refactoring.generator.core.RefactoringInfo;

+import org.eclipse.emf.refactor.refactoring.generator.managers.XMLPluginFileManager;

+import org.eclipse.jdt.core.IClasspathEntry;

+import org.eclipse.jdt.core.JavaCore;

+import org.osgi.framework.Bundle;

+

+import comrel.generator.Activator;

+

+public class ComrelGenerationManager {

+	

+	private final String REFACTORINGGUIHANDLERCOMRELSINGLE =

+								"RefactoringGuiHandlerComrelSingle";

+	private final String REFACTORINGGUIHANDLERCOMRELMULTI =

+								"RefactoringGuiHandlerComrelMulti";

+	private final String REFACTORINGWIZARDCOMREL =

+								"RefactoringWizardComrel";

+	private final String REFACTORINGWIZARDPAGECOMREL =

+								"RefactoringWizardPageComrel";

+	private final String REFACTORINGDATAMANAGEMENTCOMRELSINGLE = 

+								"RefactoringDataManagementComrelSingle";

+	private final String REFACTORINGDATAMANAGEMENTCOMRELMULTI = 

+								"RefactoringDataManagementComrelMulti";

+	private final String REFACTORINGCONTROLLERCOMRELSINGLE = 

+								"RefactoringControllerComrelSingle";

+	private final String REFACTORINGCONTROLLERCOMRELMULTI = 

+								"RefactoringControllerComrelMulti";

+	

+	private final String REFACTORINGWIZARD = "RefactoringWizard";	

+	private final String REFACTORINGWIZARDPAGE = 

+											"RefactoringWizardPage";

+	private final String REFACTORINGGUIHANDLER = 

+											"RefactoringGuiHandler";

+	private final String REFACTORINGCONTROLLER = 

+											"RefactoringController";

+	private final String REFACTORINGDATAMANAGEMENT = 

+											"RefactoringDataManagement";

+	

+	private final String BUNDLEVERSION = "Bundle-Version";

+	private final String BUNDLESYMBOLICNAME = "Bundle-SymbolicName";

+	private final String SINGLETONTRUE = "singleton:=true";

+	private final String PLUGINSPATH = 

+			Platform.getInstallLocation().getURL().getPath() + "plugins/"; 

+	private final String JETEMITTERS = ".JETEmitters";

+	private final String JAVA = ".java";

+	private final String JAVAJET = ".javajet";

+	private final String TEMPLATES = "templates";

+	

+	/**

+	 * Configuration data used for generating model refactoring code.

+	 */

+	private ComrelConfig config;

+	

+	/**

+	 * Full qualified name of the template directory inside the plugin.

+	 */

+	private String templateDirectory;

+	

+	/**

+	 * Classpath entries needed for compiling JET code.

+	 */

+	private List<IClasspathEntry> classpathEntries; 

+	

+	/**

+	 * JETEmitter instance used for code generation.

+	 */

+	private JETEmitter jetEmitter;

+

+	public ComrelGenerationManager(ComrelConfig config) {

+		this.config = config;

+		this.templateDirectory = setNewTemplateDirectory();		

+		classpathEntries = setClassPathEntries();

+		System.out.println("ComrelGenerationManager initialized!");

+	}

+	

+	protected List<IClasspathEntry> setClassPathEntries() {

+		List<IClasspathEntry> cpe = new ArrayList<IClasspathEntry>();

+		Bundle bundle = Platform.getBundle(Activator.PLUGIN_ID);

+	    // add org.eclipse.emf.refactor.comrel.generator to class path

+	    String version = (String) bundle.getHeaders().get(BUNDLEVERSION);

+	    cpe.add(JavaCore.newLibraryEntry(new Path(PLUGINSPATH + 

+	    		Activator.PLUGIN_ID + "_" + version + ".jar"), null, null));

+	    // add org.eclipse.emf.refactor.refactoring.generator to class path

+	 	bundle = Platform.getBundle(org.eclipse.emf.refactor.refactoring.generator.Activator.PLUGIN_ID);

+	 	version = (String) bundle.getHeaders().get(BUNDLEVERSION);

+	 	cpe.add(JavaCore.newLibraryEntry(new Path(PLUGINSPATH

+	 			+ org.eclipse.emf.refactor.refactoring.generator.Activator.PLUGIN_ID + "_" + version + ".jar"), null, null));

+	 	// add org.eclipse.emf.refactor.refactoring to class path

+	    bundle = Platform.getBundle(org.eclipse.emf.refactor.refactoring.Activator.PLUGIN_ID);

+	    version = (String) bundle.getHeaders().get(BUNDLEVERSION);

+	    cpe.add(JavaCore.newLibraryEntry(new Path(PLUGINSPATH + 

+	   		org.eclipse.emf.refactor.refactoring.Activator.PLUGIN_ID + "_" + version + ".jar"), null, null));	    

+	    return cpe;

+	}

+

+	public void run(IProgressMonitor monitor) {

+		deleteJetEmittersProject(monitor);

+		updatePluginXml();

+		CoMReLDependenciesManager.updateDependencies(config);

+		setSingletonDirective();

+		generateCode(monitor);

+	}

+	

+	private void generateCode(IProgressMonitor monitor) {

+		String generatedCode = "";

+		try {

+			if (config.isMulti()) { 

+				generatedCode = 

+					this.generateCode(monitor, REFACTORINGGUIHANDLERCOMRELMULTI);

+				this.save(monitor, generatedCode, REFACTORINGGUIHANDLER);

+				generatedCode = 

+					this.generateCode(monitor, REFACTORINGDATAMANAGEMENTCOMRELMULTI);

+				this.save(monitor, generatedCode, REFACTORINGDATAMANAGEMENT);

+				generatedCode = 

+					this.generateCode(monitor, REFACTORINGCONTROLLERCOMRELMULTI);

+				this.save(monitor, generatedCode, REFACTORINGCONTROLLER);

+			} else {

+				generatedCode = 

+					this.generateCode(monitor, REFACTORINGGUIHANDLERCOMRELSINGLE);

+				this.save(monitor, generatedCode, REFACTORINGGUIHANDLER);

+				generatedCode = 

+					this.generateCode(monitor, REFACTORINGDATAMANAGEMENTCOMRELSINGLE);

+				this.save(monitor, generatedCode, REFACTORINGDATAMANAGEMENT);

+				generatedCode = 

+					this.generateCode(monitor, REFACTORINGCONTROLLERCOMRELSINGLE);

+				this.save(monitor, generatedCode, REFACTORINGCONTROLLER);

+			}

+			generatedCode = 

+				this.generateCode(monitor, REFACTORINGWIZARDCOMREL);

+			this.save(monitor, generatedCode, REFACTORINGWIZARD);

+			generatedCode = 

+				this.generateCode(monitor, REFACTORINGWIZARDPAGECOMREL);

+			this.save(monitor, generatedCode, REFACTORINGWIZARDPAGE);

+		} catch (JETException e) {

+			e.printStackTrace();

+		} catch (CoreException e) {

+			e.printStackTrace();

+		}

+	}

+	

+	/**

+	 * Saves the given content in a file with the given name.

+	 * @param monitor Object for monitoring the saving activity.

+	 * @param content Content to be saved in a file with the given name.

+	 * @param fileName Name of the file the content has to be saved in.

+	 * @throws CoreException Exception that can be thrown.

+	 * @throws JETException Exception that can be thrown.

+	 */

+	protected void save

+			(IProgressMonitor monitor, String content, String fileName) 

+										throws CoreException, JETException {

+		IContainer container = findOrCreatePackage(monitor);

+		if (container == null) {

+			throw new JETException

+				("Cound not find or create container for package " 

+								+ this.config.getPackageName() + " in " 

+								+ this.config.getProjectName());

+		}

+		IFile file = container.getFile(new Path(fileName + JAVA));

+		InputStream inputStream = 

+							new ByteArrayInputStream(content.getBytes());

+		if (!file.exists()) {

+			file.create(inputStream, false, monitor);

+		} else {

+			container.refreshLocal(1, monitor);

+			file.setContents(inputStream, true, false, monitor);

+		}

+	}

+	

+	/**

+	 * Finds or creates the package the code has to be located to.

+	 * @param progressMonitor Object for monitoring the activity.

+	 * @return Package the code has to be located to.

+	 * @throws CoreException Exception that can be thrown.

+	 */

+	private IContainer findOrCreatePackage(IProgressMonitor progressMonitor) 

+														throws CoreException {

+		IPath outputPath = new Path

+					(this.config.getProjectName() + "/src/" 

+						+ this.config.getPackageName().replace('.', '/'));

+		IProgressMonitor subMonitor = 

+								new SubProgressMonitor(progressMonitor, 1);

+		IPath localLocation = null; 

+		IContainer container = 

+				CodeGenUtil.EclipseUtil.findOrCreateContainer

+								(outputPath, true, localLocation, subMonitor);

+		return container;

+	}

+	

+	private String generateCode(IProgressMonitor monitor, String template) {

+		String templatePath = this.templateDirectory + template + JAVAJET;

+		ClassLoader classLoader = getClass().getClassLoader();

+		this.jetEmitter = new JETEmitter(templatePath, classLoader);

+		this.jetEmitter.getClasspathEntries().addAll(classpathEntries);

+		String result = "";

+		IProgressMonitor sub = new SubProgressMonitor(monitor, 1);

+		try {

+			result = 

+				jetEmitter.generate(sub, new Object[] { this.config });

+		} catch (JETException e) {

+			e.printStackTrace();

+		}

+		return result;

+	}

+	

+	/**

+	 * Sets the singleton directive of the plugin to true.

+	 */

+	protected void setSingletonDirective() {

+		IProject project = ResourcesPlugin.getWorkspace().getRoot()

+							.getProject(this.config.getProjectName());

+		try {

+			String fileName = project.getLocation()

+					.append("/META-INF/MANIFEST.MF")

+					.toOSString();

+			FileInputStream is = new FileInputStream(fileName);

+			Manifest mf = new Manifest(is);

+			Attributes att = mf.getMainAttributes();

+			String value = att.getValue(BUNDLESYMBOLICNAME);

+			if (! value.contains(SINGLETONTRUE))

+				value = value + ";" +  SINGLETONTRUE;

+			att.putValue(BUNDLESYMBOLICNAME, value);

+			FileOutputStream out = new FileOutputStream(fileName);  

+			mf.write(out); 

+		} catch (MalformedURLException e) {

+			e.printStackTrace();

+		}  catch (IOException e) {

+			e.printStackTrace();

+		}

+	}

+	

+	/**

+	 * Updates the plugin.xml file by adding the generated model refactoring

+	 * to served extension points.

+	 */

+	protected void updatePluginXml() {

+		List<RefactoringInfo> refactoringConfig = 

+						XMLPluginFileManager.getRefactoringConfig

+											(this.config.getProjectName());

+		refactoringConfig.add(this.config);

+		XMLPluginFileManager.saveRefactoringConfig

+						(this.config.getProjectName(), refactoringConfig);		

+	}

+	

+	/**

+	 * Deletes the .JETEmitters project used for model refactoring

+	 * code generation.

+	 * @param monitor Object for monitoring the deleting activity.

+	 */

+	protected void deleteJetEmittersProject(IProgressMonitor monitor) {

+		try {

+			IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();

+			IResource r = root.findMember(JETEMITTERS);

+			System.out.println("IResoure: "+ r.getName());

+			if (r != null){

+				r.delete(IResource.ALWAYS_DELETE_PROJECT_CONTENT, monitor);

+//				r.delete(false, monitor);

+			}

+		} 

+		catch (CoreException e) { } 

+		catch (Exception e) { }

+	}

+	

+	private String setNewTemplateDirectory() {

+		String td = "";

+		final Bundle bundle = Activator.getDefault().getBundle();

+		try {

+			td = FileLocator.toFileURL(bundle.getEntry(TEMPLATES)).getFile();

+		} catch (final IOException e) {

+			e.printStackTrace();

+		}

+		return td;

+	}

+

+	@Override

+	public String toString() {

+		return "ComrelGenerationManager [config=" + config + ", templateDirectory="

+				+ templateDirectory + ", classpathEntries=" + classpathEntries

+				+ "]";

+	}	

+

+}

diff --git a/org.eclipse.emf.refactor.comrel.generator/src/comrel/generator/refactoring/wizards/CoMReLRefactoringWizardPage.java b/org.eclipse.emf.refactor.comrel.generator/src/comrel/generator/refactoring/wizards/CoMReLRefactoringWizardPage.java
new file mode 100644
index 0000000..e63749c
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel.generator/src/comrel/generator/refactoring/wizards/CoMReLRefactoringWizardPage.java
@@ -0,0 +1,274 @@
+package comrel.generator.refactoring.wizards;

+

+import java.io.BufferedInputStream;

+import java.io.BufferedOutputStream;

+import java.io.File;

+import java.io.FileFilter;

+import java.io.FileInputStream;

+import java.io.FileNotFoundException;

+import java.io.FileOutputStream;

+import java.io.IOException;

+import java.util.LinkedList;

+

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

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

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

+import org.eclipse.core.runtime.CoreException;

+import org.eclipse.jface.wizard.WizardPage;

+import org.eclipse.swt.SWT;

+import org.eclipse.swt.events.SelectionEvent;

+import org.eclipse.swt.events.SelectionListener;

+import org.eclipse.swt.layout.GridData;

+import org.eclipse.swt.layout.GridLayout;

+import org.eclipse.swt.widgets.Button;

+import org.eclipse.swt.widgets.Combo;

+import org.eclipse.swt.widgets.Composite;

+import org.eclipse.swt.widgets.Event;

+import org.eclipse.swt.widgets.FileDialog;

+import org.eclipse.swt.widgets.Label;

+import org.eclipse.swt.widgets.Listener;

+

+import comrel.generator.refactoring.ComrelConfig;

+

+public class CoMReLRefactoringWizardPage extends WizardPage implements Listener, SelectionListener {

+

+	private Combo comboProject;

+	private Combo comboFile;

+	private Button btnImport;

+	

+	private LinkedList<IProject> projects;

+	private final String PLUGINNATURE = "org.eclipse.pde.PluginNature";

+	private String[] projectNames;

+	

+	private File[] comrelFiles;

+	private String[] comrelFileNames;

+	

+	private IProject project;

+	private String comrelFileName;

+

+	/**

+	 * Create the wizard.

+	 */

+	public CoMReLRefactoringWizardPage() {

+		super("CoMReLRefactoringWizardPage");

+		setTitle("CoMReL - project and model selection");

+		setDescription("Please select a plug-in project and an appropriate CoMReL model.");

+		initProjects();

+	}

+	

+	public IProject getProject() {

+		return project;

+	}

+

+	public String getComrelFileName() {

+		return comrelFileName;

+	}

+	

+	private void initProjects() {

+		this.projects = new LinkedList<IProject>();

+		IProject[] allProjects = ResourcesPlugin.getWorkspace().getRoot().getProjects();

+		for (IProject project : allProjects) {

+			if (project.isOpen()) {

+				IProjectNature nature = null;

+				try {

+					nature = project.getNature(PLUGINNATURE);

+				} catch (CoreException e) {

+					e.printStackTrace();

+				}

+				if (null != nature) 

+					this.projects.add(project);

+			}

+		}

+	}

+

+	/**

+	 * Create contents of the wizard.

+	 * @param parent

+	 */

+	public void createControl(Composite parent) {

+		Composite container = new Composite(parent, SWT.NULL);

+

+		setControl(container);

+		container.setLayout(new GridLayout(3, false));

+		

+		Label lblEclipsePluginProject = new Label(container, SWT.NONE);

+		lblEclipsePluginProject.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));

+		lblEclipsePluginProject.setText("Eclipse plug-in project:");

+		

+		comboProject = new Combo(container, SWT.NONE);

+		comboProject.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));

+		

+		Label lblNewLabel = new Label(container, SWT.NONE);

+		lblNewLabel.setText("");

+		

+		Label lblComrelModelFile = new Label(container, SWT.NONE);

+		lblComrelModelFile.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));

+		lblComrelModelFile.setText("CoMReL model file:");

+		

+		comboFile = new Combo(container, SWT.NONE);

+		comboFile.setEnabled(false);

+		comboFile.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));

+		

+		btnImport = new Button(container, SWT.NONE);

+		btnImport.setEnabled(false);

+		btnImport.setText("import");

+		

+		setProjectCombo();

+		comboProject.addListener(SWT.Modify, this);

+		comboFile.addListener(SWT.Modify, this);

+		btnImport.addSelectionListener(this);

+		

+		this.setPageComplete(false);

+	}

+	

+	private void setProjectCombo() {

+		if (projects.isEmpty()) {

+			this.setMessage("There is no open plug-in project in the current workspace!", ERROR);

+			comboProject.setEnabled(false);

+		} else {

+			projectNames = new String[projects.size()];

+			for (int i = 0; i < projectNames.length; i++) {

+				projectNames[i] = projects.get(i).getName();

+			}

+			comboProject.setItems(projectNames);

+		}

+	}

+

+	@Override

+	public void handleEvent(Event event) {

+		if (event.widget == comboProject) {

+			setProject(comboProject.getSelectionIndex());

+		}

+		if (event.widget == comboFile) {

+			setComrelFile(comboFile.getSelectionIndex());

+		}

+	}

+	

+	private void setComrelFile(int index) {

+		if (index == -1) {

+			comrelFileName = null;

+			this.setPageComplete(false);

+			this.setMessage("Please select or import the corresponding CoMReL model.");

+		} else {

+			comrelFileName = comrelFileNames[index];

+			this.setPageComplete(true);

+			this.setMessage("Please select a plug-in project and an appropriate CoMReL model.");

+		}

+	}

+

+	private void setProject(int index) {

+		if (index == -1) {

+			project = null;

+		} else {

+			project = projects.get(index);

+			comboProject.setEnabled(false);

+			loadComrelFiles();

+			setComrelCombo();

+		}

+	}

+

+	private void setComrelCombo() {

+		if (comrelFiles != null) {

+			comrelFileNames = new String[comrelFiles.length];

+			for (int i = 0; i < comrelFiles.length; i++) {

+				comrelFileNames[i] = comrelFiles[i].getName();

+			}

+			comboFile.setItems(comrelFileNames);

+			comboFile.setEnabled(true);

+			btnImport.setEnabled(true);

+			this.setMessage("Please select or import the corresponding CoMReL model.");

+		}

+	}

+

+	private void loadComrelFiles() {

+		String path = project.getLocationURI().getPath() + ComrelConfig.COMRELDIR;

+		File file = new File(path);

+		if (! file.exists()) {

+			file.mkdirs();

+		}

+		FileFilter ff = new FileFilter() {

+			@Override

+			public boolean accept(File pathname) {

+				if (pathname.getName().endsWith(ComrelConfig.COMRELEXT)) {

+					return true;

+				} else {

+					return false;

+				}

+			}

+		};

+		comrelFiles = file.listFiles(ff);

+	}

+

+	@Override

+	public void widgetSelected(SelectionEvent e) {

+		FileDialog fd = new FileDialog(this.getShell(), SWT.OPEN);

+		fd.setText("Select CoMReL model");

+		fd.setFilterPath(project.getLocation().toString());

+		String[] filterExt = { "*" + ComrelConfig.COMRELEXT };

+		fd.setFilterExtensions(filterExt);

+		String selected = fd.open();

+		if (selected != null)

+			if (!selected.isEmpty()) {

+				selected = selected.replace('\\', '/');

+				int i = selected.lastIndexOf("/");

+				String name = selected.substring(i + 1);

+				String destination = project.getLocationURI().getPath() + ComrelConfig.COMRELDIR;

+				copyFile(selected, destination, name);

+				File f = new File(selected);

+				if (comrelFiles == null) {

+					comrelFiles = new File[] {f};

+					comrelFileNames = new String[] {name};

+				} else {

+					File[] fileTemp = new File[comrelFiles.length + 1];

+					String[] nameTemp = new String[comrelFiles.length + 1];

+					for (int j = 0; j < comrelFiles.length; j++) {

+						fileTemp[j] = comrelFiles[j]; 

+						nameTemp[j] = comrelFileNames[j];

+					}

+					fileTemp[comrelFiles.length] = f;

+					nameTemp[comrelFiles.length] = name;

+					comrelFiles = fileTemp;

+					comrelFileNames = nameTemp;

+				}

+				comboFile.setItems(comrelFileNames);

+			}

+	}

+	

+	public static void copyFile(String target, String destination, String name) {

+		File file = new File(destination);

+		if (! file.exists()) {

+			file.mkdirs();

+		}

+		File newFile = new File(destination + name);

+		try {

+			newFile.createNewFile();

+		} catch (IOException e1) {

+			e1.printStackTrace();

+		}

+		copy(target, destination + name);

+	}

+

+	public static void copy(String filePath, String newFilePath) {

+		try {

+			BufferedInputStream is = new BufferedInputStream(

+					new FileInputStream(filePath));

+			new File(newFilePath).createNewFile();

+			BufferedOutputStream os = new BufferedOutputStream(

+					new FileOutputStream(newFilePath));

+			int b;

+			while ((b = is.read()) != -1) {

+				os.write(b);

+			}

+			is.close();

+			os.close();

+		} catch (FileNotFoundException e) {

+			e.printStackTrace();

+		} catch (IOException e) {

+			e.printStackTrace();

+		}

+	}

+

+	@Override

+	public void widgetDefaultSelected(SelectionEvent e) { }

+

+}

diff --git a/org.eclipse.emf.refactor.comrel.generator/src/comrel/generator/refactoring/wizards/NewRefactoringWizardCoMReL.java b/org.eclipse.emf.refactor.comrel.generator/src/comrel/generator/refactoring/wizards/NewRefactoringWizardCoMReL.java
new file mode 100644
index 0000000..ac2485b
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel.generator/src/comrel/generator/refactoring/wizards/NewRefactoringWizardCoMReL.java
@@ -0,0 +1,110 @@
+package comrel.generator.refactoring.wizards;

+

+import java.io.File;

+import java.io.IOException;

+import java.lang.reflect.InvocationTargetException;

+import java.util.Collections;

+

+import org.eclipse.core.runtime.CoreException;

+import org.eclipse.core.runtime.IProgressMonitor;

+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.ecore.resource.impl.ResourceSetImpl;

+import org.eclipse.jface.viewers.IStructuredSelection;

+import org.eclipse.jface.wizard.IWizardContainer;

+import org.eclipse.jface.wizard.Wizard;

+import org.eclipse.ui.INewWizard;

+import org.eclipse.ui.IWorkbench;

+import org.eclipse.ui.actions.WorkspaceModifyOperation;

+

+import comrel.CompositeRefactoring;

+import comrel.generator.refactoring.ComrelConfig;

+import comrel.generator.refactoring.ComrelGenerationManager;

+

+public class NewRefactoringWizardCoMReL extends Wizard 

+				implements INewWizard {

+	

+	private final String WINDOW_TITLE = "New Composite EMF Model Refactoring";

+	

+	/**

+	 * Wizard page for specifying the CoMReL file to 

+	 * be used for executing the EMF model refactoring.

+	 */

+	private CoMReLRefactoringWizardPage comrelWizardPage;

+

+	public NewRefactoringWizardCoMReL() {  }

+

+	@Override

+	public void init(IWorkbench workbench, IStructuredSelection selection) {  }

+	

+	@Override

+	public void addPages() {

+		setWindowTitle(WINDOW_TITLE);

+		this.comrelWizardPage = new CoMReLRefactoringWizardPage();

+		this.addPage(comrelWizardPage);

+	}

+

+	@Override

+	public boolean performFinish() {

+		

+		WorkspaceModifyOperation op = new WorkspaceModifyOperation() {

+			protected void execute(IProgressMonitor monitor)

+					throws CoreException, InvocationTargetException,

+					InterruptedException {

+				try {

+					createComrelRefactoring(monitor);

+				} finally {

+					monitor.done();

+				}

+			}

+		};

+		try {

+			IWizardContainer container = getContainer();

+			if (container != null) {

+				container.run(false, false, op);

+			}

+		} catch (InvocationTargetException e) {

+			e.printStackTrace();

+		} catch (InterruptedException e) {

+			e.printStackTrace();

+		}

+		return true;

+		

+	}

+	

+	protected void createComrelRefactoring(IProgressMonitor monitor) {

+		System.out.println("Generate EMF Model Refactoring");

+		System.out.println("Project: " + comrelWizardPage.getProject());

+		System.out.println("CoMReL: " + comrelWizardPage.getComrelFileName());

+		CompositeRefactoring cr = loadComrelModel();

+		// TODO test cr

+		ComrelConfig config = new ComrelConfig(

+				cr, 

+				comrelWizardPage.getProject(), 

+				comrelWizardPage.getComrelFileName());

+		System.out.println(config.toString());

+		ComrelGenerationManager generationManager = new ComrelGenerationManager(config);

+		System.out.println(generationManager.toString());

+		generationManager.run(monitor);

+	}

+	

+	private CompositeRefactoring loadComrelModel() {

+		String path = comrelWizardPage.getProject().getLocationURI().getPath() 

+						+ ComrelConfig.COMRELDIR + comrelWizardPage.getComrelFileName();

+		URI uri = URI.createFileURI(new File(path).getAbsolutePath());

+		ResourceSet resourceSet = new ResourceSetImpl();

+		Resource resource = resourceSet.createResource(uri);

+		try {

+			resource.load(Collections.EMPTY_MAP);

+		} catch (IOException e) {

+			e.printStackTrace();

+		}

+		return (CompositeRefactoring) resource.getContents().get(0);

+	}

+	

+	@Override

+	public boolean canFinish() {

+		return comrelWizardPage.isPageComplete();

+	}

+}

diff --git a/org.eclipse.emf.refactor.comrel.generator/src/comrel/generator/refactoring/wizards/RefactoringWizard.java b/org.eclipse.emf.refactor.comrel.generator/src/comrel/generator/refactoring/wizards/RefactoringWizard.java
deleted file mode 100644
index 55db048..0000000
--- a/org.eclipse.emf.refactor.comrel.generator/src/comrel/generator/refactoring/wizards/RefactoringWizard.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package comrel.generator.refactoring.wizards;

-

-import org.eclipse.jface.viewers.IStructuredSelection;

-import org.eclipse.jface.wizard.Wizard;

-import org.eclipse.ui.INewWizard;

-import org.eclipse.ui.IWorkbench;

-

-public class RefactoringWizard extends Wizard implements INewWizard {

-

-	public RefactoringWizard() {

-		// TODO Auto-generated constructor stub

-	}

-

-	@Override

-	public void init(IWorkbench workbench, IStructuredSelection selection) {

-		// TODO Auto-generated method stub

-

-	}

-

-	@Override

-	public boolean performFinish() {

-		// TODO Auto-generated method stub

-		return false;

-	}

-

-}

diff --git a/org.eclipse.emf.refactor.comrel.generator/src/comrel/generator/refactoring/wizards/RefactoringWizardPage.java b/org.eclipse.emf.refactor.comrel.generator/src/comrel/generator/refactoring/wizards/RefactoringWizardPage.java
deleted file mode 100644
index 9bdb9ea..0000000
--- a/org.eclipse.emf.refactor.comrel.generator/src/comrel/generator/refactoring/wizards/RefactoringWizardPage.java
+++ /dev/null
@@ -1,55 +0,0 @@
-package comrel.generator.refactoring.wizards;

-

-import org.eclipse.jface.wizard.WizardPage;

-import org.eclipse.swt.SWT;

-import org.eclipse.swt.widgets.Composite;

-import org.eclipse.swt.layout.GridLayout;

-import org.eclipse.swt.widgets.Label;

-import org.eclipse.swt.widgets.Combo;

-import org.eclipse.swt.layout.GridData;

-import org.eclipse.swt.widgets.Button;

-

-public class RefactoringWizardPage extends WizardPage {

-

-	/**

-	 * Create the wizard.

-	 */

-	public RefactoringWizardPage() {

-		super("wizardPage");

-		setTitle("Wizard Page title");

-		setDescription("Wizard Page description");

-	}

-

-	/**

-	 * Create contents of the wizard.

-	 * @param parent

-	 */

-	public void createControl(Composite parent) {

-		Composite container = new Composite(parent, SWT.NULL);

-

-		setControl(container);

-		container.setLayout(new GridLayout(3, false));

-		

-		Label lblEclipsePluginProject = new Label(container, SWT.NONE);

-		lblEclipsePluginProject.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));

-		lblEclipsePluginProject.setText("Eclipse plug-in project:");

-		

-		Combo comboProject = new Combo(container, SWT.NONE);

-		comboProject.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));

-		

-		Label lblNewLabel = new Label(container, SWT.NONE);

-		

-		Label lblComrelModelFile = new Label(container, SWT.NONE);

-		lblComrelModelFile.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, false, false, 1, 1));

-		lblComrelModelFile.setText("CoMReL model file:");

-		

-		Combo comboFile = new Combo(container, SWT.NONE);

-		comboFile.setEnabled(false);

-		comboFile.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));

-		

-		Button btnImport = new Button(container, SWT.NONE);

-		btnImport.setEnabled(false);

-		btnImport.setText("import");

-	}

-

-}

diff --git a/org.eclipse.emf.refactor.comrel.generator/templates/RefactoringControllerComrelMulti.javajet b/org.eclipse.emf.refactor.comrel.generator/templates/RefactoringControllerComrelMulti.javajet
new file mode 100644
index 0000000..09b6496
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel.generator/templates/RefactoringControllerComrelMulti.javajet
@@ -0,0 +1,223 @@
+<%@ jet package="comrel.refactoring" class="RefactoringController"

+imports="org.eclipse.emf.refactor.refactoring.generator.core.* comrel.generator.refactoring.*"%>

+<%ComrelConfig refactoringConfig = (ComrelConfig) argument; %>

+/**

+ * <copyright>

+ * </copyright>

+ *

+ * $Id: RefactoringController.javajet,v 1.3 2011/01/21 13:08:06 tarendt Exp $

+ */

+package <%=refactoringConfig.getPackageName()%>;

+

+import <%=refactoringConfig.getPackageName()%>.RefactoringDataManagement.ContextList;

+

+import comrel.InputPort;

+import comrel.MultiInputPort;

+import comrel.RefactoringUnit;

+import comrel.SingleInputPort;

+import comrel.interpreter.ComrelInterpreter;

+

+import java.io.IOException;

+import java.util.ArrayList;

+import java.util.List;

+

+import org.eclipse.emf.ecore.EObject;

+import org.eclipse.emf.refactor.refactoring.core.Refactoring;

+import org.eclipse.emf.refactor.refactoring.interfaces.IController;

+import org.eclipse.emf.refactor.refactoring.interfaces.IDataManagement;

+import org.eclipse.emf.refactor.refactoring.runtime.ltk.LtkEmfRefactoringProcessorAdapter;

+import org.eclipse.ltk.core.refactoring.RefactoringStatus;

+import org.eclipse.ltk.core.refactoring.participants.RefactoringProcessor;

+

+public final class RefactoringController implements IController {

+

+	/**

+	 * Refactoring supported by the controller.

+	 * @generated

+	 */

+	private Refactoring parent;

+	

+	/**

+	 * DataManagement object of the model refactoring.

+	 * @generated

+	 */

+	private RefactoringDataManagement dataManagement = 

+									new RefactoringDataManagement();

+	

+	/**

+	 * Invocation context of the model refactoring.

+	 * @generated

+	 */	

+	private List<EObject> selection = new ArrayList<EObject>();

+	

+	/**

+	 * Ltk RefactoringProcessor of the model refactoring.

+	 * @generated

+	 */

+	private InternalRefactoringProcessor refactoringProcessor = null;

+	

+	/**

+	 * Gets the Refactoring supported by the controller.

+	 * @return Refactoring supported by the controller.

+	 * @see org.eclipse.emf.refactor.common.core.IController#getParent()

+	 * @generated

+	 */

+	@Override

+	public Refactoring getParent() {

+		return this.parent;

+	}

+	

+	/**

+	 * Sets the Refactoring supported by the controller.

+	 * @param emfRefactoring Refactoring supported by the controller.

+	 * @see org.eclipse.emf.refactor.common.core.IController#

+	 * setParent(org.eclipse.emf.refactor.common.core.Refactoring)

+	 * @generated

+	 */

+	@Override

+	public void setParent(Refactoring emfRefactoring) {

+		this.parent = emfRefactoring;

+	}

+	

+	/**

+	 * Returns the DataManagement object of the model refactoring.

+	 * @return DataManagement object of the model refactoring.

+	 * @see org.eclipse.emf.refactor.common.core.IController#

+	 * getDataManagementObject()

+	 * @generated

+	 */

+	@Override

+	public IDataManagement getDataManagementObject() {

+		return this.dataManagement;

+	}

+

+	/**

+	 * Returns the ltk RefactoringProcessor of the model refactoring.

+	 * @return Ltk RefactoringProcessor of the model refactoring.

+	 * @see org.eclipse.emf.refactor.common.core.IController#

+	 * getLtkRefactoringProcessor()

+	 * @generated

+	 */

+	@Override

+	public RefactoringProcessor getLtkRefactoringProcessor() {

+		return this.refactoringProcessor;

+	}

+	

+	/**

+	 * Sets the selected EObject (invocation context of the model refactoring).

+	 * @param selection Invocation context of the model refactoring.

+	 * @see org.eclipse.emf.refactor.common.core.IController#

+	 * setSelection(java.util.List)

+	 * @generated

+	 */

+	@Override

+	public void setSelection(List<EObject> selection) {

+		this.selection = selection;

+		this.refactoringProcessor = 

+				new InternalRefactoringProcessor(this.selection);

+	}	

+	

+	/**

+	 * Returns a Runnable object that executes the model refactoring.

+	 * @return Runnable object that executes the model refactoring.

+	 * @generated

+	 */

+	private Runnable applyRefactoring() {

+		return new Runnable() {				

+			/**

+			 * @see java.lang.Runnable#run()

+			 * @generated

+			 */

+			@Override

+			public void run() {

+				try {

+					ArrayList<<%=refactoringConfig.getSelectedEObjectClass()%>> selectedEObjects = 

+						((ContextList) dataManagement.

+							getInPortByName(dataManagement.SELECTEDEOBJECT).getValue()).getElements();<%/*

+					*/%><%for (ParameterInfo pC : refactoringConfig.getParameters()) { %>

+					String <%=pC.getName()%> =

+						(String) dataManagement.getInPortByName("<%=pC.getName()%>").getValue();<%}%>

+					// begin prepare and execute comrel interpreter

+					ComrelInterpreter interpreter = new ComrelInterpreter(selectedEObjects.get(0));

+					interpreter.loadComrelModel(dataManagement.getComrelFilePath());

+					setRootPortValues(interpreter, selectedEObjects<%for (ParameterInfo pC : refactoringConfig.getParameters()) { %>,

+										<%=pC.getName()%><%}%>);

+					interpreter.execute();

+					// end prepare and execute comrel interpreter

+				} catch (IOException e) {

+					e.printStackTrace();

+				}

+			}

+			

+			private void setRootPortValues(

+					ComrelInterpreter interpreter,

+					ArrayList<<%=refactoringConfig.getSelectedEObjectClass()%>> selectedEObjects<%for (ParameterInfo pC : refactoringConfig.getParameters()) { %>, 

+					String <%=pC.getName()%><%}%>) {

+				RefactoringUnit rootRefactoringUnit = interpreter.getRootRefactoringUnit();

+				for (InputPort ip : rootRefactoringUnit.getAllInputPorts()) {

+					System.out.println(ip.getName());

+					if (ip.getName().equals("selectedEObjects")) {

+						((MultiInputPort) ip).getValue().addAll(selectedEObjects);

+					}<%for (ParameterInfo pC : refactoringConfig.getParameters()) { %>

+					if (ip.getName().equals("<%=pC.getName()%>")) {

+						((SingleInputPort) ip).setValue(<%=pC.getName()%>);

+					}<%}%>

+				}

+			}

+		};

+	}

+

+	/**

+	 * Internal class for providing an instance of a LTK RefactoringProcessor 

+	 * used for EMF model refactorings.	 

+	 * @generated

+	 */

+	public final class InternalRefactoringProcessor extends 

+									LtkEmfRefactoringProcessorAdapter {

+

+		/**

+		 * Constructor using the invocation context of the model refactoring.

+		 * @param selection Invocation context of the model refactoring.

+		 * @generated

+		 */

+		private InternalRefactoringProcessor(List<EObject> selection){

+				super(getParent(), selection, applyRefactoring());				

+		}

+			

+		/**

+		 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringProcessor#

+	 	 * checkInitialConditions(org.eclipse.core.runtime.IProgressMonitor)

+		 * @generated

+		 */	

+		@Override

+		public RefactoringStatus checkInitialConditions(){

+				RefactoringStatus result = new RefactoringStatus();

+				ArrayList<<%=refactoringConfig.getSelectedEObjectClass()%>> selectedEObjects = 

+						((ContextList) dataManagement.

+							getInPortByName(dataManagement.SELECTEDEOBJECT).getValue()).getElements();

+				// TODO: implement initial check

+				return result;

+		}

+		

+		/**

+		 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringProcessor#

+	     * checkFinalConditions(org.eclipse.core.runtime.IProgressMonitor, 

+	     * org.eclipse.ltk.core.refactoring.participants.CheckConditionsContext)

+		 * @generated

+		 */	

+		@Override

+		public RefactoringStatus checkFinalConditions(){

+				RefactoringStatus result = new RefactoringStatus();

+				ArrayList<<%=refactoringConfig.getSelectedEObjectClass()%>> selectedEObjects = 

+						((ContextList) dataManagement.

+							getInPortByName(dataManagement.SELECTEDEOBJECT).getValue()).getElements();<%/*

+				*/%><%for (ParameterInfo pC : refactoringConfig.getParameters()) {%>

+				String <%=pC.getName()%> =

+					(String) dataManagement.getInPortByName("<%=pC.getName()%>").getValue();<%}%>

+				// TODO: implement final check

+				return result;

+		}

+		

+	}

+

+}
\ No newline at end of file
diff --git a/org.eclipse.emf.refactor.comrel.generator/templates/RefactoringControllerComrelSingle.javajet b/org.eclipse.emf.refactor.comrel.generator/templates/RefactoringControllerComrelSingle.javajet
new file mode 100644
index 0000000..d30fa07
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel.generator/templates/RefactoringControllerComrelSingle.javajet
@@ -0,0 +1,220 @@
+<%@ jet package="comrel.refactoring" class="RefactoringController"

+imports="org.eclipse.emf.refactor.refactoring.generator.core.* comrel.generator.refactoring.*"%>

+<%ComrelConfig refactoringConfig = (ComrelConfig) argument; %>

+/**

+ * <copyright>

+ * </copyright>

+ *

+ * $Id: RefactoringController.javajet,v 1.3 2011/01/21 13:08:06 tarendt Exp $

+ */

+package <%=refactoringConfig.getPackageName()%>;

+

+import comrel.InputPort;

+import comrel.RefactoringUnit;

+import comrel.SingleInputPort;

+import comrel.interpreter.ComrelInterpreter;

+

+import java.io.IOException;

+import java.util.ArrayList;

+import java.util.List;

+

+import org.eclipse.emf.ecore.EObject;

+import org.eclipse.emf.refactor.refactoring.core.Refactoring;

+import org.eclipse.emf.refactor.refactoring.interfaces.IController;

+import org.eclipse.emf.refactor.refactoring.interfaces.IDataManagement;

+import org.eclipse.emf.refactor.refactoring.runtime.ltk.LtkEmfRefactoringProcessorAdapter;

+import org.eclipse.ltk.core.refactoring.RefactoringStatus;

+import org.eclipse.ltk.core.refactoring.participants.RefactoringProcessor;

+

+public final class RefactoringController implements IController {

+

+	/**

+	 * Refactoring supported by the controller.

+	 * @generated

+	 */

+	private Refactoring parent;

+	

+	/**

+	 * DataManagement object of the model refactoring.

+	 * @generated

+	 */

+	private RefactoringDataManagement dataManagement = 

+									new RefactoringDataManagement();

+	

+	/**

+	 * Invocation context of the model refactoring.

+	 * @generated

+	 */	

+	private List<EObject> selection = new ArrayList<EObject>();

+	

+	/**

+	 * Ltk RefactoringProcessor of the model refactoring.

+	 * @generated

+	 */

+	private InternalRefactoringProcessor refactoringProcessor = null;

+	

+	/**

+	 * Gets the Refactoring supported by the controller.

+	 * @return Refactoring supported by the controller.

+	 * @see org.eclipse.emf.refactor.common.core.IController#getParent()

+	 * @generated

+	 */

+	@Override

+	public Refactoring getParent() {

+		return this.parent;

+	}

+	

+	/**

+	 * Sets the Refactoring supported by the controller.

+	 * @param Refactoring refactoring supported by the controller.

+	 * @see org.eclipse.emf.refactor.common.core.IController#

+	 * setParent(org.eclipse.emf.refactor.common.core.Refactoring)

+	 * @generated

+	 */

+	@Override

+	public void setParent(Refactoring refactoring) {

+		this.parent = refactoring;

+	}

+	

+	/**

+	 * Returns the DataManagement object of the model refactoring.

+	 * @return DataManagement object of the model refactoring.

+	 * @see org.eclipse.emf.refactor.common.core.IController#

+	 * getDataManagementObject()

+	 * @generated

+	 */

+	@Override

+	public IDataManagement getDataManagementObject() {

+		return this.dataManagement;

+	}

+

+	/**

+	 * Returns the ltk RefactoringProcessor of the model refactoring.

+	 * @return Ltk RefactoringProcessor of the model refactoring.

+	 * @see org.eclipse.emf.refactor.common.core.IController#

+	 * getLtkRefactoringProcessor()

+	 * @generated

+	 */

+	@Override

+	public RefactoringProcessor getLtkRefactoringProcessor() {

+		return this.refactoringProcessor;

+	}

+	

+	/**

+	 * Sets the selected EObject (invocation context of the model refactoring).

+	 * @param selection Invocation context of the model refactoring.

+	 * @see org.eclipse.emf.refactor.common.core.IController#

+	 * setSelection(java.util.List)

+	 * @generated

+	 */

+	@Override

+	public void setSelection(List<EObject> selection) {

+		this.selection = selection;

+		this.refactoringProcessor = 

+				new InternalRefactoringProcessor(this.selection);

+	}	

+	

+	/**

+	 * Returns a Runnable object that executes the model refactoring.

+	 * @return Runnable object that executes the model refactoring.

+	 * @generated

+	 */

+	private Runnable applyRefactoring() {

+		return new Runnable() {				

+			/**

+			 * @see java.lang.Runnable#run()

+			 * @generated

+			 */

+			@Override

+			public void run() {

+				try {

+					<%=refactoringConfig.getSelectedEObjectClass()%> selectedEObject = 

+						(<%=refactoringConfig.getSelectedEObjectClass()%>) dataManagement.

+							getInPortByName(dataManagement.SELECTEDEOBJECT).getValue();<%/*

+					*/%><%for (ParameterInfo pC : refactoringConfig.getParameters()) { %>

+					String <%=pC.getName()%> =

+						(String) dataManagement.getInPortByName("<%=pC.getName()%>").getValue();<%}%>

+					// begin prepare and execute comrel interpreter

+					ComrelInterpreter interpreter = new ComrelInterpreter(selectedEObject);

+					interpreter.loadComrelModel(dataManagement.getComrelFilePath());

+					setRootPortValues(interpreter, selectedEObject<%for (ParameterInfo pC : refactoringConfig.getParameters()) { %>,

+										<%=pC.getName()%><%}%>);

+					interpreter.execute();

+					// end prepare and execute comrel interpreter

+				} catch (IOException e) {

+					e.printStackTrace();

+				}

+			}

+			

+			private void setRootPortValues(

+					ComrelInterpreter interpreter,

+					<%=refactoringConfig.getSelectedEObjectClass()%> selectedEObject<%for (ParameterInfo pC : refactoringConfig.getParameters()) { %>, 

+					String <%=pC.getName()%><%}%>) {

+				RefactoringUnit rootRefactoringUnit = interpreter.getRootRefactoringUnit();

+				for (InputPort ip : rootRefactoringUnit.getAllInputPorts()) {

+					System.out.println(ip.getName());

+					if (ip.getName().equals("selectedEObject")) {

+						((SingleInputPort) ip).setValue(selectedEObject);

+					}<%for (ParameterInfo pC : refactoringConfig.getParameters()) { %>

+					if (ip.getName().equals("<%=pC.getName()%>")) {

+						((SingleInputPort) ip).setValue(<%=pC.getName()%>);

+					}<%}%>

+				}

+			}

+		};

+	}

+

+	/**

+	 * Internal class for providing an instance of a LTK RefactoringProcessor 

+	 * used for EMF model refactorings.	 

+	 * @generated

+	 */

+	public final class InternalRefactoringProcessor extends 

+									LtkEmfRefactoringProcessorAdapter {

+

+		/**

+		 * Constructor using the invocation context of the model refactoring.

+		 * @param selection Invocation context of the model refactoring.

+		 * @generated

+		 */

+		private InternalRefactoringProcessor(List<EObject> selection){

+				super(getParent(), selection, applyRefactoring());				

+		}

+			

+		/**

+		 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringProcessor#

+	 	 * checkInitialConditions(org.eclipse.core.runtime.IProgressMonitor)

+		 * @generated

+		 */	

+		@Override

+		public RefactoringStatus checkInitialConditions(){

+				RefactoringStatus result = new RefactoringStatus();

+				<%=refactoringConfig.getSelectedEObjectClass()%> selectedEObject = 

+					(<%=refactoringConfig.getSelectedEObjectClass()%>) dataManagement.

+							getInPortByName(dataManagement.SELECTEDEOBJECT).getValue();

+				// TODO: implement initial check

+				return result;

+		}

+		

+		/**

+		 * @see org.eclipse.ltk.core.refactoring.participants.RefactoringProcessor#

+	     * checkFinalConditions(org.eclipse.core.runtime.IProgressMonitor, 

+	     * org.eclipse.ltk.core.refactoring.participants.CheckConditionsContext)

+		 * @generated

+		 */	

+		@Override

+		public RefactoringStatus checkFinalConditions(){

+				RefactoringStatus result = new RefactoringStatus();

+				<%=refactoringConfig.getSelectedEObjectClass()%> selectedEObject = 

+					(<%=refactoringConfig.getSelectedEObjectClass()%>) dataManagement.

+							getInPortByName(dataManagement.SELECTEDEOBJECT).getValue();<%/*

+				*/%><%for (ParameterInfo pC : refactoringConfig.getParameters()) {%>

+				String <%=pC.getName()%> =

+					(String) dataManagement.getInPortByName("<%=pC.getName()%>").getValue();<%}%>

+				// TODO: implement final check

+				return result;

+		}

+		

+	}

+

+}
\ No newline at end of file
diff --git a/org.eclipse.emf.refactor.comrel.generator/templates/RefactoringDataManagementComrelMulti.javajet b/org.eclipse.emf.refactor.comrel.generator/templates/RefactoringDataManagementComrelMulti.javajet
new file mode 100644
index 0000000..cfa35e8
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel.generator/templates/RefactoringDataManagementComrelMulti.javajet
@@ -0,0 +1,113 @@
+ <%@ jet package="comrel.refactoring" class="RefactoringDataManagement"

+imports="org.eclipse.emf.refactor.refactoring.generator.core.* comrel.generator.refactoring.*"%>

+<%ComrelConfig refactoringConfig = (ComrelConfig) argument; %>

+/**

+ * <copyright>

+ * </copyright>

+ *

+ * $Id: RefactoringDataManagement.javajet,v 1.2 2011/01/21 13:08:06 tarendt Exp $

+ */

+package <%=refactoringConfig.getPackageName()%>;

+

+import <%=refactoringConfig.getProjectName().toLowerCase()%>.Activator;

+

+import java.io.File;

+import java.util.ArrayList;

+import java.util.List;

+

+import comrel.interpreter.IEObjectGetter;

+

+import org.eclipse.core.runtime.FileLocator;

+import org.eclipse.core.runtime.Platform;

+import org.eclipse.emf.ecore.EObject;

+import org.eclipse.emf.refactor.refactoring.core.Port;

+import org.eclipse.emf.refactor.refactoring.runtime.DataManagementAdapter;

+

+import org.osgi.framework.Bundle;

+

+/**

+ * Class for specific data concerning a model refactoring.

+ * @generated

+ */

+public class RefactoringDataManagement extends DataManagementAdapter {

+

+	protected final String SELECTEDEOBJECT = "selectedEObject";

+	protected final String COMRELMODELS = "comrelmodels";

+	protected final String COMRELMODELSSLASH = "\\comrelmodels\\";

+	

+	private String comrelFileName = "<%=refactoringConfig.getComrelModel()%>";

+

+	/**

+	 * Default constructor.

+	 * @generated

+	 */

+	public RefactoringDataManagement() {

+		this.addPorts();

+	}

+	

+	/**

+	 * Adds the ports to the data management used for parameter passing.

+	 * @generated

+	 */

+	private void addPorts(){

+		this.inPorts.add

+			(new Port<ContextList>(SELECTEDEOBJECT, ContextList.class));

+<% for (ParameterInfo pc : refactoringConfig.getParameters()) { %>

+		this.inPorts.add

+			(new Port<String>

+				("<%=pc.getName()%>", String.class, "unspecified"));

+<% } %>		

+	}

+	

+	/**

+	 * @see org.eclipse.emf.refactor.common.core.IDataManagement#

+	 * preselect(java.util.List)

+	 * @generated

+	 */

+	@SuppressWarnings("unchecked")

+	@Override

+	public void preselect(List<EObject> selection) {

+		getInPortByName(SELECTEDEOBJECT).setValue(new ContextList(selection));

+	}

+	

+	public String getComrelFilePath() {

+		String path = "";

+		final Bundle bundle = Platform.getBundle(Activator.PLUGIN_ID);

+		try {

+			if (bundle != null) {

+				path = FileLocator.toFileURL(bundle.getEntry(COMRELMODELS)).getFile();

+				path += this.comrelFileName;

+			} else {

+				path = new File(".").getCanonicalPath() 

+						+  COMRELMODELSSLASH + this.comrelFileName;

+			}

+		} catch(Exception e) {

+			e.printStackTrace();

+		}

+		return path;

+	}

+	

+	public class ContextList implements IEObjectGetter {

+		

+		private ArrayList<<%=refactoringConfig.getSelectedEObjectClass()%>> elements = 

+								new ArrayList<<%=refactoringConfig.getSelectedEObjectClass()%>>();

+		

+		public ContextList(List<EObject> selection) {

+			super();

+			for (EObject eObject : selection) {

+				this.elements.add((<%=refactoringConfig.getSelectedEObjectClass()%>) eObject);

+			}

+		}

+		

+		public ArrayList<<%=refactoringConfig.getSelectedEObjectClass()%>> getElements() {

+			return elements;

+		}

+	

+		@Override

+		public EObject getEObject() {

+			return elements.get(0);

+		}

+	}

+

+}

+	
\ No newline at end of file
diff --git a/org.eclipse.emf.refactor.comrel.generator/templates/RefactoringDataManagementComrelSingle.javajet b/org.eclipse.emf.refactor.comrel.generator/templates/RefactoringDataManagementComrelSingle.javajet
new file mode 100644
index 0000000..51efbfd
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel.generator/templates/RefactoringDataManagementComrelSingle.javajet
@@ -0,0 +1,90 @@
+ <%@ jet package="comrel.refactoring" class="RefactoringDataManagement"

+imports="org.eclipse.emf.refactor.refactoring.generator.core.* comrel.generator.refactoring.*"%>

+<%ComrelConfig refactoringConfig = (ComrelConfig) argument; %>

+/**

+ * <copyright>

+ * </copyright>

+ *

+ * $Id: RefactoringDataManagement.javajet,v 1.2 2011/01/21 13:08:06 tarendt Exp $

+ */

+package <%=refactoringConfig.getPackageName()%>;

+

+import <%=refactoringConfig.getProjectName().toLowerCase()%>.Activator;

+

+import java.io.File;

+import java.util.List;

+

+import org.eclipse.core.runtime.FileLocator;

+import org.eclipse.core.runtime.Platform;

+import org.eclipse.emf.ecore.EObject;

+import org.eclipse.emf.refactor.refactoring.core.Port;

+import org.eclipse.emf.refactor.refactoring.runtime.DataManagementAdapter;

+

+import org.osgi.framework.Bundle;

+

+/**

+ * Class for specific data concerning a model refactoring.

+ * @generated

+ */

+public class RefactoringDataManagement extends DataManagementAdapter {

+

+	protected final String SELECTEDEOBJECT = "selectedEObject";

+	protected final String COMRELMODELS = "comrelmodels";

+	protected final String COMRELMODELSSLASH = "\\comrelmodels\\";

+	

+	private String comrelFileName = "<%=refactoringConfig.getComrelModel()%>";

+

+	/**

+	 * Default constructor.

+	 * @generated

+	 */

+	public RefactoringDataManagement() {

+		this.addPorts();

+	}

+	

+	/**

+	 * Adds the ports to the data management used for parameter passing.

+	 * @generated

+	 */

+	private void addPorts(){

+		this.inPorts.add

+			(new Port<<%=refactoringConfig.getSelectedEObjectClass()%>>

+				(SELECTEDEOBJECT, <%=refactoringConfig.getSelectedEObjectClass()%>.class));

+<% for (ParameterInfo pc : refactoringConfig.getParameters()) { %>

+		this.inPorts.add

+			(new Port<String>

+				("<%=pc.getName()%>", String.class, "unspecified"));

+<% } %>		

+	}

+	

+	/**

+	 * @see org.eclipse.emf.refactor.common.core.IDataManagement#

+	 * preselect(java.util.List)

+	 * @generated

+	 */

+	@SuppressWarnings("unchecked")

+	@Override

+	public void preselect(List<EObject> selection) {

+		getInPortByName(SELECTEDEOBJECT).

+				setValue((<%=refactoringConfig.getSelectedEObjectClass()%>) selection.get(0));

+	}

+	

+	public String getComrelFilePath() {

+		String path = "";

+		final Bundle bundle = Platform.getBundle(Activator.PLUGIN_ID);

+		try {

+			if (bundle != null) {

+				path = FileLocator.toFileURL(bundle.getEntry(COMRELMODELS)).getFile();

+				path += this.comrelFileName;

+			} else {

+				path = new File(".").getCanonicalPath() 

+						+  COMRELMODELSSLASH + this.comrelFileName;

+			}

+		} catch(Exception e) {

+			e.printStackTrace();

+		}

+		return path;

+	}

+

+}

+	
\ No newline at end of file
diff --git a/org.eclipse.emf.refactor.comrel.generator/templates/RefactoringGuiHandlerComrelMulti.javajet b/org.eclipse.emf.refactor.comrel.generator/templates/RefactoringGuiHandlerComrelMulti.javajet
new file mode 100644
index 0000000..2b2bace
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel.generator/templates/RefactoringGuiHandlerComrelMulti.javajet
@@ -0,0 +1,82 @@
+<%@ jet package="comrel.refactoring" class="RefactoringGuiHandler"

+imports="comrel.generator.refactoring.*"%>

+<%ComrelConfig refactoringConfig = (ComrelConfig) argument; %>

+/**

+ * <copyright>

+ * </copyright>

+ *

+ * $Id: RefactoringGuiHandler.javajet,v 1.1 2010/07/15 13:08:44 tarendt Exp $

+ */

+ package <%=refactoringConfig.getPackageName()%>;

+

+import java.util.List;

+

+import org.eclipse.emf.ecore.EObject;

+import org.eclipse.emf.refactor.refactoring.core.Refactoring;

+import org.eclipse.emf.refactor.refactoring.interfaces.IGuiHandler;

+

+import org.eclipse.ltk.ui.refactoring.RefactoringWizard;

+

+/**

+ * Class used for specifying gui topics of a specific model refactoring.

+ * @generated

+ */

+public class RefactoringGuiHandler implements IGuiHandler {

+

+	/**

+	 * Refactoring supported by the GuiHandler.

+	 * @generated

+	 */

+	Refactoring parent;

+	

+	/**

+	 * @see org.eclipse.emf.refactor.common.core.ui.IGuiHandler#getParent()

+	 * @generated

+	 */

+	@Override

+	public Refactoring getParent() {

+		return parent;

+	}

+

+	/**

+	 * @see org.eclipse.emf.refactor.common.core.ui.IGuiHandler#

+	 * setParent(org.eclipse.emf.refactor.common.core.Refactoring)

+	 * @generated

+	 */

+	@Override

+	public void setParent(Refactoring refactoring) {

+		this.parent = refactoring;

+	}

+		

+	/**

+	 * @see org.eclipse.emf.refactor.common.core.ui.IGuiHandler#show()

+	 * @generated

+	 */

+	@Override

+	public RefactoringWizard show() {

+		return new <%=refactoringConfig.getPackageName()%>.RefactoringWizard

+		((RefactoringController) this.parent.getController());

+	}

+	

+	/**

+	 * @see org.eclipse.emf.refactor.common.core.ui.IGuiHandler#

+	 * showInMenu(java.util.List)

+	 * @generated

+	 */

+	@Override

+	public boolean showInMenu(List<EObject> selection) {

+		if (selection.size() <= 1) return false;

+		boolean onlyOneType = true;

+		for (EObject o : selection) {

+			if (null != o) {

+				if (! (o instanceof <%=refactoringConfig.getSelectedEObjectClass()%>)) {

+					onlyOneType = false;

+					break;

+				}

+			} 

+		}

+		return onlyOneType;

+	}

+

+}	

+	
\ No newline at end of file
diff --git a/org.eclipse.emf.refactor.comrel.generator/templates/RefactoringGuiHandlerComrelSingle.javajet b/org.eclipse.emf.refactor.comrel.generator/templates/RefactoringGuiHandlerComrelSingle.javajet
new file mode 100644
index 0000000..24ce161
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel.generator/templates/RefactoringGuiHandlerComrelSingle.javajet
@@ -0,0 +1,80 @@
+<%@ jet package="comrel.refactoring" class="RefactoringGuiHandler"

+imports="comrel.generator.refactoring.*"%>

+<%ComrelConfig refactoringConfig = (ComrelConfig) argument; %>

+/**

+ * <copyright>

+ * </copyright>

+ *

+ * $Id: RefactoringGuiHandler.javajet,v 1.1 2010/07/15 13:08:44 tarendt Exp $

+ */

+ package <%=refactoringConfig.getPackageName()%>;

+

+import java.util.List;

+

+import org.eclipse.emf.ecore.EObject;

+import org.eclipse.emf.refactor.refactoring.core.Refactoring;

+import org.eclipse.emf.refactor.refactoring.interfaces.IGuiHandler;

+

+import org.eclipse.ltk.ui.refactoring.RefactoringWizard;

+

+/**

+ * Class used for specifying gui topics of a specific model refactoring.

+ * @generated

+ */

+public class RefactoringGuiHandler implements IGuiHandler {

+

+	/**

+	 * Refactoring supported by the GuiHandler.

+	 * @generated

+	 */

+	Refactoring parent;

+	

+	/**

+	 * @see org.eclipse.emf.refactor.common.core.ui.IGuiHandler#getParent()

+	 * @generated

+	 */

+	@Override

+	public Refactoring getParent() {

+		return parent;

+	}

+

+	/**

+	 * @see org.eclipse.emf.refactor.common.core.ui.IGuiHandler#

+	 * setParent(org.eclipse.emf.refactor.common.core.Refactoring)

+	 * @generated

+	 */

+	@Override

+	public void setParent(Refactoring refactoring) {

+		this.parent = refactoring;

+	}

+		

+	/**

+	 * @see org.eclipse.emf.refactor.common.core.ui.IGuiHandler#show()

+	 * @generated

+	 */

+	@Override

+	public RefactoringWizard show() {

+		return new <%=refactoringConfig.getPackageName()%>.RefactoringWizard

+		((RefactoringController) this.parent.getController());

+	}

+	

+	/**

+	 * @see org.eclipse.emf.refactor.common.core.ui.IGuiHandler#

+	 * showInMenu(java.util.List)

+	 * @generated

+	 */

+	@Override

+	public boolean showInMenu(List<EObject> selection) {

+		if (selection.size() != 1) return false;

+		for (EObject o : selection) {

+			if (null != o) {

+				if (o instanceof <%=refactoringConfig.getSelectedEObjectClass()%>) {

+					return true;

+				}

+			} 

+		}

+		return false;

+	}

+

+}	

+	
\ No newline at end of file
diff --git a/org.eclipse.emf.refactor.comrel.generator/templates/RefactoringWizardComrel.javajet b/org.eclipse.emf.refactor.comrel.generator/templates/RefactoringWizardComrel.javajet
new file mode 100644
index 0000000..e7de0fe
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel.generator/templates/RefactoringWizardComrel.javajet
@@ -0,0 +1,43 @@
+<%@ jet package="comrel.refactoring" class="RefactoringWizard"

+imports="comrel.generator.refactoring.*"%>

+<%ComrelConfig refactoringConfig = (ComrelConfig) argument; %>

+/**

+ * <copyright>

+ * </copyright>

+ *

+ * $Id: RefactoringWizard.javajet,v 1.1 2010/07/15 13:08:44 tarendt Exp $

+ */

+package <%=refactoringConfig.getPackageName()%>;

+

+import org.eclipse.emf.refactor.refactoring.interfaces.IController;

+import org.eclipse.emf.refactor.refactoring.runtime.ltk.ui.AbstractRefactoringWizard;

+

+/**

+ * Class used for providing an implementation of an LTK

+ * RefactoringWizard in EMF Refactor.

+ * @generated

+ */

+public class RefactoringWizard 

+    extends AbstractRefactoringWizard {

+		

+	/**

+	 * Default constructor implementation.

+	 * @param controller Controller of the EMF model refactoring.

+	 * @generated

+	 */					

+	public RefactoringWizard(IController controller) {

+		super(controller);

+	}

+

+	/**

+	 * @see org.eclipse.ltk.ui.refactoring.RefactoringWizard#

+	 * addUserInputPages()

+	 * @generated

+	 */

+	@Override

+	protected void addUserInputPages() {

+		addPage(new RefactoringWizardPage

+			(controller.getParent().getName(), (RefactoringController)controller));

+	}

+

+}

diff --git a/org.eclipse.emf.refactor.comrel.generator/templates/RefactoringWizardPageComrel.javajet b/org.eclipse.emf.refactor.comrel.generator/templates/RefactoringWizardPageComrel.javajet
new file mode 100644
index 0000000..c540992
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel.generator/templates/RefactoringWizardPageComrel.javajet
@@ -0,0 +1,135 @@
+<%@ jet package="comrel.refactoring" class="RefactoringWizardPage"

+imports="org.eclipse.emf.refactor.refactoring.generator.core.* comrel.generator.refactoring.*"%>

+<%ComrelConfig refactoringConfig = (ComrelConfig) argument; %>

+/**

+ * <copyright>

+ * </copyright>

+ *

+ * $Id: RefactoringWizardPage.javajet,v 1.1 2010/07/15 13:08:44 tarendt Exp $

+ */

+package <%=refactoringConfig.getPackageName()%>;

+

+import java.util.List;

+

+import org.eclipse.emf.refactor.refactoring.runtime.ltk.ui.AbstractRefactoringWizard;

+import org.eclipse.emf.refactor.refactoring.runtime.ui.IInputPageButtonCreator;

+import org.eclipse.emf.refactor.refactoring.runtime.ui.InputPageButtonLoader;

+

+import org.eclipse.ltk.ui.refactoring.UserInputWizardPage;

+import org.eclipse.swt.SWT;

+import org.eclipse.swt.layout.GridData;

+import org.eclipse.swt.layout.GridLayout;

+import org.eclipse.swt.widgets.Composite;

+import org.eclipse.swt.widgets.Event;

+import org.eclipse.swt.widgets.Label;

+import org.eclipse.swt.widgets.Listener;

+import org.eclipse.swt.widgets.Text;

+

+/**

+ * Class for setting model refactoring specific parameters

+ * by the user.

+ * @generated

+ */

+public class RefactoringWizardPage extends 

+				UserInputWizardPage implements Listener {

+	

+	/**

+	 * Controller of the EMF model refactoring.

+	 * @generated

+	 */			

+	private final RefactoringController controller;

+	

+<% for (ParameterInfo pc : refactoringConfig.getParameters()) { %>

+	/**

+	 * Label for each parameter.

+	 * @generated

+	 */	

+	private Label <%=pc.getName()%>Label;

+	

+	/**

+	 * TextField for each parameter.

+	 * @generated

+	 */

+	private Text <%=pc.getName()%>Widget;

+<% } %>

+

+	/**

+	 * Default constructor using a name and the controller of the 

+	 * EMF model refactoring.

+	 * @param name Name of the WizardPage.

+	 * @param controller Controller of the EMF model refactoring.

+	 * @generated

+	 */

+	public RefactoringWizardPage

+		(String name, RefactoringController controller) {

+		super(name);

+		this.controller = controller;

+	}

+

+	/**

+	 * @see org.eclipse.swt.widgets.Listener#

+	 * handleEvent(org.eclipse.swt.widgets.Event)

+	 * @generated

+	 */

+	@SuppressWarnings("unchecked")

+	@Override

+	public void handleEvent(Event event) {		

+		getWizard().getContainer().updateButtons();

+

+<% for (ParameterInfo pc : refactoringConfig.getParameters()) { %>				

+		if (<%=pc.getName()%>Widget != null) {

+			String <%=pc.getName()%> = <%=pc.getName()%>Widget.getText();

+			if (!<%=pc.getName()%>.isEmpty()){

+				((RefactoringDataManagement) 

+						this.controller.getDataManagementObject()).

+						getInPortByName("<%=pc.getName()%>").

+						setValue(<%=pc.getName()%>);

+			} else {

+				((RefactoringDataManagement) 

+						this.controller.getDataManagementObject()).

+						getInPortByName("<%=pc.getName()%>").

+						setValue("unspecified");

+			}

+		}

+<% } %>

+

+	}

+	

+	/**

+	 * @see org.eclipse.jface.dialogs.IDialogPage#

+	 * createControl(org.eclipse.swt.widgets.Composite)

+	 * @generated

+	 */

+	@Override

+	public void createControl(Composite parent) {

+		Composite composite = new Composite(parent, SWT.NONE);

+		GridLayout gl = new GridLayout();

+		gl.numColumns = 2;

+		GridData gd = new GridData(GridData.FILL_HORIZONTAL);

+		composite.setLayout(gl);

+		

+<% for (ParameterInfo pc : refactoringConfig.getParameters()) { %>	

+		

+		<%=pc.getName()%>Label = new Label(composite, SWT.NONE);

+		<%=pc.getName()%>Label.setText("<% if (pc.getDescription() != null) {%> <%=pc.getDescription()%> <% } else { %> value of variable '<%=pc.getName()%>'<% } %>: ");		

+		<%=pc.getName()%>Label.setEnabled(true);

+		

+		<%=pc.getName()%>Widget = new Text(composite, SWT.BORDER);

+		<%=pc.getName()%>Widget.setToolTipText

+				("value of variable '<%=pc.getName()%>'");

+		<%=pc.getName()%>Widget.setEnabled(true);

+		<%=pc.getName()%>Widget.setLayoutData(gd);

+		<%=pc.getName()%>Widget.addListener(SWT.Modify, this);

+		

+<% } %>

+

+		List<IInputPageButtonCreator> buttonCreators = InputPageButtonLoader.iNSTANCE.getInputPageButtonCreatorClasses();

+		for(IInputPageButtonCreator creator : buttonCreators){

+			creator.createButton(composite, controller, (AbstractRefactoringWizard)this.getWizard());

+		}

+		

+		setControl(composite);

+	}

+	

+}

+	
\ No newline at end of file
diff --git a/org.eclipse.emf.refactor.comrel/bin/.gitignore b/org.eclipse.emf.refactor.comrel/bin/.gitignore
deleted file mode 100644
index 508dbce..0000000
--- a/org.eclipse.emf.refactor.comrel/bin/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/comrel
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/AtomicUnit.class b/org.eclipse.emf.refactor.comrel/bin/comrel/AtomicUnit.class
new file mode 100644
index 0000000..7d93f15
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/AtomicUnit.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/CartesianQueuedUnit.class b/org.eclipse.emf.refactor.comrel/bin/comrel/CartesianQueuedUnit.class
new file mode 100644
index 0000000..02019cf
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/CartesianQueuedUnit.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/CompositeRefactoring.class b/org.eclipse.emf.refactor.comrel/bin/comrel/CompositeRefactoring.class
new file mode 100644
index 0000000..bcaac55
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/CompositeRefactoring.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/CompositeUnit.class b/org.eclipse.emf.refactor.comrel/bin/comrel/CompositeUnit.class
new file mode 100644
index 0000000..d45d523
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/CompositeUnit.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/ComrelFactory.class b/org.eclipse.emf.refactor.comrel/bin/comrel/ComrelFactory.class
new file mode 100644
index 0000000..b0bc9dc
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/ComrelFactory.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/ComrelPackage$Literals.class b/org.eclipse.emf.refactor.comrel/bin/comrel/ComrelPackage$Literals.class
new file mode 100644
index 0000000..1e80c4c
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/ComrelPackage$Literals.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/ComrelPackage.class b/org.eclipse.emf.refactor.comrel/bin/comrel/ComrelPackage.class
new file mode 100644
index 0000000..3caa493
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/ComrelPackage.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/ConditionCheck.class b/org.eclipse.emf.refactor.comrel/bin/comrel/ConditionCheck.class
new file mode 100644
index 0000000..7aea63c
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/ConditionCheck.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/ConditionalUnit.class b/org.eclipse.emf.refactor.comrel/bin/comrel/ConditionalUnit.class
new file mode 100644
index 0000000..a142856
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/ConditionalUnit.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/DescribedElement.class b/org.eclipse.emf.refactor.comrel/bin/comrel/DescribedElement.class
new file mode 100644
index 0000000..7cfa185
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/DescribedElement.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/FeatureHelper.class b/org.eclipse.emf.refactor.comrel/bin/comrel/FeatureHelper.class
new file mode 100644
index 0000000..b8369e0
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/FeatureHelper.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/FeatureUnit.class b/org.eclipse.emf.refactor.comrel/bin/comrel/FeatureUnit.class
new file mode 100644
index 0000000..8776e0c
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/FeatureUnit.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/FilterHelper.class b/org.eclipse.emf.refactor.comrel/bin/comrel/FilterHelper.class
new file mode 100644
index 0000000..b92abb3
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/FilterHelper.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/FilterUnit.class b/org.eclipse.emf.refactor.comrel/bin/comrel/FilterUnit.class
new file mode 100644
index 0000000..edc0ca8
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/FilterUnit.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/Helper.class b/org.eclipse.emf.refactor.comrel/bin/comrel/Helper.class
new file mode 100644
index 0000000..50b00a7
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/Helper.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/HelperUnit.class b/org.eclipse.emf.refactor.comrel/bin/comrel/HelperUnit.class
new file mode 100644
index 0000000..485dee2
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/HelperUnit.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/InputPort.class b/org.eclipse.emf.refactor.comrel/bin/comrel/InputPort.class
new file mode 100644
index 0000000..ca181b6
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/InputPort.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/MappingVisualization.class b/org.eclipse.emf.refactor.comrel/bin/comrel/MappingVisualization.class
new file mode 100644
index 0000000..f1304e9
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/MappingVisualization.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/ModelRefactoring.class b/org.eclipse.emf.refactor.comrel/bin/comrel/ModelRefactoring.class
new file mode 100644
index 0000000..e53b18a
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/ModelRefactoring.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/MultiFeatureHelper.class b/org.eclipse.emf.refactor.comrel/bin/comrel/MultiFeatureHelper.class
new file mode 100644
index 0000000..88b588a
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/MultiFeatureHelper.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/MultiFeatureUnit.class b/org.eclipse.emf.refactor.comrel/bin/comrel/MultiFeatureUnit.class
new file mode 100644
index 0000000..8063219
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/MultiFeatureUnit.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/MultiFilterHelper.class b/org.eclipse.emf.refactor.comrel/bin/comrel/MultiFilterHelper.class
new file mode 100644
index 0000000..39a0406
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/MultiFilterHelper.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/MultiFilterUnit.class b/org.eclipse.emf.refactor.comrel/bin/comrel/MultiFilterUnit.class
new file mode 100644
index 0000000..9cd4013
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/MultiFilterUnit.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/MultiInputPort.class b/org.eclipse.emf.refactor.comrel/bin/comrel/MultiInputPort.class
new file mode 100644
index 0000000..2aaccf8
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/MultiInputPort.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/MultiOutputPort.class b/org.eclipse.emf.refactor.comrel/bin/comrel/MultiOutputPort.class
new file mode 100644
index 0000000..9c657c3
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/MultiOutputPort.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/MultiPort.class b/org.eclipse.emf.refactor.comrel/bin/comrel/MultiPort.class
new file mode 100644
index 0000000..0038853
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/MultiPort.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/MultiPortMapping.class b/org.eclipse.emf.refactor.comrel/bin/comrel/MultiPortMapping.class
new file mode 100644
index 0000000..e63e50b
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/MultiPortMapping.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/MultiSinglePortMapping.class b/org.eclipse.emf.refactor.comrel/bin/comrel/MultiSinglePortMapping.class
new file mode 100644
index 0000000..ee4fec4
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/MultiSinglePortMapping.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/NamedElement.class b/org.eclipse.emf.refactor.comrel/bin/comrel/NamedElement.class
new file mode 100644
index 0000000..b2678b0
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/NamedElement.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/OutputPort.class b/org.eclipse.emf.refactor.comrel/bin/comrel/OutputPort.class
new file mode 100644
index 0000000..f628809
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/OutputPort.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/ParallelQueuedUnit.class b/org.eclipse.emf.refactor.comrel/bin/comrel/ParallelQueuedUnit.class
new file mode 100644
index 0000000..5d1d3d8
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/ParallelQueuedUnit.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/Port.class b/org.eclipse.emf.refactor.comrel/bin/comrel/Port.class
new file mode 100644
index 0000000..2369a23
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/Port.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/PortMapping.class b/org.eclipse.emf.refactor.comrel/bin/comrel/PortMapping.class
new file mode 100644
index 0000000..88cf147
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/PortMapping.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/QueuedUnit.class b/org.eclipse.emf.refactor.comrel/bin/comrel/QueuedUnit.class
new file mode 100644
index 0000000..79e58d3
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/QueuedUnit.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/RefactoringUnit.class b/org.eclipse.emf.refactor.comrel/bin/comrel/RefactoringUnit.class
new file mode 100644
index 0000000..67ed7c8
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/RefactoringUnit.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/SequentialUnit.class b/org.eclipse.emf.refactor.comrel/bin/comrel/SequentialUnit.class
new file mode 100644
index 0000000..17b6fd0
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/SequentialUnit.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/SingleFeatureHelper.class b/org.eclipse.emf.refactor.comrel/bin/comrel/SingleFeatureHelper.class
new file mode 100644
index 0000000..f154f78
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/SingleFeatureHelper.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/SingleFeatureUnit.class b/org.eclipse.emf.refactor.comrel/bin/comrel/SingleFeatureUnit.class
new file mode 100644
index 0000000..a02bde2
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/SingleFeatureUnit.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/SingleFilterHelper.class b/org.eclipse.emf.refactor.comrel/bin/comrel/SingleFilterHelper.class
new file mode 100644
index 0000000..193c16e
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/SingleFilterHelper.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/SingleFilterUnit.class b/org.eclipse.emf.refactor.comrel/bin/comrel/SingleFilterUnit.class
new file mode 100644
index 0000000..e43ab60
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/SingleFilterUnit.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/SingleInputPort.class b/org.eclipse.emf.refactor.comrel/bin/comrel/SingleInputPort.class
new file mode 100644
index 0000000..d42da43
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/SingleInputPort.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/SingleOutputPort.class b/org.eclipse.emf.refactor.comrel/bin/comrel/SingleOutputPort.class
new file mode 100644
index 0000000..9bc2057
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/SingleOutputPort.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/SinglePort.class b/org.eclipse.emf.refactor.comrel/bin/comrel/SinglePort.class
new file mode 100644
index 0000000..30822a2
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/SinglePort.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/SinglePortMapping.class b/org.eclipse.emf.refactor.comrel/bin/comrel/SinglePortMapping.class
new file mode 100644
index 0000000..83831dc
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/SinglePortMapping.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/SingleQueuedUnit.class b/org.eclipse.emf.refactor.comrel/bin/comrel/SingleQueuedUnit.class
new file mode 100644
index 0000000..c697e48
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/SingleQueuedUnit.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/TwicedQueuedUnit.class b/org.eclipse.emf.refactor.comrel/bin/comrel/TwicedQueuedUnit.class
new file mode 100644
index 0000000..2b3ead7
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/TwicedQueuedUnit.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/extensions/IMultiFeatureHelper.class b/org.eclipse.emf.refactor.comrel/bin/comrel/extensions/IMultiFeatureHelper.class
new file mode 100644
index 0000000..8dc4bb3
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/extensions/IMultiFeatureHelper.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/extensions/IMultiFilterHelper.class b/org.eclipse.emf.refactor.comrel/bin/comrel/extensions/IMultiFilterHelper.class
new file mode 100644
index 0000000..19d6f20
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/extensions/IMultiFilterHelper.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/extensions/ISingleFeatureHelper.class b/org.eclipse.emf.refactor.comrel/bin/comrel/extensions/ISingleFeatureHelper.class
new file mode 100644
index 0000000..be5b427
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/extensions/ISingleFeatureHelper.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/extensions/ISingleFilterHelper.class b/org.eclipse.emf.refactor.comrel/bin/comrel/extensions/ISingleFilterHelper.class
new file mode 100644
index 0000000..150b206
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/extensions/ISingleFilterHelper.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/figures/InputPortFigure.class b/org.eclipse.emf.refactor.comrel/bin/comrel/figures/InputPortFigure.class
new file mode 100644
index 0000000..83b6d94
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/figures/InputPortFigure.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/figures/OutputPortFigure.class b/org.eclipse.emf.refactor.comrel/bin/comrel/figures/OutputPortFigure.class
new file mode 100644
index 0000000..4b61820
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/figures/OutputPortFigure.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/figures/PortMappingFigure.class b/org.eclipse.emf.refactor.comrel/bin/comrel/figures/PortMappingFigure.class
new file mode 100644
index 0000000..174e981
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/figures/PortMappingFigure.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/AtomicUnitImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/AtomicUnitImpl.class
new file mode 100644
index 0000000..8ee0e53
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/AtomicUnitImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/CartesianQueuedUnitImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/CartesianQueuedUnitImpl.class
new file mode 100644
index 0000000..a6c6bdc
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/CartesianQueuedUnitImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/CompositeRefactoringImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/CompositeRefactoringImpl.class
new file mode 100644
index 0000000..2d6699a
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/CompositeRefactoringImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/CompositeUnitImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/CompositeUnitImpl.class
new file mode 100644
index 0000000..d8a08f3
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/CompositeUnitImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/ComrelFactoryImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/ComrelFactoryImpl.class
new file mode 100644
index 0000000..19b3c72
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/ComrelFactoryImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/ComrelPackageImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/ComrelPackageImpl.class
new file mode 100644
index 0000000..7cc3fe3
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/ComrelPackageImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/ConditionCheckImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/ConditionCheckImpl.class
new file mode 100644
index 0000000..57e6d3c
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/ConditionCheckImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/ConditionalUnitImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/ConditionalUnitImpl.class
new file mode 100644
index 0000000..51d89d8
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/ConditionalUnitImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/FeatureHelperImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/FeatureHelperImpl.class
new file mode 100644
index 0000000..0365689
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/FeatureHelperImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/FeatureUnitImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/FeatureUnitImpl.class
new file mode 100644
index 0000000..9fb2ffb
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/FeatureUnitImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/FilterHelperImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/FilterHelperImpl.class
new file mode 100644
index 0000000..79f0b06
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/FilterHelperImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/FilterUnitImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/FilterUnitImpl.class
new file mode 100644
index 0000000..d52ee8d
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/FilterUnitImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/HelperImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/HelperImpl.class
new file mode 100644
index 0000000..303ef78
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/HelperImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/HelperUnitImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/HelperUnitImpl.class
new file mode 100644
index 0000000..6833123
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/HelperUnitImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/InputPortImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/InputPortImpl.class
new file mode 100644
index 0000000..8f7d075
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/InputPortImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/ModelRefactoringImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/ModelRefactoringImpl.class
new file mode 100644
index 0000000..bd3cf67
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/ModelRefactoringImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/MultiFeatureHelperImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/MultiFeatureHelperImpl.class
new file mode 100644
index 0000000..f9fe3aa
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/MultiFeatureHelperImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/MultiFeatureUnitImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/MultiFeatureUnitImpl.class
new file mode 100644
index 0000000..3e9c813
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/MultiFeatureUnitImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/MultiFilterHelperImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/MultiFilterHelperImpl.class
new file mode 100644
index 0000000..464273c
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/MultiFilterHelperImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/MultiFilterUnitImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/MultiFilterUnitImpl.class
new file mode 100644
index 0000000..8bc699c
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/MultiFilterUnitImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/MultiInputPortImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/MultiInputPortImpl.class
new file mode 100644
index 0000000..a1b3f1b
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/MultiInputPortImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/MultiOutputPortImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/MultiOutputPortImpl.class
new file mode 100644
index 0000000..c28b2cc
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/MultiOutputPortImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/MultiPortImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/MultiPortImpl.class
new file mode 100644
index 0000000..4479a77
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/MultiPortImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/MultiPortMappingImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/MultiPortMappingImpl.class
new file mode 100644
index 0000000..0f9a7cf
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/MultiPortMappingImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/MultiSinglePortMappingImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/MultiSinglePortMappingImpl.class
new file mode 100644
index 0000000..733c076
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/MultiSinglePortMappingImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/OutputPortImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/OutputPortImpl.class
new file mode 100644
index 0000000..146be68
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/OutputPortImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/ParallelQueuedUnitImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/ParallelQueuedUnitImpl.class
new file mode 100644
index 0000000..04d7b50
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/ParallelQueuedUnitImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/PortImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/PortImpl.class
new file mode 100644
index 0000000..fe2eaca
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/PortImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/PortMappingImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/PortMappingImpl.class
new file mode 100644
index 0000000..6bd4bc6
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/PortMappingImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/QueuedUnitImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/QueuedUnitImpl.class
new file mode 100644
index 0000000..ad2da47
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/QueuedUnitImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/RefactoringUnitImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/RefactoringUnitImpl.class
new file mode 100644
index 0000000..e39c819
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/RefactoringUnitImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/SequentialUnitImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/SequentialUnitImpl.class
new file mode 100644
index 0000000..c75d838
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/SequentialUnitImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/SingleFeatureHelperImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/SingleFeatureHelperImpl.class
new file mode 100644
index 0000000..5bb449e
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/SingleFeatureHelperImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/SingleFeatureUnitImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/SingleFeatureUnitImpl.class
new file mode 100644
index 0000000..090466f
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/SingleFeatureUnitImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/SingleFilterHelperImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/SingleFilterHelperImpl.class
new file mode 100644
index 0000000..b854167
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/SingleFilterHelperImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/SingleFilterUnitImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/SingleFilterUnitImpl.class
new file mode 100644
index 0000000..54cd76c
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/SingleFilterUnitImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/SingleInputPortImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/SingleInputPortImpl.class
new file mode 100644
index 0000000..0077357
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/SingleInputPortImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/SingleOutputPortImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/SingleOutputPortImpl.class
new file mode 100644
index 0000000..c3cfd39
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/SingleOutputPortImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/SinglePortImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/SinglePortImpl.class
new file mode 100644
index 0000000..ebe1550
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/SinglePortImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/SinglePortMappingImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/SinglePortMappingImpl.class
new file mode 100644
index 0000000..dbad9fe
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/SinglePortMappingImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/SingleQueuedUnitImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/SingleQueuedUnitImpl.class
new file mode 100644
index 0000000..60bcb97
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/SingleQueuedUnitImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/impl/TwicedQueuedUnitImpl.class b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/TwicedQueuedUnitImpl.class
new file mode 100644
index 0000000..856a2e5
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/impl/TwicedQueuedUnitImpl.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/util/Colors$AttributedTextPane.class b/org.eclipse.emf.refactor.comrel/bin/comrel/util/Colors$AttributedTextPane.class
new file mode 100644
index 0000000..cb5104a
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/util/Colors$AttributedTextPane.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/util/Colors.class b/org.eclipse.emf.refactor.comrel/bin/comrel/util/Colors.class
new file mode 100644
index 0000000..e369492
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/util/Colors.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/util/ComrelAdapterFactory$1.class b/org.eclipse.emf.refactor.comrel/bin/comrel/util/ComrelAdapterFactory$1.class
new file mode 100644
index 0000000..3a69d55
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/util/ComrelAdapterFactory$1.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/util/ComrelAdapterFactory.class b/org.eclipse.emf.refactor.comrel/bin/comrel/util/ComrelAdapterFactory.class
new file mode 100644
index 0000000..99e50bb
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/util/ComrelAdapterFactory.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/util/ComrelSwitch.class b/org.eclipse.emf.refactor.comrel/bin/comrel/util/ComrelSwitch.class
new file mode 100644
index 0000000..8d72dd5
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/util/ComrelSwitch.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/util/ComrelUtil$ModelRefactoringComparator.class b/org.eclipse.emf.refactor.comrel/bin/comrel/util/ComrelUtil$ModelRefactoringComparator.class
new file mode 100644
index 0000000..f94d8e9
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/util/ComrelUtil$ModelRefactoringComparator.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/util/ComrelUtil.class b/org.eclipse.emf.refactor.comrel/bin/comrel/util/ComrelUtil.class
new file mode 100644
index 0000000..a2f423f
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/util/ComrelUtil.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/util/ExtensionPointInfo.class b/org.eclipse.emf.refactor.comrel/bin/comrel/util/ExtensionPointInfo.class
new file mode 100644
index 0000000..3cec393
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/util/ExtensionPointInfo.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.comrel/bin/comrel/util/RegistryUtil.class b/org.eclipse.emf.refactor.comrel/bin/comrel/util/RegistryUtil.class
new file mode 100644
index 0000000..bf7357e
--- /dev/null
+++ b/org.eclipse.emf.refactor.comrel/bin/comrel/util/RegistryUtil.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.refactoring.papyrus/bin/.gitignore b/org.eclipse.emf.refactor.refactoring.ocl/bin/.gitignore
similarity index 100%
rename from org.eclipse.emf.refactor.refactoring.papyrus/bin/.gitignore
rename to org.eclipse.emf.refactor.refactoring.ocl/bin/.gitignore