- 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);
- return true;
- } else { // We have two writers writing the same value
- writerMap.put(varName, 3); // 3 represents both apps
- }
- } else {
- // Check if we have more than one value with the same writer
- if (!valueMap.get(varName).equals(value)) {
- // We have one writer writing more than one value in a same event
- valueMap.put(varName, "twoValue");
- }
- }
- } else {
- valueMap.put(varName, value);
- writerMap.put(varName, appNum);
- }
+ valueMap.put(varName, value);
+ writerMap.put(varName, appNum);
+ } else {
+ valueMap.put(varName, value);
+ writerMap.put(varName, appNum);
+ if (!isManual) {
+ firstValueMap.put(varName, value);
+ firstWriterMap.put(varName, appNum);