- HashMap<String, Integer> writerMap = new HashMap<String, Integer>(); // HashMap from varName to appNum
-
- // Update the valueMap and check if we have conflict in the setSet
- for (NameValuePair i : nodeToProcess.getSetSet()) {
- if (i.getIsManual()) // Manual input: we have no conflict
- continue; // If this manual write is the last write, this is actually a break
-
- if (valueMap.containsKey(i.getVarName())) {
- if (!valueMap.get(i.getVarName()).equals(i.getValue())) { // Check if their value is different we have a conflict
- errorMessage = createErrorMessage(i, valueMap, writerMap);
+ HashMap<String, Integer> writerMap = new HashMap<String, Integer>(); // HashMap from varName to appNum
+
+
+ System.out.println("#########################Set Set:");
+ for (int i = 0;i < setSet.size();i++) {
+ NameValuePair nameValuePair = setSet.get(i);
+ String varName = nameValuePair.getVarName();
+ String value = nameValuePair.getValue();
+ Integer appNum = nameValuePair.getAppNum();
+
+ System.out.println("varName="+varName+", value="+value+", appNum="+appNum);
+ }
+ System.out.println("+++++++++++++++++++++++++Out Set:");
+ for (NameValuePair nameValuePair : currentNode.getOutSet()) {
+ String varName = nameValuePair.getVarName();
+ String value = nameValuePair.getValue();
+ Integer appNum = nameValuePair.getAppNum();
+
+ System.out.println("varName="+varName+", value="+value+", appNum="+appNum);
+ }
+
+ // Update the valueMap and writerMap + check for conflict between the elements of setSet
+ for (int i = 0;i < setSet.size();i++) {
+ NameValuePair nameValuePair = setSet.get(i);
+ String varName = nameValuePair.getVarName();
+ String value = nameValuePair.getValue();
+ Integer appNum = nameValuePair.getAppNum();
+
+ if (valueMap.containsKey(varName)) {
+ // Check if we have a same writer
+ if (!writerMap.get(varName).equals(appNum)) {
+ // Check if we have a conflict or not
+ if (!valueMap.get(varName).equals(value)) {
+ errorMessage = createErrorMessage(nameValuePair, valueMap, writerMap);