metric NCCP added
diff --git a/org.eclipse.emf.refactor.metrics.uml24.ocl/META-INF/MANIFEST.MF b/org.eclipse.emf.refactor.metrics.uml24.ocl/META-INF/MANIFEST.MF
index 6c16d7b..a1c0beb 100644
--- a/org.eclipse.emf.refactor.metrics.uml24.ocl/META-INF/MANIFEST.MF
+++ b/org.eclipse.emf.refactor.metrics.uml24.ocl/META-INF/MANIFEST.MF
@@ -1,10 +1,13 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: MetricsUML24OCL
-Bundle-SymbolicName: org.eclipse.emf.refactor.metrics.uml24.ocl;singleton:=true
-Bundle-Version: 0.7.0
-Bundle-Activator: org.eclipse.emf.refactor.metrics.uml24.ocl.Activator
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime
-Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+Manifest-Version: 1.0
+Require-Bundle: org.eclipse.ui,org.eclipse.core.runtime,org.eclipse.em
+ f.ecore,org.eclipse.emf.refactor.metrics,org.eclipse.emf.refactor.met
+ rics.ocl,org.eclipse.uml2.uml
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 0.7.0
+Bundle-Name: MetricsUML24OCL
+Bundle-Activator: org.eclipse.emf.refactor.metrics.uml24.ocl.Activator
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: org.eclipse.emf.refactor.metrics.uml24.ocl;single
+ ton:=true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+
diff --git a/org.eclipse.emf.refactor.metrics.uml24.ocl/bin/org/eclipse/emf/refactor/metrics/NCCP.class b/org.eclipse.emf.refactor.metrics.uml24.ocl/bin/org/eclipse/emf/refactor/metrics/NCCP.class
new file mode 100644
index 0000000..36ba1aa
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.ocl/bin/org/eclipse/emf/refactor/metrics/NCCP.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.metrics.uml24.ocl/plugin.xml b/org.eclipse.emf.refactor.metrics.uml24.ocl/plugin.xml
new file mode 100644
index 0000000..6b02891
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.ocl/plugin.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<plugin>
+<extension point="org.eclipse.emf.refactor.metrics">
+<metric id="org.eclipse.emf.refactor.metrics.uml24.nccp" metric_calculate_class="org.eclipse.emf.refactor.metrics.NCCP" metric_context="Package" metric_description="Number of concrete Classes within the Package" metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML" metric_name="NCCP"/>
+</extension>
+</plugin>
diff --git a/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/NCCP.java b/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/NCCP.java
new file mode 100644
index 0000000..e6180ca
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/NCCP.java
@@ -0,0 +1,25 @@
+package org.eclipse.emf.refactor.metrics;
+
+import java.util.List;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.emf.refactor.metrics.ocl.managers.OCLManager;
+
+
+public final class NCCP implements IMetricCalculator {
+
+ private final String expression =
+ "self.packagedElement -> select(oclIsTypeOf(Class)) -> select(oclAsType(Class).isAbstract=false) -> size()";
+ private List<EObject> context;
+
+ @Override
+ public void setContext(List<EObject> context) {
+ this.context = context;
+ }
+
+ @Override
+ public double calculate() {
+ EObject contextObject = context.get(0);
+ return OCLManager.evaluateOCLOnContextObject(contextObject, expression);
+ }
+}
\ No newline at end of file