Migration of ModeConditionConjuction entries to ModeValueCondition entries.
Signed-off-by: Swapna Rachapalli <swapna.rachapalli@de.bosch.com>
diff --git a/plugins/org.eclipse.app4mc.amalthea.converters.096/src/org/eclipse/app4mc/amalthea/converters096/impl/SwConverter.java b/plugins/org.eclipse.app4mc.amalthea.converters.096/src/org/eclipse/app4mc/amalthea/converters096/impl/SwConverter.java
index 5cbd878..eac2e3a 100644
--- a/plugins/org.eclipse.app4mc.amalthea.converters.096/src/org/eclipse/app4mc/amalthea/converters096/impl/SwConverter.java
+++ b/plugins/org.eclipse.app4mc.amalthea.converters.096/src/org/eclipse/app4mc/amalthea/converters096/impl/SwConverter.java
@@ -52,7 +52,12 @@
 
 		updateCustomPropsToCounter(rootElement);
 		
+		updateModeConditions(rootElement);
+	}
+	
+	private void updateModeConditions(Element rootElement) {
 		updateModeCondition(rootElement);
+		updateModeConditionConjunction(rootElement);
 	}
 
 	private void updateModeCondition(Element rootElement) {
@@ -72,7 +77,31 @@
 					this.helper.getNS_096("am"), this.helper.getGenericNS("xsi"));
 		 
 		 for (Element element : modeCondition) {
-			element.setAttribute("type", "am:ModelValueCondition", this.helper.getGenericNS("xsi"));
+			element.setAttribute("type", "am:ModeValueCondition", this.helper.getGenericNS("xsi"));
+		}
+	}
+	
+	private void updateModeConditionConjunction(Element rootElement) {
+		final StringBuffer xpathBuffer = new StringBuffer();
+		 
+		 xpathBuffer.append("./swModel/tasks/callGraph/items//entries[@xsi:type=\"am:ModeConditionConjunction\"]");
+		 xpathBuffer.append("|");
+		 xpathBuffer.append("./swModel/isrs/callGraph/items//entries[@xsi:type=\"am:ModeConditionConjunction\"]");
+		 xpathBuffer.append("|");
+		 xpathBuffer.append("./swModel/runnables/callGraph/items//entries[@xsi:type=\"am:ModeConditionConjunction\"]");
+		 xpathBuffer.append("|");
+		 xpathBuffer.append("./swModel/runnables/executionCondition//entries[@xsi:type=\"am:ModeConditionConjunction\"]");
+		 xpathBuffer.append("|");
+		 xpathBuffer.append("./stimuliModel/stimuli/executionCondition//entries[@xsi:type=\"am:ModeConditionConjunction\"]");
+		 
+		 final List<Element> modeConditions = this.helper.getXpathResult(rootElement, xpathBuffer.toString(), Element.class,
+					this.helper.getNS_096("am"), this.helper.getGenericNS("xsi"));
+		 
+		 for (Element element : modeConditions) {
+			 List<Element> entries = element.getChildren("entries");
+			 for (Element entry : entries) {
+				entry.setAttribute("type", "am:ModeValueCondition", this.helper.getGenericNS("xsi"));
+			}
 		}
 	}
 
diff --git a/tests/org.eclipse.app4mc.amalthea.converters.096.tests/TestModels/input/modecondition/modecondition.amxmi b/tests/org.eclipse.app4mc.amalthea.converters.096.tests/TestModels/input/modecondition/modecondition.amxmi
index 20d1f6a..7855963 100644
--- a/tests/org.eclipse.app4mc.amalthea.converters.096.tests/TestModels/input/modecondition/modecondition.amxmi
+++ b/tests/org.eclipse.app4mc.amalthea.converters.096.tests/TestModels/input/modecondition/modecondition.amxmi
@@ -9,6 +9,14 @@
               <entries xsi:type="am:ModeCondition" label="Sensor?type=ModeLabel" value="Enable" relation="EQUAL"/>
             </condition>
           </entries>
+          <entries name="case2">
+            <condition>
+              <entries xsi:type="am:ModeConditionConjunction">
+                <entries label="Sensor?type=ModeLabel" value="Enable" relation="EQUAL"/>
+                <entries label="Lab_Offset?type=ModeLabel" value="0" relation="NOT_EQUAL"/>
+              </entries>
+            </condition>
+          </entries>
         </items>
       </callGraph>
     </tasks>
@@ -86,7 +94,10 @@
     <stimuli xsi:type="am:SingleStimulus" name="Startup">
       <executionCondition>
         <entries xsi:type="am:ModeCondition" label="MainLight?type=ModeLabel" value="ON"/>
-        <entries xsi:type="am:ModeConditionConjunction"/>
+        <entries xsi:type="am:ModeConditionConjunction">
+          <entries label="MainLight?type=ModeLabel" value="ON" relation="EQUAL"/>
+          <entries label="Lab_Offset?type=ModeLabel" value="1" relation="GREATER_THAN"/>
+        </entries>
         <entries xsi:type="am:ModeCondition" label="Lab_Offset?type=ModeLabel" value="2" relation="EQUAL"/>
       </executionCondition>
     </stimuli>