class OCLDependenciesManager added
diff --git a/org.eclipse.emf.refactor.metrics.ocl/src/org/eclipse/emf/refactor/metrics/ocl/managers/OCLDependenciesManager.java b/org.eclipse.emf.refactor.metrics.ocl/src/org/eclipse/emf/refactor/metrics/ocl/managers/OCLDependenciesManager.java
new file mode 100644
index 0000000..718a3cf
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.ocl/src/org/eclipse/emf/refactor/metrics/ocl/managers/OCLDependenciesManager.java
@@ -0,0 +1,46 @@
+package org.eclipse.emf.refactor.metrics.ocl.managers;
+
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.MalformedURLException;
+import java.net.URL;
+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.metrics.generator.core.MetricInfo;
+import org.eclipse.emf.refactor.metrics.generator.managers.DependenciesManager;
+
+public class OCLDependenciesManager extends DependenciesManager {
+
+ private final static String REFACTOR_METRICS_OCL = "org.eclipse.emf.refactor.metrics.ocl";
+
+ public static void updateDependencies(MetricInfo info) {
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(info.getProjectName());
+ try {
+ URL newUrl = new URL(project.getLocationURI().toURL().toString()
+ + MANIFEST_FILE);
+ InputStream is = newUrl.openStream();
+ Manifest mf = new Manifest(is);
+ Attributes att = mf.getMainAttributes();
+ String value = att.getValue(REQ_BUNDLE);
+ if (!value.contains(ECORE))
+ value = value + "," + ECORE;
+ if (!value.contains(REFACTOR_METRICS))
+ value = value + "," + REFACTOR_METRICS;
+ if (!value.contains(REFACTOR_METRICS_OCL))
+ value = value + "," + REFACTOR_METRICS_OCL;
+ if (! value.contains(info.getJar()))
+ value = value + "," + info.getJar();
+ att.putValue(REQ_BUNDLE, value);
+ FileOutputStream out = new FileOutputStream(newUrl.getFile());
+ mf.write(out);
+ } catch (MalformedURLException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
+}
diff --git a/org.eclipse.emf.refactor.metrics.ocl/src/org/eclipse/emf/refactor/metrics/ocl/managers/OCLGenerationManager.java b/org.eclipse.emf.refactor.metrics.ocl/src/org/eclipse/emf/refactor/metrics/ocl/managers/OCLGenerationManager.java
index 7312e44..58c0bc8 100644
--- a/org.eclipse.emf.refactor.metrics.ocl/src/org/eclipse/emf/refactor/metrics/ocl/managers/OCLGenerationManager.java
+++ b/org.eclipse.emf.refactor.metrics.ocl/src/org/eclipse/emf/refactor/metrics/ocl/managers/OCLGenerationManager.java
@@ -51,7 +51,7 @@
public static void createNewMetric(IProgressMonitor monitor,
OCLMetricInfo metricInfo, IProject targetProject) {
System.out.println(metricInfo);
- HenshinDependenciesManager.updateDependencies(metricInfo);
+ OCLDependenciesManager.updateDependencies(metricInfo);
createCalculateClass(monitor, metricInfo);
XMLPluginFileManager.createMetricEntry(metricInfo.getProjectPath(),
metricInfo.getName(), metricInfo.getId(),