metrics NACP and TNCP added
diff --git a/org.eclipse.emf.refactor.metrics.uml24/META-INF/MANIFEST.MF b/org.eclipse.emf.refactor.metrics.uml24/META-INF/MANIFEST.MF
index 26679df..5c95a7e 100644
--- a/org.eclipse.emf.refactor.metrics.uml24/META-INF/MANIFEST.MF
+++ b/org.eclipse.emf.refactor.metrics.uml24/META-INF/MANIFEST.MF
@@ -1,10 +1,12 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: MetricsUML24
-Bundle-SymbolicName: org.eclipse.emf.refactor.metrics.uml24;singleton:=true
-Bundle-Version: 0.7.0
-Bundle-Activator: org.eclipse.emf.refactor.metrics.uml24.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.uml2.uml
+Bundle-ActivationPolicy: lazy
+Bundle-Version: 0.7.0
+Bundle-Name: MetricsUML24
+Bundle-ManifestVersion: 2
+Bundle-Activator: org.eclipse.emf.refactor.metrics.uml24.Activator
+Bundle-SymbolicName: org.eclipse.emf.refactor.metrics.uml24;singleton:
+ =true
+Bundle-RequiredExecutionEnvironment: JavaSE-1.6
+
diff --git a/org.eclipse.emf.refactor.metrics.uml24/bin/org/eclipse/emf/refactor/metrics/uml24/classuml/NACP.class b/org.eclipse.emf.refactor.metrics.uml24/bin/org/eclipse/emf/refactor/metrics/uml24/classuml/NACP.class
new file mode 100644
index 0000000..7d6b1fd
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24/bin/org/eclipse/emf/refactor/metrics/uml24/classuml/NACP.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.metrics.uml24/bin/org/eclipse/emf/refactor/metrics/uml24/classuml/TNCP.class b/org.eclipse.emf.refactor.metrics.uml24/bin/org/eclipse/emf/refactor/metrics/uml24/classuml/TNCP.class
new file mode 100644
index 0000000..7a2427b
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24/bin/org/eclipse/emf/refactor/metrics/uml24/classuml/TNCP.class
Binary files differ
diff --git a/org.eclipse.emf.refactor.metrics.uml24/build.properties b/org.eclipse.emf.refactor.metrics.uml24/build.properties
index 34d2e4d..e9863e2 100644
--- a/org.eclipse.emf.refactor.metrics.uml24/build.properties
+++ b/org.eclipse.emf.refactor.metrics.uml24/build.properties
@@ -1,4 +1,5 @@
source.. = src/
output.. = bin/
bin.includes = META-INF/,\
- .
+ .,\
+ plugin.xml
diff --git a/org.eclipse.emf.refactor.metrics.uml24/plugin.xml b/org.eclipse.emf.refactor.metrics.uml24/plugin.xml
new file mode 100644
index 0000000..28c70e4
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24/plugin.xml
@@ -0,0 +1,7 @@
+<?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.nacp" metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.classuml.NACP" metric_context="Package" metric_description="Number of abstract Classes within the Package" metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML" metric_name="NACP"/>
+<metric id="org.eclipse.emf.refactor.metrics.uml24.tncp" metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.classuml.TNCP" metric_context="Package" metric_description="Total number of Classes within the Package" metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML" metric_name="TNCP"/>
+</extension>
+</plugin>
diff --git a/org.eclipse.emf.refactor.metrics.uml24/src/org/eclipse/emf/refactor/metrics/uml24/classuml/NACP.java b/org.eclipse.emf.refactor.metrics.uml24/src/org/eclipse/emf/refactor/metrics/uml24/classuml/NACP.java
new file mode 100644
index 0000000..c3845ef
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24/src/org/eclipse/emf/refactor/metrics/uml24/classuml/NACP.java
@@ -0,0 +1,33 @@
+package org.eclipse.emf.refactor.metrics.uml24.classuml;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.uml2.uml.PackageableElement;
+
+public final class NACP implements IMetricCalculator {
+
+ private List<EObject> context;
+
+ @Override
+ public void setContext(List<EObject> context) {
+ this.context=context;
+ }
+
+ @Override
+ public double calculate() {
+ org.eclipse.uml2.uml.Package in = (org.eclipse.uml2.uml.Package) context.get(0);
+ double ret = 0.0;
+ // custom code - begin
+ for (PackageableElement pe : in.getPackagedElements()) {
+ if (pe instanceof org.eclipse.uml2.uml.Class) {
+ if (((org.eclipse.uml2.uml.Class) pe).isAbstract()) {
+ ret++;
+ }
+ }
+ }
+ // custom code - end
+ return ret;
+ }
+}
\ No newline at end of file
diff --git a/org.eclipse.emf.refactor.metrics.uml24/src/org/eclipse/emf/refactor/metrics/uml24/classuml/TNCP.java b/org.eclipse.emf.refactor.metrics.uml24/src/org/eclipse/emf/refactor/metrics/uml24/classuml/TNCP.java
new file mode 100644
index 0000000..f50244f
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24/src/org/eclipse/emf/refactor/metrics/uml24/classuml/TNCP.java
@@ -0,0 +1,30 @@
+package org.eclipse.emf.refactor.metrics.uml24.classuml;
+
+import java.util.List;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.refactor.metrics.interfaces.IMetricCalculator;
+import org.eclipse.uml2.uml.PackageableElement;
+
+public final class TNCP implements IMetricCalculator {
+
+ private List<EObject> context;
+
+ @Override
+ public void setContext(List<EObject> context) {
+ this.context=context;
+ }
+
+ @Override
+ public double calculate() {
+ org.eclipse.uml2.uml.Package in = (org.eclipse.uml2.uml.Package) context.get(0);
+ double ret = 0.0;
+ // custom code - begin
+ for (PackageableElement pe : in.getPackagedElements()) {
+ if (pe instanceof org.eclipse.uml2.uml.Class) {
+ ret++;
+ }
+ }
+ // custom code - end
+ return ret;
+ }
+}
\ No newline at end of file