Fix the CSIT Problem
[holmes/rule-management.git] / rulemgt / src / main / java / org / onap / holmes / rulemgt / wrapper / RuleMgtWrapper.java
index beffa56..146e034 100644 (file)
@@ -23,6 +23,7 @@ import javax.inject.Inject;
 import javax.inject.Singleton;\r
 import lombok.extern.slf4j.Slf4j;\r
 import org.jvnet.hk2.annotations.Service;\r
+import org.onap.holmes.common.dmaap.DmaapService;\r
 import org.onap.holmes.rulemgt.bean.request.CorrelationCheckRule4Engine;\r
 import org.onap.holmes.rulemgt.bean.response.RuleResult4API;\r
 import org.onap.holmes.rulemgt.constant.RuleMgtConstant;\r
@@ -72,8 +73,15 @@ public class RuleMgtWrapper {
         if (ruleTemp != null) {\r
             throw new CorrelationException("A rule with the same name already exists.");\r
         }\r
-        correlationRule.setPackageName(deployRule2Engine(correlationRule));\r
-        CorrelationRule result = correlationRuleDao.saveRule(correlationRule);\r
+        String packageName = deployRule2Engine(correlationRule);\r
+        correlationRule.setPackageName(packageName);\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
@@ -127,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
@@ -170,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
@@ -184,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
@@ -222,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
@@ -232,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