bugs fixed
diff --git a/org.eclipse.emf.refactor.metrics.henshin/src/org/eclipse/emf/refactor/metrics/henshin/managers/HenshinGenerationManager.java b/org.eclipse.emf.refactor.metrics.henshin/src/org/eclipse/emf/refactor/metrics/henshin/managers/HenshinGenerationManager.java
index a9bf7d2..f277f70 100644
--- a/org.eclipse.emf.refactor.metrics.henshin/src/org/eclipse/emf/refactor/metrics/henshin/managers/HenshinGenerationManager.java
+++ b/org.eclipse.emf.refactor.metrics.henshin/src/org/eclipse/emf/refactor/metrics/henshin/managers/HenshinGenerationManager.java
@@ -1,12 +1,16 @@
 package org.eclipse.emf.refactor.metrics.henshin.managers;
 
+import java.io.IOException;
 import java.util.List;
 
 import org.eclipse.core.resources.IProject;
 import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.FileLocator;
 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.refactor.metrics.generator.managers.GenerationManager;
 import org.eclipse.emf.refactor.metrics.generator.managers.XMLPluginFileManager;
@@ -14,6 +18,7 @@
 import org.eclipse.emf.refactor.metrics.henshin.core.HenshinMetricInfo;
 import org.eclipse.jdt.core.IClasspathEntry;
 import org.eclipse.jdt.core.JavaCore;
+import org.eclipse.jface.dialogs.MessageDialog;
 import org.osgi.framework.Bundle;
 
 public class HenshinGenerationManager extends GenerationManager {
@@ -65,13 +70,45 @@
 		String generatedCode = "";
 		String templateName = HENSHIN_TEMPLATE_CLASS_NAME;
 		try {
+//			MessageDialog.openError(null, null, "vor generateCode()");
 			generatedCode = generateCode(monitor, templateName, metricInfo);
+//			MessageDialog.openError(null, null, "nach generateCode()");
 		    saveCode(monitor, generatedCode, metricInfo);
+//		    MessageDialog.openError(null, null, "nach saveCode()");
 		} catch (JETException e) {
+//			MessageDialog.openError(null, null, e.getMessage());
 			e.printStackTrace();
 		} catch (CoreException e) {
+//			MessageDialog.openError(null, null, e.getMessage());
 			e.printStackTrace();
 		}
 	}
+	
+	protected String setTemplateDirectory() {
+		String directory = "";
+		final Bundle bundle = Activator.getDefault().getBundle();
+		try {
+			directory = FileLocator.toFileURL(bundle.getEntry(TEMPLATE_DIR)).getFile();
+		} catch (final IOException e) {
+			e.printStackTrace();
+		}
+		return directory;
+	}
+	
+	protected static String generateCode(IProgressMonitor monitor, String template, HenshinMetricInfo metricInfo) {
+		String templatePath = templateDirectory + template + TEMPLATE_FILE_EXTENSION;
+		ClassLoader classLoader = metricInfo.getClass().getClassLoader();
+		JETEmitter jetEmitter = new JETEmitter(templatePath, classLoader);
+		jetEmitter.getClasspathEntries().addAll(classpathEntries);
+		String result = "";
+		IProgressMonitor subMonitor = new SubProgressMonitor(monitor, 1);
+		try {
+			result = jetEmitter.generate(subMonitor, new Object[] {metricInfo});
+		} catch (JETException e) {
+			e.printStackTrace();
+		}
+		System.out.println(result);
+		return result;
+	}
 
 }
diff --git a/org.eclipse.emf.refactor.metrics.henshin/src/org/eclipse/emf/refactor/metrics/henshin/ui/NewMetricWizardHenshin.java b/org.eclipse.emf.refactor.metrics.henshin/src/org/eclipse/emf/refactor/metrics/henshin/ui/NewMetricWizardHenshin.java
index 610bf74..c9990a0 100644
--- a/org.eclipse.emf.refactor.metrics.henshin/src/org/eclipse/emf/refactor/metrics/henshin/ui/NewMetricWizardHenshin.java
+++ b/org.eclipse.emf.refactor.metrics.henshin/src/org/eclipse/emf/refactor/metrics/henshin/ui/NewMetricWizardHenshin.java
@@ -9,9 +9,9 @@
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.emf.refactor.metrics.generator.interfaces.INewMetricWizard;
-import org.eclipse.emf.refactor.metrics.generator.managers.GenerationManager;
 import org.eclipse.emf.refactor.metrics.generator.ui.MetricBasicDataWizardPage;
 import org.eclipse.emf.refactor.metrics.henshin.core.HenshinMetricInfo;
+import org.eclipse.emf.refactor.metrics.henshin.managers.HenshinGenerationManager;
 import org.eclipse.emf.refactor.metrics.managers.MetricManager;
 import org.eclipse.jface.operation.IRunnableWithProgress;
 import org.eclipse.jface.viewers.IStructuredSelection;
@@ -66,8 +66,8 @@
 		try{
 			getContainer().run(true, true, new IRunnableWithProgress(){
 				public void run(IProgressMonitor monitor)throws InvocationTargetException, InterruptedException{
-					GenerationManager.getInstance();
-					GenerationManager.createNewMetric(monitor, getMetricInfo(), targetProject);
+					HenshinGenerationManager.getInstance();
+					HenshinGenerationManager.createNewMetric(monitor, getMetricInfo(), targetProject);
 				}
 			});
 		}
diff --git a/org.eclipse.emf.refactor.metrics.henshin/templates/HenshinCalculateClassTemplate.javajet b/org.eclipse.emf.refactor.metrics.henshin/templates/HenshinCalculateClassTemplate.javajet
index d14ea83..22530e0 100644
--- a/org.eclipse.emf.refactor.metrics.henshin/templates/HenshinCalculateClassTemplate.javajet
+++ b/org.eclipse.emf.refactor.metrics.henshin/templates/HenshinCalculateClassTemplate.javajet
@@ -1,5 +1,5 @@
 <%@ jet package="org.eclipse.emf.refactor.metrics" class="HenshinCalculateClass"
-imports="org.eclipse.emf.refactor.metrics.henshin.generator.HenshinMetricInfo"%>
+imports="org.eclipse.emf.refactor.metrics.henshin.core.HenshinMetricInfo"%>
 <%HenshinMetricInfo info = (HenshinMetricInfo) argument; %>
 package <%=info.getPackage()%>;