diff options
author | tang peng <tang.peng5@zte.com.cn> | 2019-04-01 10:22:24 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@onap.org> | 2019-04-01 10:22:24 +0000 |
commit | bc1bf79f7d237400e4eef4ef8ba090396d7f9f1b (patch) | |
tree | 909f79c6290e52438bd8d5b12b94413b2226c48f /engine-d/src/main/java/org/onap/holmes/engine/manager/DroolsEngine.java | |
parent | 8f01dce3fd4a36dc437fa57c08db21768066609e (diff) | |
parent | ac5bbbdafffd25bcabca883d8e2542e25fee57a5 (diff) |
Merge "Remove Alarm Info from DB when alarms are cleared"
Diffstat (limited to 'engine-d/src/main/java/org/onap/holmes/engine/manager/DroolsEngine.java')
-rw-r--r-- | engine-d/src/main/java/org/onap/holmes/engine/manager/DroolsEngine.java | 38 |
1 files changed, 15 insertions, 23 deletions
diff --git a/engine-d/src/main/java/org/onap/holmes/engine/manager/DroolsEngine.java b/engine-d/src/main/java/org/onap/holmes/engine/manager/DroolsEngine.java index b474e69..c397b28 100644 --- a/engine-d/src/main/java/org/onap/holmes/engine/manager/DroolsEngine.java +++ b/engine-d/src/main/java/org/onap/holmes/engine/manager/DroolsEngine.java @@ -15,17 +15,10 @@ */ package org.onap.holmes.engine.manager; -import java.util.*; -import java.util.concurrent.ConcurrentHashMap; -import java.util.stream.Collectors; -import javax.annotation.PostConstruct; -import javax.inject.Inject; - import lombok.extern.slf4j.Slf4j; import org.drools.compiler.kie.builder.impl.InternalKieModule; import org.drools.core.util.StringUtils; import org.jvnet.hk2.annotations.Service; - import org.kie.api.KieServices; import org.kie.api.builder.*; import org.kie.api.builder.Message.Level; @@ -33,20 +26,26 @@ import org.kie.api.io.Resource; import org.kie.api.runtime.KieContainer; import org.kie.api.runtime.KieSession; import org.kie.api.runtime.rule.FactHandle; - import org.onap.holmes.common.api.entity.AlarmInfo; - +import org.onap.holmes.common.api.entity.CorrelationRule; import org.onap.holmes.common.api.stat.VesAlarm; import org.onap.holmes.common.dmaap.DmaapService; import org.onap.holmes.common.exception.AlarmInfoException; +import org.onap.holmes.common.exception.CorrelationException; import org.onap.holmes.common.utils.DbDaoUtil; +import org.onap.holmes.common.utils.ExceptionUtil; import org.onap.holmes.engine.db.AlarmInfoDao; import org.onap.holmes.engine.request.DeployRuleRequest; -import org.onap.holmes.common.api.entity.CorrelationRule; -import org.onap.holmes.common.exception.CorrelationException; -import org.onap.holmes.common.utils.ExceptionUtil; import org.onap.holmes.engine.wrapper.RuleMgtWrapper; +import javax.annotation.PostConstruct; +import javax.inject.Inject; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.stream.Collectors; + @Slf4j @Service public class DroolsEngine { @@ -99,8 +98,8 @@ public class DroolsEngine { } catch (Exception e) { log.error("Failed to initialize the engine service module.", e); } - if(null!=km) { - container = ks.newKieContainer(km.getReleaseId()); + if (null != km) { + container = ks.newKieContainer(km.getReleaseId()); } session = container.newKieSession(); deployed.clear(); @@ -123,7 +122,6 @@ public class DroolsEngine { } public void syncAlarms() throws AlarmInfoException { - alarmInfoDao.queryAllAlarm().forEach(alarmInfo -> alarmInfoDao.deleteClearedAlarm(alarmInfo)); alarmInfoDao.queryAllAlarm().forEach(alarmInfo -> putRaisedIntoStream(convertAlarmInfo2VesAlarm(alarmInfo))); } @@ -209,14 +207,10 @@ public class DroolsEngine { alarm.setRootFlag(((VesAlarm) obj).getRootFlag()); } this.session.delete(factHandle); - - if (alarm.getAlarmIsCleared() == 1) { - alarmInfoDao.deleteClearedAlarm(convertVesAlarm2AlarmInfo(alarm)); - } - } else { - this.session.insert(alarm); } + this.session.insert(alarm); + this.session.fireAllRules(); } @@ -227,8 +221,6 @@ public class DroolsEngine { .collect(Collectors.toList()); } - - private VesAlarm convertAlarmInfo2VesAlarm(AlarmInfo alarmInfo) { VesAlarm vesAlarm = new VesAlarm(); vesAlarm.setEventId(alarmInfo.getEventId()); |