generation process implemented
diff --git a/org.eclipse.emf.refactor.refactoring.generator/src/org/eclipse/emf/refactor/refactoring/generator/managers/GeneratioManager.java b/org.eclipse.emf.refactor.refactoring.generator/src/org/eclipse/emf/refactor/refactoring/generator/managers/GenerationManager.java
similarity index 87%
rename from org.eclipse.emf.refactor.refactoring.generator/src/org/eclipse/emf/refactor/refactoring/generator/managers/GeneratioManager.java
rename to org.eclipse.emf.refactor.refactoring.generator/src/org/eclipse/emf/refactor/refactoring/generator/managers/GenerationManager.java
index b3b555b..302e9be 100644
--- a/org.eclipse.emf.refactor.refactoring.generator/src/org/eclipse/emf/refactor/refactoring/generator/managers/GeneratioManager.java
+++ b/org.eclipse.emf.refactor.refactoring.generator/src/org/eclipse/emf/refactor/refactoring/generator/managers/GenerationManager.java
@@ -61,7 +61,7 @@
  * @author arendt
  *
  */
-public class GeneratioManager {
+public class GenerationManager {
 	
 	/**
 	 * Full qualified name of the template directory inside the plugin.
@@ -111,7 +111,7 @@
 	 * @param config Configuration data used for generating model 
 	 * refactoring code.
 	 */
-	public GeneratioManager(RefactoringInfo info) {
+	public GenerationManager(RefactoringInfo info) {
 		this.info = info;
 		this.templateDirectory = setTemplateDirectory();
 		this.classpathEntries = setClassPathEntries();
@@ -193,8 +193,10 @@
 		try {
 			IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
 			IResource r = root.findMember(JETEMITTERS);
+			System.out.println("IResoure: "+ r.getName());
 			if (r != null){
-				r.delete(false, monitor);
+				r.delete(IResource.ALWAYS_DELETE_PROJECT_CONTENT, monitor);
+//				r.delete(false, monitor);
 			}
 		} 
 		catch (CoreException e) { } 
@@ -357,31 +359,30 @@
 	 * as well as the contained config.xml files.
 	 * @param monitor Object monitoring the code generation.
 	 */
-	protected void createTestFolders(IProgressMonitor monitor) {
-		String packageName = this.info.getPackageName();
-		packageName = packageName.substring(0, packageName.lastIndexOf('.'));
-		String path = Platform.getInstanceLocation()
-											.getURL().getPath() + packageName;
+	protected void createTestFolders(IProgressMonitor monitor) { 		
+		IProject project = ResourcesPlugin.getWorkspace().getRoot()
+				.getProject(this.info.getProjectName());	
+		System.out.println("-- info.getNumberOfTests(): " + info.getNumberOfTests());
 		if (this.info.getNumberOfTests() > 0) {
-			try {
-				File testFolder = new File(path + "/tests/" + 
-										this.info.getRefactoringId() + "/");
-				testFolder.mkdirs();
-				if (testFolder.exists() && testFolder.isDirectory()){
-					String testfolderprefix = 
-							testFolder.getCanonicalPath() + "/test_";
-					for (int i = 1; i <= this.info.getNumberOfTests(); i++) {
-						File specifictestfolder = new File(testfolderprefix 
-												+ String.format("%03d", i) + "/");
-						if (!specifictestfolder.exists() 
-								|| !specifictestfolder.isDirectory()) {
-							specifictestfolder.mkdir();
-							createConfigXml(monitor, specifictestfolder);
-						}
+			String rootDir = "/tests/" + this.info.getRefactoringId() + "/";
+			String dirPath = project.getLocation().append(rootDir).toOSString();
+			System.out.println("--- dirPath: " + dirPath);
+			File testFolder = new File(dirPath);
+			testFolder.mkdirs();
+			if (testFolder.exists() && testFolder.isDirectory()){
+				for (int i = 1; i <= this.info.getNumberOfTests(); i++) {
+					String testDirSnippet = "/test_" + String.format("%03d", i) + "/";
+					String testDir = project.getLocation().append(rootDir + testDirSnippet).toOSString();
+					System.out.println("--- testDir: " + testDir);
+					File specifictestfolder = new File(testDir);
+					if (!specifictestfolder.exists() 
+							|| !specifictestfolder.isDirectory()) {
+						specifictestfolder.mkdir();
+						String xmlName = "/config.xml";
+						String xmlLocation = project.getLocation().append(rootDir + testDirSnippet + xmlName).toOSString();
+						createConfigXml(monitor, xmlLocation);
 					}
-				}					
-			} catch (IOException e) {
-				e.printStackTrace();
+				}
 			}
 		}
 	}
@@ -390,14 +391,16 @@
 	 * Creates the config.xml files within the test folders for the 
 	 * generated model refactoring.
 	 * @param monitor Object monitoring the code generation.
-	 * @param xmlFolder File object containing the folder in which 
+	 * @param xmlLocation File object containing the folder in which 
 	 * the config should be saved. 
 	 */
-	private void createConfigXml(IProgressMonitor monitor, File xmlFolder) {
-		String generatedCode = this.generateCode(monitor, XMLCONFIG);
+	private void createConfigXml(IProgressMonitor monitor, String path) {
+//		String generatedCode = this.generateCode(monitor, XMLCONFIG);
+		String generatedCode = "TO DO";
 		try {
-			File configXml = new File(xmlFolder.getCanonicalPath() 
-														+ "/config.xml");
+//			String path = xmlLocation.getCanonicalPath() + "/config.xml";
+			File configXml = new File(path);
+			System.out.println("---- createConfigXml::path: " + path);
 			if (!configXml.exists() || !configXml.isFile()) {
 				this.saveXml(monitor, generatedCode, 
 								configXml.getCanonicalPath().toString());
diff --git a/org.eclipse.emf.refactor.refactoring.generator/src/org/eclipse/emf/refactor/refactoring/generator/managers/XMLPluginFileManager.java b/org.eclipse.emf.refactor.refactoring.generator/src/org/eclipse/emf/refactor/refactoring/generator/managers/XMLPluginFileManager.java
index 62a4e94..dce2d90 100644
--- a/org.eclipse.emf.refactor.refactoring.generator/src/org/eclipse/emf/refactor/refactoring/generator/managers/XMLPluginFileManager.java
+++ b/org.eclipse.emf.refactor.refactoring.generator/src/org/eclipse/emf/refactor/refactoring/generator/managers/XMLPluginFileManager.java
@@ -111,6 +111,18 @@
 		}
 	}
 	
+	private static Transformer createTransformer(){
+		final TransformerFactory transformerFactory = TransformerFactory.newInstance();
+		try {
+			Transformer transformer = transformerFactory.newTransformer();
+			transformer.setOutputProperty(OutputKeys.INDENT,"yes");
+			return transformer;
+		} catch (final TransformerConfigurationException e) {
+			e.printStackTrace();
+			return null;
+		}		
+	}
+	
 	/**
 	 * Abstract method for getting a list of RefactoringConfig out from
 	 * the model refactoring extension point served in the plugin.xml 
@@ -132,9 +144,16 @@
 			try {
 				IProject project = ResourcesPlugin.getWorkspace()
 									.getRoot().getProject(projectName);
+				
+				String path = project.getLocation().toString() + "/" + XMLPluginFileManager.PLUGINXML;
+				System.out.println("Path: " + path);
+				final File file = new File(path);
+				System.out.println("exists: " + file.exists());
+				if (! file.exists()) createPluginFile(path);
+				
 				java.net.URI uri = project.getLocationURI();
-				doc = builder.parse
-						(uri + "/" + XMLPluginFileManager.PLUGINXML);
+				path = uri + "/" + XMLPluginFileManager.PLUGINXML;
+				doc = builder.parse(path);
 			} catch (final SAXException e) {
 				e.printStackTrace();
 			} catch (final IOException e) {
@@ -142,6 +161,7 @@
 			}
 			if (doc != null) {
 				Element root = doc.getDocumentElement();
+				System.out.println(root);
 				NodeList refactorings = root.getElementsByTagName
 									(ExtensionPointTags.REFACTORING_TAG);
 				for (int i=0; i < refactorings.getLength(); i++){
@@ -210,15 +230,7 @@
 				extension.appendChild(refactoring);
 			}
 			root.appendChild(extension);
-			final TransformerFactory transformerFactory = 
-												TransformerFactory.newInstance();
-			Transformer transformer = null;
-			try {
-				transformer = transformerFactory.newTransformer();
-				transformer.setOutputProperty(OutputKeys.INDENT,"yes");
-			} catch (final TransformerConfigurationException e) {
-				e.printStackTrace();
-			}
+			Transformer transformer = XMLPluginFileManager.createTransformer();
 			final DOMSource source = new DOMSource(doc);
 			IProject project = ResourcesPlugin.getWorkspace()
 											.getRoot().getProject(projectName);
@@ -232,5 +244,27 @@
 			}			
 		}
 	}
+	
+	private static void createPluginFile(String path) {
+		final DocumentBuilder builder = XMLPluginFileManager.newDocumentBuilder();
+		Document doc = null;
+		Element root;
+		if (builder != null) {
+			doc = builder.newDocument();
+			root = doc.createElement(XMLPluginFileManager.PLUGIN);
+			doc.appendChild(root);
+			final Element extension = doc.createElement(ExtensionPointTags.EXTENSION_POINT_TAG);
+			extension.setAttribute(XMLPluginFileManager.POINT, ExtensionPointTags.EXTENSION_POINT_NAME);
+			root.appendChild(extension);
+		}
+		final Transformer transformer = XMLPluginFileManager.createTransformer();
+		final DOMSource source = new DOMSource(doc);
+		final StreamResult result = new StreamResult(path);
+		try {
+			transformer.transform(source, result);
+		} catch (final TransformerException e) {
+			e.printStackTrace();
+		}
+	}
 
 }
diff --git a/org.eclipse.emf.refactor.refactoring.generator/src/org/eclipse/emf/refactor/refactoring/generator/ui/NewRefactoringWizardJava.java b/org.eclipse.emf.refactor.refactoring.generator/src/org/eclipse/emf/refactor/refactoring/generator/ui/NewRefactoringWizardJava.java
index 6ed39c9..4befb4c 100644
--- a/org.eclipse.emf.refactor.refactoring.generator/src/org/eclipse/emf/refactor/refactoring/generator/ui/NewRefactoringWizardJava.java
+++ b/org.eclipse.emf.refactor.refactoring.generator/src/org/eclipse/emf/refactor/refactoring/generator/ui/NewRefactoringWizardJava.java
@@ -11,7 +11,6 @@
 package org.eclipse.emf.refactor.refactoring.generator.ui;
 
 import java.lang.reflect.InvocationTargetException;
-import java.util.Arrays;
 import java.util.LinkedList;
 
 import org.eclipse.core.resources.IProject;
@@ -19,11 +18,10 @@
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.EPackage;
 import org.eclipse.emf.refactor.refactoring.generator.core.RefactoringInfo;
 import org.eclipse.emf.refactor.refactoring.generator.interfaces.INewRefactoringWizard;
-import org.eclipse.emf.refactor.refactoring.generator.managers.GeneratioManager;
+import org.eclipse.emf.refactor.refactoring.generator.managers.GenerationManager;
 import org.eclipse.jface.viewers.IStructuredSelection;
 import org.eclipse.jface.wizard.Wizard;
 import org.eclipse.jface.wizard.WizardPage;
@@ -155,7 +153,7 @@
 		refactoringConfig.setMetaModelName(metaModelName);
 		refactoringConfig.setParameters(parameterWizardPage.getParameters());
 		System.out.println(refactoringConfig);
-		GeneratioManager rg = new GeneratioManager(refactoringConfig); 
+		GenerationManager rg = new GenerationManager(refactoringConfig); 
 		rg.run(monitor);
 	}