Fix the sonar detected error
authoryoubowu <wu.youbo@zte.com.cn>
Mon, 27 Feb 2017 06:28:16 +0000 (14:28 +0800)
committer6092002067 <wu.youbo@zte.com.cn>
Mon, 27 Feb 2017 06:28:16 +0000 (14:28 +0800)
Issue-ID:HOLMES-50

Change-Id: I6b06d259ef1b251f45c533f553357f531f46aaec
Signed-off-by: youbowu <wu.youbo@zte.com.cn>
rulemgt/src/main/java/org/openo/holmes/rulemgt/bolt/enginebolt/EngineService.java

index 6267cff..da62a22 100644 (file)
@@ -17,18 +17,19 @@ package org.openo.holmes.rulemgt.bolt.enginebolt;
 \r
 import com.fasterxml.jackson.databind.ObjectMapper;\r
 import java.io.ByteArrayOutputStream;\r
+import java.io.IOException;\r
 import java.io.UnsupportedEncodingException;\r
 import javax.inject.Inject;\r
 import org.apache.commons.lang3.StringUtils;\r
 import org.apache.http.HttpEntity;\r
 import org.apache.http.HttpResponse;\r
-import org.apache.http.client.HttpClient;\r
 import org.apache.http.client.methods.HttpDelete;\r
 import org.apache.http.client.methods.HttpPost;\r
 import org.apache.http.client.methods.HttpPut;\r
 import org.apache.http.client.methods.HttpRequestBase;\r
 import org.apache.http.entity.BufferedHttpEntity;\r
 import org.apache.http.entity.ByteArrayEntity;\r
+import org.apache.http.impl.client.CloseableHttpClient;\r
 import org.apache.http.impl.client.HttpClients;\r
 import org.jvnet.hk2.annotations.Service;\r
 import org.openo.holmes.common.exception.CorrelationException;\r
@@ -44,48 +45,78 @@ public class EngineService {
     @Inject\r
     private RuleAppConfig ruleAppConfig;\r
 \r
-    protected HttpResponse delete(String packageName) throws Exception {\r
+    protected HttpResponse delete(String packageName) throws IOException {\r
         return deleteRequest(ruleAppConfig.getMsbServerAddr() + RuleMgtConstant.ENGINE_PATH + "/" + packageName);\r
     }\r
 \r
-    protected HttpResponse check(CorrelationCheckRule4Engine correlationCheckRule4Engine) throws Exception {\r
+    protected HttpResponse check(CorrelationCheckRule4Engine correlationCheckRule4Engine)\r
+            throws IOException {\r
         ObjectMapper mapper = new ObjectMapper();\r
         String content = mapper.writeValueAsString(correlationCheckRule4Engine);\r
         return postRequest(ruleAppConfig.getMsbServerAddr() + RuleMgtConstant.ENGINE_PATH, content);\r
     }\r
 \r
-    protected HttpResponse deploy(CorrelationDeployRule4Engine correlationDeployRule4Engine) throws Exception {\r
+    protected HttpResponse deploy(CorrelationDeployRule4Engine correlationDeployRule4Engine) throws IOException {\r
         ObjectMapper mapper = new ObjectMapper();\r
         String content = mapper.writeValueAsString(correlationDeployRule4Engine);\r
         return putRequest(ruleAppConfig.getMsbServerAddr() + RuleMgtConstant.ENGINE_PATH, content);\r
     }\r
 \r
-    private HttpResponse postRequest(String url, String content) throws Exception {\r
-        HttpClient httpClient = HttpClients.createDefault();\r
-        HttpPost httpPost = new HttpPost(url);\r
-        setHeader(httpPost);\r
-        if (StringUtils.isNotEmpty(content)) {\r
-            httpPost.setEntity(new ByteArrayEntity(content.getBytes()));\r
+    private HttpResponse postRequest(String url, String content) throws IOException {\r
+        CloseableHttpClient httpClient = HttpClients.createDefault();\r
+        try {\r
+            HttpPost httpPost = new HttpPost(url);\r
+            setHeader(httpPost);\r
+            if (StringUtils.isNotEmpty(content)) {\r
+                httpPost.setEntity(new ByteArrayEntity(content.getBytes()));\r
+            }\r
+            return httpClient.execute(httpPost);\r
+        } finally {\r
+            if (httpClient != null) {\r
+                try {\r
+                    httpClient.close();\r
+                } catch (IOException e) {\r
+                    e.printStackTrace();\r
+                }\r
+            }\r
         }\r
-        return httpClient.execute(httpPost);\r
     }\r
 \r
-    private HttpResponse putRequest(String url, String content)\r
-            throws Exception {\r
-        HttpClient httpClient = HttpClients.createDefault();\r
-        HttpPut httpPut = new HttpPut(url);\r
-        setHeader(httpPut);\r
-        if (StringUtils.isNotEmpty(content)) {\r
-            httpPut.setEntity(new ByteArrayEntity(content.getBytes()));\r
+    private HttpResponse putRequest(String url, String content) throws IOException {\r
+        CloseableHttpClient httpClient = HttpClients.createDefault();\r
+        try {\r
+            HttpPut httpPut = new HttpPut(url);\r
+            setHeader(httpPut);\r
+            if (StringUtils.isNotEmpty(content)) {\r
+                httpPut.setEntity(new ByteArrayEntity(content.getBytes()));\r
+            }\r
+            return httpClient.execute(httpPut);\r
+        } finally {\r
+            if (httpClient != null) {\r
+                try {\r
+                    httpClient.close();\r
+                } catch (IOException e) {\r
+                    e.printStackTrace();\r
+                }\r
+            }\r
         }\r
-        return httpClient.execute(httpPut);\r
     }\r
 \r
-    private HttpResponse deleteRequest(String url) throws Exception {\r
-        HttpClient httpClient = HttpClients.createDefault();\r
-        HttpDelete httpDelete = new HttpDelete(url);\r
-        setHeader(httpDelete);\r
-        return httpClient.execute(httpDelete);\r
+    private HttpResponse deleteRequest(String url) throws IOException {\r
+        CloseableHttpClient httpClient = HttpClients.createDefault();\r
+        try {\r
+            HttpDelete httpDelete = new HttpDelete(url);\r
+            setHeader(httpDelete);\r
+            return httpClient.execute(httpDelete);\r
+        } finally {\r
+            if (httpClient != null) {\r
+                try {\r
+                    httpClient.close();\r
+                } catch (IOException e) {\r
+                    e.printStackTrace();\r
+                }\r
+            }\r
+        }\r
     }\r
 \r
     private void setHeader(HttpRequestBase httpRequestBase) {\r
@@ -94,7 +125,7 @@ public class EngineService {
         httpRequestBase.setHeader("Content-Type", "application/json");\r
     }\r
 \r
-    public byte[] getData(HttpEntity httpEntity) throws Exception {\r
+    public byte[] getData(HttpEntity httpEntity) throws IOException {\r
         BufferedHttpEntity bufferedHttpEntity = new BufferedHttpEntity(httpEntity);\r
         ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();\r
         bufferedHttpEntity.writeTo(byteArrayOutputStream);\r