diff options
Diffstat (limited to 'engine-d/src/main/java/org/onap/holmes/engine')
4 files changed, 41 insertions, 38 deletions
diff --git a/engine-d/src/main/java/org/onap/holmes/engine/EngineDActiveApp.java b/engine-d/src/main/java/org/onap/holmes/engine/EngineDActiveApp.java index 9417242..49627fa 100644 --- a/engine-d/src/main/java/org/onap/holmes/engine/EngineDActiveApp.java +++ b/engine-d/src/main/java/org/onap/holmes/engine/EngineDActiveApp.java @@ -24,7 +24,6 @@ import org.onap.holmes.common.utils.HttpsUtils; import org.onap.holmes.common.utils.MSBRegisterUtil; import org.onap.holmes.common.utils.transactionid.TransactionIdFilter; import org.onap.holmes.engine.dcae.DcaeConfigurationPolling; -import org.onap.holmes.engine.resources.EngineResources; import org.onap.msb.sdk.discovery.entity.MicroServiceInfo; import org.onap.msb.sdk.discovery.entity.Node; @@ -47,7 +46,6 @@ public class EngineDActiveApp extends IOCApplication<EngineDAppConfig> { public void run(EngineDAppConfig configuration, Environment environment) throws Exception { super.run(configuration, environment); - environment.jersey().register(new EngineResources()); try { new MSBRegisterUtil().register2Msb(createMicroServiceInfo()); } catch (CorrelationException e) { 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 f26a03d..6808e98 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 @@ -26,16 +26,14 @@ import org.kie.api.builder.model.KieBaseModel; import org.kie.api.builder.model.KieModuleModel; import org.kie.api.builder.model.KieSessionModel; import org.kie.api.conf.EqualityBehaviorOption; -import org.kie.api.conf.EventProcessingOption; import org.kie.api.io.Resource; import org.kie.api.runtime.KieContainer; import org.kie.api.runtime.KieSession; -import org.kie.api.runtime.conf.ClockTypeOption; 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.dmaap.store.ClosedLoopControlNameCache; import org.onap.holmes.common.exception.AlarmInfoException; import org.onap.holmes.common.exception.CorrelationException; import org.onap.holmes.common.utils.DbDaoUtil; @@ -56,20 +54,33 @@ import java.util.stream.Collectors; @Service public class DroolsEngine { - @Inject + private final static int ENABLE = 1; + private final Map<String, String> deployed = new ConcurrentHashMap<>(); private RuleMgtWrapper ruleMgtWrapper; - @Inject private DbDaoUtil daoUtil; - - private final static int ENABLE = 1; + private ClosedLoopControlNameCache closedLoopControlNameCache; private AlarmInfoDao alarmInfoDao; - private final Map<String, String> deployed = new ConcurrentHashMap<>(); private KieServices ks = KieServices.Factory.get(); private ReleaseId releaseId = ks.newReleaseId("org.onap.holmes", "rules", "1.0.0-SNAPSHOT"); private ReleaseId compilationRelease = ks.newReleaseId("org.onap.holmes", "compilation", "1.0.0-SNAPSHOT"); private KieContainer container; private KieSession session; + @Inject + public void setRuleMgtWrapper(RuleMgtWrapper ruleMgtWrapper) { + this.ruleMgtWrapper = ruleMgtWrapper; + } + + @Inject + public void setDaoUtil(DbDaoUtil daoUtil) { + this.daoUtil = daoUtil; + } + + @Inject + public void setClosedLoopControlNameCache(ClosedLoopControlNameCache closedLoopControlNameCache) { + this.closedLoopControlNameCache = closedLoopControlNameCache; + } + @PostConstruct private void init() { alarmInfoDao = daoUtil.getJdbiDaoByOnDemand(AlarmInfoDao.class); @@ -120,7 +131,7 @@ public class DroolsEngine { for (CorrelationRule rule : rules) { if (!StringUtils.isEmpty(rule.getContent())) { deployRule(rule.getContent()); - DmaapService.loopControlNames.put(rule.getPackageName(), rule.getClosedControlLoopName()); + closedLoopControlNameCache.put(rule.getPackageName(), rule.getClosedControlLoopName()); } } diff --git a/engine-d/src/main/java/org/onap/holmes/engine/resources/EngineResources.java b/engine-d/src/main/java/org/onap/holmes/engine/resources/EngineResources.java index 3bfb2e8..0aa3a59 100644 --- a/engine-d/src/main/java/org/onap/holmes/engine/resources/EngineResources.java +++ b/engine-d/src/main/java/org/onap/holmes/engine/resources/EngineResources.java @@ -20,23 +20,9 @@ import com.codahale.metrics.annotation.Timed; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; -import java.util.Locale; -import java.util.regex.Matcher; -import java.util.regex.Pattern; - -import javax.inject.Inject; -import javax.servlet.http.HttpServletRequest; -import javax.ws.rs.DELETE; -import javax.ws.rs.POST; -import javax.ws.rs.PUT; -import javax.ws.rs.Path; -import javax.ws.rs.PathParam; -import javax.ws.rs.Produces; -import javax.ws.rs.core.Context; -import javax.ws.rs.core.MediaType; import lombok.extern.slf4j.Slf4j; import org.jvnet.hk2.annotations.Service; -import org.onap.holmes.common.dmaap.DmaapService; +import org.onap.holmes.common.dmaap.store.ClosedLoopControlNameCache; import org.onap.holmes.common.exception.CorrelationException; import org.onap.holmes.common.utils.ExceptionUtil; import org.onap.holmes.common.utils.LanguageUtil; @@ -45,16 +31,30 @@ import org.onap.holmes.engine.request.CompileRuleRequest; import org.onap.holmes.engine.request.DeployRuleRequest; import org.onap.holmes.engine.response.CorrelationRuleResponse; +import javax.inject.Inject; +import javax.servlet.http.HttpServletRequest; +import javax.ws.rs.*; +import javax.ws.rs.core.Context; +import javax.ws.rs.core.MediaType; +import java.util.Locale; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + @Service @Path("/rule") @Api(tags = {"Holmes Engine Management"}) @Produces(MediaType.APPLICATION_JSON) @Slf4j public class EngineResources { - private Pattern packagePattern = Pattern.compile("package[\\s]+([^;]+)[;\\s]*"); - @Inject DroolsEngine droolsEngine; + private Pattern packagePattern = Pattern.compile("package[\\s]+([^;]+)[;\\s]*"); + private ClosedLoopControlNameCache closedLoopControlNameCache; + + @Inject + public void setClosedLoopControlNameCache(ClosedLoopControlNameCache closedLoopControlNameCache) { + this.closedLoopControlNameCache = closedLoopControlNameCache; + } @PUT @Produces(MediaType.APPLICATION_JSON) @@ -74,13 +74,13 @@ public class EngineResources { throw new CorrelationException("Could not find package name in rule: "+deployRuleRequest.getContent()); } - DmaapService.loopControlNames + closedLoopControlNameCache .put(packageName, deployRuleRequest.getLoopControlName()); String packageNameRet = droolsEngine.deployRule(deployRuleRequest); if (!packageName.equals(packageNameRet)) { log.info("The parsed package name is different from that returned by the engine."); - DmaapService.loopControlNames.remove(packageName); - DmaapService.loopControlNames + closedLoopControlNameCache.remove(packageName); + closedLoopControlNameCache .put(packageNameRet, deployRuleRequest.getLoopControlName()); } log.info("Rule deployed. Package name: " + packageNameRet); @@ -108,7 +108,7 @@ public class EngineResources { try { droolsEngine.undeployRule(packageName); - DmaapService.loopControlNames.remove(packageName); + closedLoopControlNameCache.remove(packageName); } catch (CorrelationException correlationException) { log.error(correlationException.getMessage(), correlationException); throw ExceptionUtil.buildExceptionResponse(correlationException.getMessage()); diff --git a/engine-d/src/main/java/org/onap/holmes/engine/utils/AlarmUtil.java b/engine-d/src/main/java/org/onap/holmes/engine/utils/AlarmUtil.java index ca93066..c7eb02b 100644 --- a/engine-d/src/main/java/org/onap/holmes/engine/utils/AlarmUtil.java +++ b/engine-d/src/main/java/org/onap/holmes/engine/utils/AlarmUtil.java @@ -19,7 +19,6 @@ import java.util.HashMap; import java.util.Map; import org.jvnet.hk2.annotations.Service; import org.onap.holmes.common.api.stat.Alarm; -import org.onap.holmes.common.producer.MQProducer; @Service public class AlarmUtil { @@ -91,9 +90,4 @@ public class AlarmUtil { rootPriorityMap.put(ruleId, map); } - - public MQProducer getMqProducer() { - MQProducer mqProducer = new MQProducer(); - return mqProducer; - } } |