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