new UML metrics (context Operation) added
diff --git a/org.eclipse.emf.refactor.metrics.uml24.ocl/plugin.xml b/org.eclipse.emf.refactor.metrics.uml24.ocl/plugin.xml
index e589d13..f0b7ed6 100644
--- a/org.eclipse.emf.refactor.metrics.uml24.ocl/plugin.xml
+++ b/org.eclipse.emf.refactor.metrics.uml24.ocl/plugin.xml
@@ -133,6 +133,7 @@
 	metric_name="NAPTC">

 </metric>

 </extension>

+

 <extension point="org.eclipse.emf.refactor.metrics">

 <metric id="org.eclipse.emf.refactor.metrics.uml24.ninppo" 

 	metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.umlop.NINPPO" 

@@ -141,5 +142,20 @@
 	metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML" 

 	metric_name="NINPPO">

 </metric>

+<metric id="org.eclipse.emf.refactor.metrics.uml24.ninpo" 

+	metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.umlop.NINPO" 

+	metric_context="Operation" 

+	metric_description="Number of in-parameters within the operation" 

+	metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML" 

+	metric_name="NINPO">

+</metric>

+<metric id="org.eclipse.emf.refactor.metrics.uml24.niopo" 

+	metric_calculate_class="org.eclipse.emf.refactor.metrics.uml24.umlop.NIOPO" 

+	metric_context="Operation" 

+	metric_description="Number of inout-parameters within the operation" 

+	metric_metamodel="http://www.eclipse.org/uml2/4.0.0/UML" 

+	metric_name="NIOPO">

+</metric>

 </extension>

+

 </plugin>

diff --git a/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlop/NINPO.java b/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlop/NINPO.java
new file mode 100644
index 0000000..5bec048
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlop/NINPO.java
@@ -0,0 +1,28 @@
+package org.eclipse.emf.refactor.metrics.uml24.umlop;

+

+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 class NINPO implements IMetricCalculator {

+

+	private final String expression = 

+			"self.ownedParameter -> " +

+			"select(direction = uml::ParameterDirectionKind::in) " +

+			"-> 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);

+	}

+

+}

diff --git a/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlop/NIOPO.java b/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlop/NIOPO.java
new file mode 100644
index 0000000..fcab9b3
--- /dev/null
+++ b/org.eclipse.emf.refactor.metrics.uml24.ocl/src/org/eclipse/emf/refactor/metrics/uml24/umlop/NIOPO.java
@@ -0,0 +1,28 @@
+package org.eclipse.emf.refactor.metrics.uml24.umlop;

+

+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 class NIOPO implements IMetricCalculator {

+

+	private final String expression = 

+			"self.ownedParameter -> " +

+			"select(direction = uml::ParameterDirectionKind::inout) " +

+			"-> 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);

+	}

+

+}