Fix the CSIT Problem
[holmes/rule-management.git] / rulemgt / src / main / java / org / onap / holmes / rulemgt / wrapper / RuleMgtWrapper.java
index 856171b..146e034 100644 (file)
@@ -74,9 +74,14 @@ public class RuleMgtWrapper {
             throw new CorrelationException("A rule with the same name already exists.");\r
         }\r
         String packageName = deployRule2Engine(correlationRule);\r
-        DmaapService.loopControlNames.put(packageName, ruleCreateRequest.getLoopControlName());\r
         correlationRule.setPackageName(packageName);\r
-        CorrelationRule result = correlationRuleDao.saveRule(correlationRule);\r
+        CorrelationRule result = null;\r
+        try {\r
+            result = correlationRuleDao.saveRule(correlationRule);\r
+        } catch (CorrelationException e) {\r
+            engineWarpper.deleteRuleFromEngine(packageName);\r
+            throw new CorrelationException(e.getMessage());\r
+        }\r
         RuleAddAndUpdateResponse ruleAddAndUpdateResponse = new RuleAddAndUpdateResponse();\r
         ruleAddAndUpdateResponse.setRuleId(result.getRid());\r
         return ruleAddAndUpdateResponse;\r
@@ -130,7 +135,10 @@ public class RuleMgtWrapper {
         int oldEnabled = oldCorrelationRule.getEnabled();\r
         String newDes = newCorrelationRule.getDescription();\r
         String oldDes = oldCorrelationRule.getDescription();\r
-        if (newContent.equals(oldContent) && newEnabled == oldEnabled && newDes.equals(oldDes)) {\r
+        String oldControlLoop = oldCorrelationRule.getClosedControlLoopName();\r
+        String newControlLoop = newCorrelationRule.getClosedControlLoopName();\r
+        if (newContent.equals(oldContent) && newEnabled == oldEnabled\r
+                && newDes.equals(oldDes) && newControlLoop.equals(oldControlLoop)) {\r
             return false;\r
         }\r
         return true;\r
@@ -173,6 +181,7 @@ public class RuleMgtWrapper {
         correlationRule.setCreator(userName);\r
         correlationRule.setModifier(userName);\r
         correlationRule.setEnabled(ruleCreateRequest.getEnabled());\r
+        correlationRule.setClosedControlLoopName(ruleCreateRequest.getLoopControlName());\r
         return correlationRule;\r
     }\r
 \r
@@ -187,6 +196,7 @@ public class RuleMgtWrapper {
         correlationRule.setUpdateTime(new Date());\r
         correlationRule.setModifier(modifier);\r
         correlationRule.setName(ruleName);\r
+        correlationRule.setClosedControlLoopName(ruleUpdateRequest.getLoopControlName());\r
         return correlationRule;\r
     }\r
 \r
@@ -225,6 +235,7 @@ public class RuleMgtWrapper {
             ruleResult4API.setUpdateTime(correlationRule.getUpdateTime());\r
             ruleResult4API.setModifier(correlationRule.getModifier());\r
             ruleResult4API.setEnabled(correlationRule.getEnabled());\r
+            ruleResult4API.setClosedControlLoopName(correlationRule.getClosedControlLoopName());\r
             ruleResult4APIs.add(ruleResult4API);\r
         }\r
         return ruleResult4APIs;\r
@@ -235,6 +246,7 @@ public class RuleMgtWrapper {
         CorrelationDeployRule4Engine correlationDeployRule4Engine = new CorrelationDeployRule4Engine();\r
         correlationDeployRule4Engine.setContent(correlationRule.getContent());\r
         correlationDeployRule4Engine.setEngineId(correlationRule.getEngineID());\r
+        correlationDeployRule4Engine.setLoopControlName(correlationRule.getClosedControlLoopName());\r
         return correlationDeployRule4Engine;\r
     }\r
 \r