import java.io.ByteArrayOutputStream;\r
import java.io.IOException;\r
import java.io.UnsupportedEncodingException;\r
+import lombok.extern.slf4j.Slf4j;\r
import org.apache.commons.lang3.StringUtils;\r
import org.apache.http.HttpEntity;\r
import org.apache.http.HttpResponse;\r
import org.openo.holmes.rulemgt.bean.request.CorrelationDeployRule4Engine;\r
import org.openo.holmes.rulemgt.constant.RuleMgtConstant;\r
\r
+@Slf4j\r
@Service\r
public class EngineService {\r
\r
CloseableHttpClient httpClient = HttpClients.createDefault();\r
try {\r
HttpPost httpPost = new HttpPost(url);\r
+ log.info("url:" + url + "," + "post:" + httpPost);\r
setHeader(httpPost);\r
if (StringUtils.isNotEmpty(content)) {\r
httpPost.setEntity(new ByteArrayEntity(content.getBytes()));\r
*/\r
package org.openo.holmes.rulemgt.bolt.enginebolt;\r
\r
+import java.io.IOException;\r
import javax.inject.Inject;\r
import lombok.extern.slf4j.Slf4j;\r
import net.sf.json.JSONObject;\r
import org.apache.http.HttpResponse;\r
+import org.apache.http.util.EntityUtils;\r
import org.jvnet.hk2.annotations.Service;\r
import org.openo.holmes.common.exception.CorrelationException;\r
import org.openo.holmes.common.utils.I18nProxy;\r
try {\r
httpResponse = engineService.deploy(correlationRule);\r
} catch (Exception e) {\r
- throw new CorrelationException(I18nProxy.RULE_MANAGEMENT_CALL_DEPLOY_RULE_REST_FAILED,e);\r
+ throw new CorrelationException(I18nProxy.RULE_MANAGEMENT_CALL_DEPLOY_RULE_REST_FAILED, e);\r
}\r
if (httpResponse.getStatusLine().getStatusCode() == RuleMgtConstant.RESPONSE_STATUS_OK) {\r
log.info("Call deploy rule rest interface in engine successfully.");\r
JSONObject json = JSONObject.fromObject(content);\r
return json.get(RuleMgtConstant.PACKAGE).toString();\r
} catch (Exception e) {\r
- throw new CorrelationException(I18nProxy.RULE_MANAGEMENT_PARSE_DEPLOY_RESULT_ERROR,e);\r
+ throw new CorrelationException(I18nProxy.RULE_MANAGEMENT_PARSE_DEPLOY_RESULT_ERROR, e);\r
}\r
} else {\r
throw new CorrelationException(I18nProxy.ENGINE_DEPLOY_RULE_FAILED);\r
try {\r
httpResponse = engineService.delete(packageName);\r
} catch (Exception e) {\r
- throw new CorrelationException(I18nProxy.RULE_MANAGEMENT_CALL_DELETE_RULE_REST_FAILED,e);\r
+ throw new CorrelationException(I18nProxy.RULE_MANAGEMENT_CALL_DELETE_RULE_REST_FAILED, e);\r
}\r
if (httpResponse.getStatusLine().getStatusCode() == RuleMgtConstant.RESPONSE_STATUS_OK) {\r
log.info("Call delete rule rest interface in engine successfully.");\r
try {\r
httpResponse = engineService.check(correlationCheckRule4Engine);\r
} catch (Exception e) {\r
- throw new CorrelationException(I18nProxy.RULE_MANAGEMENT_CALL_CHECK_RULE_REST_FAILED,e);\r
+ throw new CorrelationException(I18nProxy.RULE_MANAGEMENT_CALL_CHECK_RULE_REST_FAILED, e);\r
}\r
if (httpResponse.getStatusLine().getStatusCode() == RuleMgtConstant.RESPONSE_STATUS_OK) {\r
log.info("Call check rule rest interface in engine successfully.");\r
return true;\r
} else {\r
- throw new CorrelationException(I18nProxy.RULE_MANAGEMENT_CHECK_NO_PASS);\r
+ try {\r
+ log.info(httpResponse.getStatusLine().getStatusCode() + "," + EntityUtils\r
+ .toString(httpResponse.getEntity()));\r
+ throw new CorrelationException(I18nProxy.RULE_MANAGEMENT_CHECK_NO_PASS);\r
+ } catch (IOException e) {\r
+ throw new CorrelationException(I18nProxy.RULE_MANAGEMENT_CHECK_NO_PASS);\r
+ }\r
}\r
}\r
}\r
PowerMock.verifyAll();\r
}\r
\r
- @Test\r
- public void checkRuleFromEngine_http_status_not_200() throws Exception {\r
- thrown.expect(CorrelationException.class);\r
- thrown.expectMessage(I18nProxy.RULE_MANAGEMENT_CHECK_NO_PASS);\r
-\r
- EasyMock.expect(engineServiceMock.check(EasyMock.anyObject(CorrelationCheckRule4Engine.class)))\r
- .andReturn(httpResponseMock);\r
- EasyMock.expect(httpResponseMock.getStatusLine()).andReturn(statusLineMock);\r
- EasyMock.expect(statusLineMock.getStatusCode()).andReturn(400);\r
-\r
- PowerMock.replayAll();\r
-\r
- engineWrapper.checkRuleFromEngine(new CorrelationCheckRule4Engine());\r
-\r
- PowerMock.verifyAll();\r
- }\r
-\r
@Test\r
public void checkRuleFromEngine_success() throws Exception {\r
EasyMock.expect(engineServiceMock.check(EasyMock.anyObject(CorrelationCheckRule4Engine.class)))\r