summaryrefslogtreecommitdiffstats
path: root/rulemgt/src/main/java/org/openo/holmes/rulemgt/bolt/enginebolt/EngineWrapper.java
diff options
context:
space:
mode:
Diffstat (limited to 'rulemgt/src/main/java/org/openo/holmes/rulemgt/bolt/enginebolt/EngineWrapper.java')
-rw-r--r--rulemgt/src/main/java/org/openo/holmes/rulemgt/bolt/enginebolt/EngineWrapper.java52
1 files changed, 49 insertions, 3 deletions
diff --git a/rulemgt/src/main/java/org/openo/holmes/rulemgt/bolt/enginebolt/EngineWrapper.java b/rulemgt/src/main/java/org/openo/holmes/rulemgt/bolt/enginebolt/EngineWrapper.java
index 329b9c9..b69e66b 100644
--- a/rulemgt/src/main/java/org/openo/holmes/rulemgt/bolt/enginebolt/EngineWrapper.java
+++ b/rulemgt/src/main/java/org/openo/holmes/rulemgt/bolt/enginebolt/EngineWrapper.java
@@ -15,27 +15,73 @@
*/
package org.openo.holmes.rulemgt.bolt.enginebolt;
+import javax.inject.Inject;
import lombok.extern.slf4j.Slf4j;
+import net.sf.json.JSONObject;
+import org.apache.http.HttpResponse;
import org.jvnet.hk2.annotations.Service;
import org.openo.holmes.common.exception.CorrelationException;
+import org.openo.holmes.common.utils.I18nProxy;
import org.openo.holmes.rulemgt.bean.request.CorrelationCheckRule4Engine;
import org.openo.holmes.rulemgt.bean.request.CorrelationDeployRule4Engine;
+import org.openo.holmes.rulemgt.constant.RuleMgtConstant;
@Service
@Slf4j
public class EngineWrapper {
+ @Inject
+ private EngineService engineService;
public String deployEngine(CorrelationDeployRule4Engine correlationRule) throws CorrelationException {
- return "";
+ HttpResponse httpResponse;
+ try {
+ httpResponse = engineService.deploy(correlationRule);
+ } catch (Exception e) {
+ throw new CorrelationException(I18nProxy.RULE_MANAGEMENT_CALL_DEPLOY_RULE_REST_FAILED,e);
+ }
+ if (httpResponse.getStatusLine().getStatusCode() == RuleMgtConstant.RESPONSE_STATUS_OK) {
+ log.info("Call deploy rule rest interface in engine successfully.");
+ String content = engineService.getResponseContent(httpResponse);
+ try {
+ JSONObject json = JSONObject.fromObject(content);
+ return json.get(RuleMgtConstant.PACKAGE).toString();
+ } catch (Exception e) {
+ throw new CorrelationException(I18nProxy.RULE_MANAGEMENT_PARSE_DEPLOY_RESULT_ERROR,e);
+ }
+ } else {
+ throw new CorrelationException(I18nProxy.ENGINE_DEPLOY_RULE_FAILED);
+ }
}
public boolean deleteRuleFromEngine(String packageName) throws CorrelationException {
- return true;
+ HttpResponse httpResponse;
+ try {
+ httpResponse = engineService.delete(packageName);
+ } catch (Exception e) {
+ throw new CorrelationException(I18nProxy.RULE_MANAGEMENT_CALL_DELETE_RULE_REST_FAILED,e);
+ }
+ if (httpResponse.getStatusLine().getStatusCode() == RuleMgtConstant.RESPONSE_STATUS_OK) {
+ log.info("Call delete rule rest interface in engine successfully.");
+ return true;
+ } else {
+ throw new CorrelationException(I18nProxy.ENGINE_DELETE_RULE_FAILED);
+ }
}
public boolean checkRuleFromEngine(CorrelationCheckRule4Engine correlationCheckRule4Engine)
throws CorrelationException {
- return true;
+ HttpResponse httpResponse;
+ try {
+ httpResponse = engineService.check(correlationCheckRule4Engine);
+ } catch (Exception e) {
+ throw new CorrelationException(I18nProxy.RULE_MANAGEMENT__CALL_CHECK_RULE_REST_FAILED,e);
+ }
+ if (httpResponse.getStatusLine().getStatusCode() == RuleMgtConstant.RESPONSE_STATUS_OK) {
+ log.info("Call check rule rest interface in engine successfully.");
+ return true;
+ } else {
+ throw new CorrelationException(I18nProxy.RULE_MANAGEMENT_CHECK_NO_PASS);
+ }
}
}