diff options
author | Guangrong Fu <fu.guangrong@zte.com.cn> | 2017-08-07 12:36:54 +0800 |
---|---|---|
committer | Guangrong Fu <fu.guangrong@zte.com.cn> | 2017-08-07 12:42:24 +0800 |
commit | 7ab5d3b5150f3941f61f40bc27c94909bcbdfe7d (patch) | |
tree | 63a3f115c7023a07f7f092986f666704ba9a9b21 /engine-d/src/main/java/org/openo | |
parent | 4ced1931f4e031761d6d16484bb59a975dfcdc68 (diff) |
Change the groupid from openo to onap
Change the groupid and package paths to onap.
Change-Id: Ie2f9926d418fbb434509a0d740efa95148ab58de
Issue-ID: HOLMES-8
Signed-off-by: Guangrong Fu <fu.guangrong@zte.com.cn>
Diffstat (limited to 'engine-d/src/main/java/org/openo')
11 files changed, 0 insertions, 858 deletions
diff --git a/engine-d/src/main/java/org/openo/holmes/engine/EngineDActiveApp.java b/engine-d/src/main/java/org/openo/holmes/engine/EngineDActiveApp.java deleted file mode 100644 index 3169f1b..0000000 --- a/engine-d/src/main/java/org/openo/holmes/engine/EngineDActiveApp.java +++ /dev/null @@ -1,54 +0,0 @@ -/** - * Copyright 2017 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.holmes.engine; - -import io.dropwizard.setup.Environment; -import java.io.IOException; -import lombok.extern.slf4j.Slf4j; -import org.openo.dropwizard.ioc.bundle.IOCApplication; -import org.openo.holmes.common.api.entity.ServiceRegisterEntity; -import org.openo.holmes.common.config.MicroServiceConfig; -import org.openo.holmes.common.utils.MSBRegisterUtil; - -@Slf4j -public class EngineDActiveApp extends IOCApplication<EngineDAppConfig> { - - public static void main(String[] args) throws Exception { - new EngineDActiveApp().run(args); - } - - @Override - public void run(EngineDAppConfig configuration, Environment environment) throws Exception { - super.run(configuration, environment); - - try { - new MSBRegisterUtil().register(initServiceEntity()); - } catch (IOException e) { - log.warn("Micro service registry httpclient close failure", e); - } - } - - private ServiceRegisterEntity initServiceEntity() { - ServiceRegisterEntity serviceRegisterEntity = new ServiceRegisterEntity(); - serviceRegisterEntity.setServiceName("holmes-engine-mgmt"); - serviceRegisterEntity.setProtocol("REST"); - serviceRegisterEntity.setVersion("v1"); - serviceRegisterEntity.setUrl("/openoapi/holmes-engine-mgmt/v1"); - serviceRegisterEntity.setSingleNode(MicroServiceConfig.getServiceIp(), "9102", 0); - serviceRegisterEntity.setVisualRange("1|0"); - return serviceRegisterEntity; - } -} diff --git a/engine-d/src/main/java/org/openo/holmes/engine/EngineDAppConfig.java b/engine-d/src/main/java/org/openo/holmes/engine/EngineDAppConfig.java deleted file mode 100644 index 66944a1..0000000 --- a/engine-d/src/main/java/org/openo/holmes/engine/EngineDAppConfig.java +++ /dev/null @@ -1,69 +0,0 @@ -/** - * Copyright 2017 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.holmes.engine; - -import com.fasterxml.jackson.annotation.JsonProperty; -import io.dropwizard.Configuration; -import io.dropwizard.db.DataSourceFactory; -import javax.validation.Valid; -import javax.validation.constraints.NotNull; -import org.hibernate.validator.constraints.NotEmpty; -import org.jvnet.hk2.annotations.Service; -import org.openo.holmes.common.config.MQConfig; - -@Service -public class EngineDAppConfig extends Configuration { - - @NotEmpty - private String defaultName = "Correlation-Rule"; - - @NotEmpty - private String apidescription = "Holmes rule management rest API"; - - @JsonProperty - @NotNull - @Valid - private MQConfig mqConfig; - @Valid - @NotNull - private DataSourceFactory database = new DataSourceFactory(); - - public MQConfig getMqConfig() { - return mqConfig; - } - - public void setMqConfig(MQConfig mqConfig) { - this.mqConfig = mqConfig; - } - - @JsonProperty("database") - public DataSourceFactory getDataSourceFactory() { - return database; - } - - @JsonProperty("database") - public void setDataSourceFactory(DataSourceFactory dataSourceFactory) { - this.database = dataSourceFactory; - } - - public String getApidescription() { - return apidescription; - } - - public void setApidescription(String apidescription) { - this.apidescription = apidescription; - } -} diff --git a/engine-d/src/main/java/org/openo/holmes/engine/db/CorrelationRuleDao.java b/engine-d/src/main/java/org/openo/holmes/engine/db/CorrelationRuleDao.java deleted file mode 100644 index 4370054..0000000 --- a/engine-d/src/main/java/org/openo/holmes/engine/db/CorrelationRuleDao.java +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Copyright 2017 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.holmes.engine.db; - - -import java.util.List; -import org.openo.holmes.common.api.entity.CorrelationRule; -import org.openo.holmes.engine.db.mapper.CorrelationRuleMapper; -import org.skife.jdbi.v2.sqlobject.Bind; -import org.skife.jdbi.v2.sqlobject.SqlQuery; -import org.skife.jdbi.v2.sqlobject.customizers.RegisterMapper; - -@RegisterMapper(CorrelationRuleMapper.class) -public abstract class CorrelationRuleDao { - - - @SqlQuery("SELECT * FROM APLUS_RULE WHERE enable=:enable") - public abstract List<CorrelationRule> queryRuleByEnable(@Bind("enable") int enable); - - public List<CorrelationRule> queryRuleByRuleEnable(int enable) { - return queryRuleByEnable(enable); - } -} - diff --git a/engine-d/src/main/java/org/openo/holmes/engine/db/mapper/CorrelationRuleMapper.java b/engine-d/src/main/java/org/openo/holmes/engine/db/mapper/CorrelationRuleMapper.java deleted file mode 100644 index 9c46b58..0000000 --- a/engine-d/src/main/java/org/openo/holmes/engine/db/mapper/CorrelationRuleMapper.java +++ /dev/null @@ -1,48 +0,0 @@ -/** - * Copyright 2017 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.holmes.engine.db.mapper; - -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.Properties; -import org.openo.holmes.common.api.entity.CorrelationRule; -import org.skife.jdbi.v2.StatementContext; -import org.skife.jdbi.v2.tweak.ResultSetMapper; - -public class CorrelationRuleMapper implements ResultSetMapper<CorrelationRule> { - - public CorrelationRule map(int i, ResultSet resultSet, StatementContext statementContext) - throws SQLException { - CorrelationRule correlationRule = new CorrelationRule(); - correlationRule.setName(resultSet.getString("name")); - correlationRule.setRid(resultSet.getString("rid")); - correlationRule.setDescription(resultSet.getString("description")); - correlationRule.setEnabled(resultSet.getInt("enable")); - correlationRule.setTemplateID(resultSet.getInt("templateID")); - correlationRule.setEngineID(resultSet.getString("engineID")); - correlationRule.setEngineType(resultSet.getString("engineType")); - correlationRule.setCreator(resultSet.getString("creator")); - correlationRule.setCreateTime(resultSet.getDate("createTime")); - correlationRule.setModifier(resultSet.getString("updator")); - correlationRule.setUpdateTime(resultSet.getDate("updateTime")); - correlationRule.setParams((Properties) resultSet.getObject("params")); - correlationRule.setContent(resultSet.getString("content")); - correlationRule.setVendor(resultSet.getString("vendor")); - correlationRule.setPackageName(resultSet.getString("package")); - return correlationRule; - } - -} diff --git a/engine-d/src/main/java/org/openo/holmes/engine/manager/DroolsEngine.java b/engine-d/src/main/java/org/openo/holmes/engine/manager/DroolsEngine.java deleted file mode 100644 index f8d9626..0000000 --- a/engine-d/src/main/java/org/openo/holmes/engine/manager/DroolsEngine.java +++ /dev/null @@ -1,301 +0,0 @@ -/**
- * Copyright 2017 ZTE Corporation.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.openo.holmes.engine.manager;
-
-
-import java.io.Serializable;
-import java.io.StringReader;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Locale;
-import java.util.Set;
-import javax.annotation.PostConstruct;
-import javax.inject.Inject;
-import javax.jms.Connection;
-import javax.jms.ConnectionFactory;
-import javax.jms.Destination;
-import javax.jms.JMSException;
-import javax.jms.Message;
-import javax.jms.MessageConsumer;
-import javax.jms.MessageListener;
-import javax.jms.Session;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.activemq.ActiveMQConnectionFactory;
-import org.apache.activemq.command.ActiveMQObjectMessage;
-import org.drools.KnowledgeBase;
-import org.drools.KnowledgeBaseConfiguration;
-import org.drools.KnowledgeBaseFactory;
-import org.drools.builder.KnowledgeBuilder;
-import org.drools.builder.KnowledgeBuilderFactory;
-import org.drools.builder.ResourceType;
-import org.drools.conf.EventProcessingOption;
-import org.drools.definition.KnowledgePackage;
-import org.drools.io.Resource;
-import org.drools.io.ResourceFactory;
-import org.drools.runtime.StatefulKnowledgeSession;
-import org.drools.runtime.rule.FactHandle;
-import org.glassfish.hk2.api.IterableProvider;
-import org.jvnet.hk2.annotations.Service;
-import org.openo.holmes.common.api.entity.CorrelationRule;
-import org.openo.holmes.common.api.stat.Alarm;
-import org.openo.holmes.common.config.MQConfig;
-import org.openo.holmes.common.constant.AlarmConst;
-import org.openo.holmes.common.exception.CorrelationException;
-import org.openo.holmes.common.utils.ExceptionUtil;
-import org.openo.holmes.common.utils.I18nProxy;
-import org.openo.holmes.engine.request.DeployRuleRequest;
-import org.openo.holmes.engine.wrapper.RuleMgtWrapper;
-
-@Slf4j
-@Service
-public class DroolsEngine {
-
- private final static int ENABLE = 1;
- private final Set<String> packageNames = new HashSet<String>();
- @Inject
- private RuleMgtWrapper ruleMgtWrapper;
- private KnowledgeBase kbase;
- private KnowledgeBaseConfiguration kconf;
- private StatefulKnowledgeSession ksession;
- @Inject
- private IterableProvider<MQConfig> mqConfigProvider;
- private ConnectionFactory connectionFactory;
-
- @PostConstruct
- private void init() {
- try {
- // 1. start engine
- start();
- // 2. start mq listener
- registerAlarmTopicListener();
- } catch (Exception e) {
- log.error("Start service failed: " + e.getMessage(), e);
- throw ExceptionUtil.buildExceptionResponse("Start service failed!");
- }
- }
-
- private void registerAlarmTopicListener() {
- String brokerURL =
- "tcp://" + mqConfigProvider.get().brokerIp + ":" + mqConfigProvider.get().brokerPort;
- connectionFactory = new ActiveMQConnectionFactory(mqConfigProvider.get().brokerUsername,
- mqConfigProvider.get().brokerPassword, brokerURL);
-
- AlarmMqMessageListener listener = new AlarmMqMessageListener();
- listener.receive();
- }
-
-
- private void start() throws CorrelationException {
- log.info("Drools Engine Initialize Beginning...");
-
- initEngineParameter();
- initDeployRule();
-
- log.info("Business Rule Engine Initialize Successfully.");
- }
-
- public void stop() {
- this.ksession.dispose();
- }
-
- private void initEngineParameter() {
- this.kconf = KnowledgeBaseFactory.newKnowledgeBaseConfiguration();
-
- this.kconf.setOption(EventProcessingOption.STREAM);
-
- this.kconf.setProperty("drools.assertBehaviour", "equality");
-
- this.kbase = KnowledgeBaseFactory.newKnowledgeBase("D-ENGINE", this.kconf);
-
- this.ksession = kbase.newStatefulKnowledgeSession();
- }
-
- private void initDeployRule() throws CorrelationException {
- List<CorrelationRule> rules = ruleMgtWrapper.queryRuleByEnable(ENABLE);
-
- if (rules.isEmpty()) {
- return;
- }
- for (CorrelationRule rule : rules) {
- if (rule.getContent() != null) {
- deployRuleFromDB(rule.getContent());
- }
- }
- }
-
- private void deployRuleFromDB(String ruleContent) throws CorrelationException {
- StringReader reader = new StringReader(ruleContent);
- Resource res = ResourceFactory.newReaderResource(reader);
-
- KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
-
- kbuilder.add(res, ResourceType.DRL);
-
- try {
-
- kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
- } catch (Exception e) {
- throw new CorrelationException(e.getMessage(), e);
- }
- ksession.fireAllRules();
- }
-
- public synchronized String deployRule(DeployRuleRequest rule, Locale locale)
- throws CorrelationException {
- StringReader reader = new StringReader(rule.getContent());
- Resource res = ResourceFactory.newReaderResource(reader);
-
- KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
-
- kbuilder.add(res, ResourceType.DRL);
-
- judgeRuleContent(locale, kbuilder, true);
-
- String packageName = kbuilder.getKnowledgePackages().iterator().next().getName();
- try {
- packageNames.add(packageName);
- kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
- } catch (Exception e) {
-
- String errorMsg =
- I18nProxy.getInstance().getValue(locale, I18nProxy.ENGINE_DEPLOY_RULE_FAILED);
- throw new CorrelationException(errorMsg, e);
- }
-
- ksession.fireAllRules();
- return packageName;
- }
-
- public synchronized void undeployRule(String packageName, Locale locale)
- throws CorrelationException {
-
- KnowledgePackage pkg = kbase.getKnowledgePackage(packageName);
-
- if (null == pkg) {
- String errorMsg = I18nProxy.getInstance().getValueByArgs(locale,
- I18nProxy.ENGINE_DELETE_RULE_NULL,
- new String[]{packageName});
- throw new CorrelationException(errorMsg);
- }
-
- try {
-
- kbase.removeKnowledgePackage(pkg.getName());
- } catch (Exception e) {
- String errorMsg = I18nProxy.getInstance().getValueByArgs(locale,
- I18nProxy.ENGINE_DELETE_RULE_FAILED, new String[]{packageName});
- throw new CorrelationException(errorMsg, e);
- }
- }
-
- public void compileRule(String content, Locale locale)
- throws CorrelationException {
- StringReader reader = new StringReader(content);
- Resource res = ResourceFactory.newReaderResource(reader);
-
- KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
-
- kbuilder.add(res, ResourceType.DRL);
-
- judgeRuleContent(locale, kbuilder, false);
- }
-
- private void judgeRuleContent(Locale locale, KnowledgeBuilder kbuilder, boolean judgePackageName)
- throws CorrelationException {
- if (kbuilder.hasErrors()) {
- String errorMsg = I18nProxy.getInstance().getValueByArgs(locale,
- I18nProxy.ENGINE_CONTENT_ILLEGALITY,
- new String[]{kbuilder.getErrors().toString()});
- log.error(errorMsg);
- throw new CorrelationException(errorMsg);
- }
-
- String packageName = kbuilder.getKnowledgePackages().iterator().next().getName();
-
- if (packageNames.contains(packageName) && judgePackageName) {
- String errorMsg = I18nProxy.getInstance().getValueByArgs(locale,
- I18nProxy.ENGINE_CONTENT_ILLEGALITY, new String[]{
- I18nProxy.getInstance().getValue(locale, I18nProxy.ENGINE_CONTAINS_PACKAGE)});
-
- throw new CorrelationException(errorMsg);
- }
- }
-
- public void putRaisedIntoStream(Alarm raiseAlarm) {
- FactHandle factHandle = this.ksession.getFactHandle(raiseAlarm);
- if (factHandle != null) {
- this.ksession.retract(factHandle);
- }
- this.ksession.insert(raiseAlarm);
- this.ksession.fireAllRules();
- }
-
- class AlarmMqMessageListener implements MessageListener {
-
- private Connection connection = null;
- private Session session = null;
- private Destination destination = null;
- private MessageConsumer consumer = null;
-
- private void initialize() throws JMSException {
- connection = connectionFactory.createConnection();
- session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
- destination = session.createTopic(AlarmConst.MQ_TOPIC_NAME_ALARM);
- consumer = session.createConsumer(destination);
- connection.start();
- }
-
- public void receive() {
- try {
- initialize();
- consumer.setMessageListener(this);
- } catch (JMSException e) {
- log.error("Failed to connect to the MQ service : " + e.getMessage(), e);
- try {
- close();
- } catch (JMSException e1) {
- log.error("Failed close connection " + e1.getMessage(), e1);
- }
- }
- }
-
- public void onMessage(Message arg0) {
- ActiveMQObjectMessage objectMessage = (ActiveMQObjectMessage) arg0;
- try {
- Serializable object = objectMessage.getObject();
-
- if (object instanceof Alarm) {
- Alarm alarm = (Alarm) object;
- putRaisedIntoStream(alarm);
- }
- } catch (JMSException e) {
- log.error("Failed get object : " + e.getMessage(), e);
- }
- }
-
- private void close() throws JMSException {
- if (consumer != null) {
- consumer.close();
- }
- if (session != null) {
- session.close();
- }
- if (connection != null) {
- connection.close();
- }
- }
- }
-}
diff --git a/engine-d/src/main/java/org/openo/holmes/engine/request/CompileRuleRequest.java b/engine-d/src/main/java/org/openo/holmes/engine/request/CompileRuleRequest.java deleted file mode 100644 index 692deb5..0000000 --- a/engine-d/src/main/java/org/openo/holmes/engine/request/CompileRuleRequest.java +++ /dev/null @@ -1,30 +0,0 @@ -/** - * Copyright 2017 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.holmes.engine.request; - -import com.fasterxml.jackson.annotation.JsonProperty; -import javax.validation.constraints.NotNull; -import lombok.Getter; -import lombok.Setter; - -@Getter -@Setter -public class CompileRuleRequest { - - @JsonProperty(value = "content") - @NotNull - private String content; -}
\ No newline at end of file diff --git a/engine-d/src/main/java/org/openo/holmes/engine/request/DeployRuleRequest.java b/engine-d/src/main/java/org/openo/holmes/engine/request/DeployRuleRequest.java deleted file mode 100644 index 979c5bf..0000000 --- a/engine-d/src/main/java/org/openo/holmes/engine/request/DeployRuleRequest.java +++ /dev/null @@ -1,33 +0,0 @@ -/** - * Copyright 2017 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.holmes.engine.request; - -import com.fasterxml.jackson.annotation.JsonProperty; -import javax.validation.constraints.NotNull; -import lombok.Getter; -import lombok.Setter; - -@Getter -@Setter -public class DeployRuleRequest { - - @JsonProperty(value = "content") - @NotNull - private String content; - - @JsonProperty(value = "engineid") - private String engineId; -} diff --git a/engine-d/src/main/java/org/openo/holmes/engine/resources/EngineResources.java b/engine-d/src/main/java/org/openo/holmes/engine/resources/EngineResources.java deleted file mode 100644 index 5be8eb9..0000000 --- a/engine-d/src/main/java/org/openo/holmes/engine/resources/EngineResources.java +++ /dev/null @@ -1,115 +0,0 @@ -/** - * Copyright 2017 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.holmes.engine.resources; - - -import com.codahale.metrics.annotation.Timed; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import java.util.Locale; -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.openo.holmes.common.exception.CorrelationException; -import org.openo.holmes.common.utils.ExceptionUtil; -import org.openo.holmes.common.utils.LanguageUtil; -import org.openo.holmes.engine.manager.DroolsEngine; -import org.openo.holmes.engine.request.CompileRuleRequest; -import org.openo.holmes.engine.request.DeployRuleRequest; -import org.openo.holmes.engine.response.CorrelationRuleResponse; - -@Service -@Path("/rule") -@Api(tags = {"Engine Manager"}) -@Produces(MediaType.APPLICATION_JSON) -@Slf4j -public class EngineResources { - - @Inject - DroolsEngine droolsEngine; - - @PUT - @ApiOperation(value = "Add rule to Engine and Cache", response = CorrelationRuleResponse.class) - @Produces(MediaType.APPLICATION_JSON) - @Timed - public CorrelationRuleResponse deployRule(DeployRuleRequest deployRuleRequest, - @Context HttpServletRequest httpRequest) { - - CorrelationRuleResponse crResponse = new CorrelationRuleResponse(); - Locale locale = LanguageUtil.getLocale(httpRequest); - try { - - String packageName = droolsEngine.deployRule(deployRuleRequest, locale); - log.info("Rule deployed. Package name: " + packageName); - crResponse.setPackageName(packageName); - - } catch (CorrelationException correlationException) { - log.error(correlationException.getMessage(), correlationException); - throw ExceptionUtil.buildExceptionResponse(correlationException.getMessage()); - } - - return crResponse; - } - - @DELETE - @ApiOperation(value = "delete rule") - @Produces(MediaType.APPLICATION_JSON) - @Timed - @Path("/{packageName}") - public boolean undeployRule(@PathParam("packageName") String packageName, - @Context HttpServletRequest httpRequest) { - - Locale locale = LanguageUtil.getLocale(httpRequest); - - try { - - droolsEngine.undeployRule(packageName, locale); - - } catch (CorrelationException correlationException) { - log.error(correlationException.getMessage(), correlationException); - throw ExceptionUtil.buildExceptionResponse(correlationException.getMessage()); - } - return true; - } - - - @POST - @ApiOperation(value = "compile rule") - @Produces(MediaType.APPLICATION_JSON) - @Timed - public boolean compileRule(CompileRuleRequest compileRuleRequest, - @Context HttpServletRequest httpRequest) { - - Locale locale = LanguageUtil.getLocale(httpRequest); - - try { - droolsEngine.compileRule(compileRuleRequest.getContent(), locale); - } catch (CorrelationException correlationException) { - log.error(correlationException.getMessage(), correlationException); - throw ExceptionUtil.buildExceptionResponse(correlationException.getMessage()); - } - return true; - } -} diff --git a/engine-d/src/main/java/org/openo/holmes/engine/response/CorrelationRuleResponse.java b/engine-d/src/main/java/org/openo/holmes/engine/response/CorrelationRuleResponse.java deleted file mode 100644 index f033a1b..0000000 --- a/engine-d/src/main/java/org/openo/holmes/engine/response/CorrelationRuleResponse.java +++ /dev/null @@ -1,28 +0,0 @@ -/** - * Copyright 2017 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.holmes.engine.response; - -import com.fasterxml.jackson.annotation.JsonProperty; -import lombok.Getter; -import lombok.Setter; - -@Getter -@Setter -public class CorrelationRuleResponse { - - @JsonProperty(value = "package") - private String packageName; -} diff --git a/engine-d/src/main/java/org/openo/holmes/engine/utils/AlarmUtil.java b/engine-d/src/main/java/org/openo/holmes/engine/utils/AlarmUtil.java deleted file mode 100644 index 558d97b..0000000 --- a/engine-d/src/main/java/org/openo/holmes/engine/utils/AlarmUtil.java +++ /dev/null @@ -1,99 +0,0 @@ -/** - * Copyright 2017 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.holmes.engine.utils; - -import java.util.HashMap; -import java.util.Map; -import org.jvnet.hk2.annotations.Service; -import org.openo.holmes.common.api.stat.Alarm; -import org.openo.holmes.common.producer.MQProducer; - -@Service -public class AlarmUtil { - - private final static AlarmUtil alarmUtil = new AlarmUtil(); - /** - * Map<ruleId, <ProbableCause-EquipType, priority>> - */ - private final Map<String, Map<String, Integer>> rootPriorityMap = - new HashMap<String, Map<String, Integer>>(); - /** - * Map<rule, ProbableCause+EquipType+priority> - */ - private final Map<String, String> saveRuleMsg = new HashMap<String, String>(); - - private AlarmUtil() { - } - - public static AlarmUtil getInstance() { - return alarmUtil; - } - - public boolean equipTypeFilter(String probableCauseStr, String equipType, Alarm alarm) { - if ("null".equals(probableCauseStr)) { - return true; - } - String[] equipTypes = equipType.replace(" ", "").split(","); - String[] probableCauseStrs = probableCauseStr.replace(" ", "").split(","); - for (int i = 0; i < probableCauseStrs.length; i++) { - if (alarm.getProbableCause() == Long.parseLong(probableCauseStrs[i]) - && alarm.getEquipType().equals(equipTypes[i])) { - return true; - } - } - return false; - } - - public Integer getPriority(String ruleId, String probableCauseStr, String rootAlarmFeatureStr, - String equipTypeStr, Alarm alarm) { - if (rootPriorityMap.containsKey(ruleId)) { - if (!saveRuleMsg.get(ruleId) - .equals(probableCauseStr + equipTypeStr + rootAlarmFeatureStr)) { - setPriority(ruleId, probableCauseStr, rootAlarmFeatureStr, equipTypeStr); - } - } else { - setPriority(ruleId, probableCauseStr, rootAlarmFeatureStr, equipTypeStr); - } - - Integer priority = - rootPriorityMap.get(ruleId).get(alarm.getProbableCause() + "-" + alarm.getEquipType()); - if (priority == null) { - priority = 0; - } - return priority; - } - - private void setPriority(String ruleId, String probableCauseStr, String rootAlarmFeatureStr, - String equipTypeStr) { - saveRuleMsg.put(ruleId, probableCauseStr + equipTypeStr + rootAlarmFeatureStr); - - Map<String, Integer> map = new HashMap<String, Integer>(); - String[] probableCauseStrs = probableCauseStr.replace(" ", "").split(","); - String[] rootAlarmFeatureStrs = rootAlarmFeatureStr.replace(" ", "").split(","); - String[] equipTypes = equipTypeStr.replace(" ", "").split(","); - for (int i = 0; i < rootAlarmFeatureStrs.length; i++) { - map.put(probableCauseStrs[i] + "-" + equipTypes[i], - Integer.parseInt(rootAlarmFeatureStrs[i])); - } - - rootPriorityMap.put(ruleId, map); - } - - public MQProducer getMqProducer() { - MQProducer mqProducer = new MQProducer(); - return mqProducer; - } -} diff --git a/engine-d/src/main/java/org/openo/holmes/engine/wrapper/RuleMgtWrapper.java b/engine-d/src/main/java/org/openo/holmes/engine/wrapper/RuleMgtWrapper.java deleted file mode 100644 index 5a9ce8f..0000000 --- a/engine-d/src/main/java/org/openo/holmes/engine/wrapper/RuleMgtWrapper.java +++ /dev/null @@ -1,44 +0,0 @@ -/** - * Copyright 2017 ZTE Corporation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package org.openo.holmes.engine.wrapper; - -import java.util.List; -import javax.inject.Inject; -import javax.inject.Singleton; -import lombok.extern.slf4j.Slf4j; -import org.jvnet.hk2.annotations.Service; -import org.openo.holmes.common.api.entity.CorrelationRule; -import org.openo.holmes.common.exception.CorrelationException; -import org.openo.holmes.common.utils.DbDaoUtil; -import org.openo.holmes.common.utils.I18nProxy; -import org.openo.holmes.engine.db.CorrelationRuleDao; - - -@Service -@Singleton -@Slf4j -public class RuleMgtWrapper { - - @Inject - private DbDaoUtil daoUtil; - - public List<CorrelationRule> queryRuleByEnable(int enable) throws CorrelationException { - - List<CorrelationRule> ruleTemp = daoUtil.getJdbiDaoByOnDemand(CorrelationRuleDao.class) - .queryRuleByRuleEnable(enable); - return ruleTemp; - } -} |