CREATE TABLE APLUS_RULE (
RID VARCHAR(30) NOT NULL,
NAME VARCHAR(150) NOT NULL,
+ CTRLLOOP VARCHAR(150) NOT NULL,
DESCRIPTION VARCHAR(4000) NULL,
ENABLE SMALLINT NOT NULL,
TEMPLATEID BIGINT NOT NULL,
UNIQUE (NAME)
);
+CREATE INDEX IDX_APLUS_RULE_NAME ON APLUS_RULE (NAME);
+CREATE INDEX IDX_APLUS_RULE_CTRLLOOP ON APLUS_RULE (CTRLLOOP);
CREATE INDEX IDX_APLUS_RULE_ENABLE ON APLUS_RULE (ENABLE);
CREATE INDEX IDX_APLUS_RULE_TEMPLATEID ON APLUS_RULE (TEMPLATEID);
CREATE INDEX IDX_APLUS_RULE_ENGINEID ON APLUS_RULE (ENGINEID);
private int enabled;\r
@JsonProperty(value="ruleid")\r
private String ruleId;\r
+ @JsonProperty(value = "loopcontrolname")\r
+ private String loopControlName;\r
}\r
public abstract class CorrelationRuleDao {\r
\r
@GetGeneratedKeys\r
- @SqlUpdate("INSERT INTO APLUS_RULE (NAME,DESCRIPTION,ENABLE,TEMPLATEID,ENGINETYPE,CREATOR,UPDATOR,PARAMS,CONTENT ,VENDOR,CREATETIME,UPDATETIME,ENGINEID,PACKAGE,RID) VALUES (:name,:description,:enabled,:templateID,:engineType,:creator,:modifier,:params,:content,:vendor,:createTime,:updateTime,:engineID,:packageName,:rid)")\r
+ @SqlUpdate("INSERT INTO APLUS_RULE (NAME,CTRLLOOP,DESCRIPTION,ENABLE,TEMPLATEID,ENGINETYPE,CREATOR,UPDATOR,PARAMS,CONTENT ,VENDOR,CREATETIME,UPDATETIME,ENGINEID,PACKAGE,RID) VALUES (:name,:closedControlLoopName,:description,:enabled,:templateID,:engineType,:creator,:modifier,:params,:content,:vendor,:createTime,:updateTime,:engineID,:packageName,:rid)")\r
protected abstract String addRule(@BindBean CorrelationRule correlationRule);\r
\r
- @SqlUpdate("UPDATE APLUS_RULE SET DESCRIPTION=:description,ENABLE=:enabled,CONTENT=:content,UPDATOR=:modifier,UPDATETIME=:updateTime, PACKAGE=:packageName WHERE RID=:rid")\r
+ @SqlUpdate("UPDATE APLUS_RULE SET CTRLLOOP=:closedControlLoopName,DESCRIPTION=:description,ENABLE=:enabled,CONTENT=:content,UPDATOR=:modifier,UPDATETIME=:updateTime, PACKAGE=:packageName WHERE RID=:rid")\r
protected abstract int updateRuleByRid(@BindBean CorrelationRule correlationRule);\r
\r
@SqlUpdate("DELETE FROM APLUS_RULE WHERE RID=:rid")\r
correlationRule.setContent(resultSet.getString("content"));\r
correlationRule.setVendor(resultSet.getString("vendor"));\r
correlationRule.setPackageName(resultSet.getString("package"));\r
+ correlationRule.setClosedControlLoopName(resultSet.getString("ctrlloop"));\r
return correlationRule;\r
}\r
\r
if (ruleTemp != null) {\r
throw new CorrelationException("A rule with the same name already exists.");\r
}\r
- String packageName = deployRule2Engine(correlationRule, ruleCreateRequest.getLoopControlName());\r
+ String packageName = deployRule2Engine(correlationRule);\r
correlationRule.setPackageName(packageName);\r
CorrelationRule result = null;\r
try {\r
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
correlationRule.setCreator(userName);\r
correlationRule.setModifier(userName);\r
correlationRule.setEnabled(ruleCreateRequest.getEnabled());\r
+ correlationRule.setClosedControlLoopName(ruleCreateRequest.getLoopControlName());\r
return correlationRule;\r
}\r
\r
correlationRule.setUpdateTime(new Date());\r
correlationRule.setModifier(modifier);\r
correlationRule.setName(ruleName);\r
+ correlationRule.setClosedControlLoopName(ruleUpdateRequest.getLoopControlName());\r
return correlationRule;\r
}\r
\r
return "";\r
}\r
\r
- private String deployRule2Engine(CorrelationRule correlationRule, String loopControlName)\r
- throws CorrelationException {\r
- if (engineWarpper.checkRuleFromEngine(correlationRules2CheckRule(correlationRule)) && (\r
- correlationRule.getEnabled() == RuleMgtConstant.STATUS_RULE_OPEN)) {\r
- return engineWarpper.deployEngine(correlationRules2DeployRule(correlationRule, loopControlName));\r
- }\r
- return "";\r
- }\r
-\r
public RuleQueryListResponse getCorrelationRuleByCondition(\r
RuleQueryCondition ruleQueryCondition) throws CorrelationException {\r
List<CorrelationRule> correlationRule = correlationRuleQueryDao\r
CorrelationDeployRule4Engine correlationDeployRule4Engine = new CorrelationDeployRule4Engine();\r
correlationDeployRule4Engine.setContent(correlationRule.getContent());\r
correlationDeployRule4Engine.setEngineId(correlationRule.getEngineID());\r
- return correlationDeployRule4Engine;\r
- }\r
-\r
- private CorrelationDeployRule4Engine correlationRules2DeployRule(\r
- CorrelationRule correlationRule, String loopControlName) {\r
- CorrelationDeployRule4Engine correlationDeployRule4Engine = new CorrelationDeployRule4Engine();\r
- correlationDeployRule4Engine.setContent(correlationRule.getContent());\r
- correlationDeployRule4Engine.setEngineId(correlationRule.getEngineID());\r
- correlationDeployRule4Engine.setLoopControlName(loopControlName);\r
+ correlationDeployRule4Engine.setLoopControlName(correlationRule.getClosedControlLoopName());\r
return correlationDeployRule4Engine;\r
}\r
\r
expect(resultSet.getString("content")).andReturn("");\r
expect(resultSet.getString("vendor")).andReturn("");\r
expect(resultSet.getString("package")).andReturn("");\r
+ expect(resultSet.getString("ctrlloop")).andReturn("");\r
PowerMock.replay(resultSet);\r
mapper.map(0, resultSet, null);\r
PowerMock.verify(resultSet);\r
oldCorrelationRule.setContent("content");\r
oldCorrelationRule.setPackageName("testName");\r
oldCorrelationRule.setEnabled(1);\r
- RuleUpdateRequest ruleUpdateRequest = createRuleUpdateRequest("rule_1", "des2", "contetnt2", 1);\r
+ oldCorrelationRule.setClosedControlLoopName("cl-name");\r
+ RuleUpdateRequest ruleUpdateRequest = createRuleUpdateRequest("rule_1", "cl-name", "des2", "contetnt2", 1);\r
\r
EasyMock.expect(correlationRuleDaoMock.queryRuleByRid("rule_1")).andReturn(oldCorrelationRule);\r
EasyMock.expect(engineWrapperMock.deleteRuleFromEngine("testName")).andReturn(true);\r
oldCorrelationRule.setContent("content");\r
oldCorrelationRule.setPackageName("testName");\r
oldCorrelationRule.setEnabled(1);\r
- RuleUpdateRequest ruleUpdateRequest = createRuleUpdateRequest("rule_1", "des1", "content", 1);\r
+ oldCorrelationRule.setClosedControlLoopName("cl-name");\r
+ RuleUpdateRequest ruleUpdateRequest = createRuleUpdateRequest("rule_1", "cl-name", "des1", "content", 1);\r
\r
EasyMock.expect(correlationRuleDaoMock.queryRuleByRid("rule_1")).andReturn(oldCorrelationRule);\r
\r
return rcr;\r
}\r
\r
- private RuleUpdateRequest createRuleUpdateRequest(String ruleId, String description, String content, int enabled) {\r
+ private RuleUpdateRequest createRuleUpdateRequest(String ruleId, String clName, String description,\r
+ String content, int enabled) {\r
RuleUpdateRequest ruleUpdateRequest = new RuleUpdateRequest();\r
ruleUpdateRequest.setRuleId(ruleId);\r
ruleUpdateRequest.setDescription(description);\r
ruleUpdateRequest.setContent(content);\r
ruleUpdateRequest.setEnabled(enabled);\r
+ ruleUpdateRequest.setLoopControlName(clName);\r
return ruleUpdateRequest;\r
}\r
\r