X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=rulemgt%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fholmes%2Frulemgt%2Fdcae%2FDcaeConfigurationPolling.java;h=6c0d732b2b4d2a852da3c0bc20435a6ff08d83be;hb=a9e01a4e720ff10684a9c46e9e8ab85848d3b3a7;hp=d1b2aba90a6042112c9bc0413135f2c9250b6c43;hpb=37b3bb9b015069ba5e9ad1845de30467decb61d4;p=holmes%2Frule-management.git diff --git a/rulemgt/src/main/java/org/onap/holmes/rulemgt/dcae/DcaeConfigurationPolling.java b/rulemgt/src/main/java/org/onap/holmes/rulemgt/dcae/DcaeConfigurationPolling.java index d1b2aba..6c0d732 100644 --- a/rulemgt/src/main/java/org/onap/holmes/rulemgt/dcae/DcaeConfigurationPolling.java +++ b/rulemgt/src/main/java/org/onap/holmes/rulemgt/dcae/DcaeConfigurationPolling.java @@ -1,11 +1,11 @@ /** * 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 @@ -21,14 +21,19 @@ import com.google.gson.JsonDeserializer; import com.google.gson.JsonElement; import com.google.gson.JsonParseException; import com.google.gson.reflect.TypeToken; + import java.io.IOException; import java.io.UnsupportedEncodingException; import java.lang.reflect.Type; import java.util.HashMap; import java.util.List; import javax.ws.rs.core.MediaType; + import lombok.extern.slf4j.Slf4j; import org.apache.http.HttpResponse; +import org.apache.http.client.methods.HttpDelete; +import org.apache.http.client.methods.HttpGet; +import org.apache.http.client.methods.HttpPut; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.onap.holmes.common.dcae.DcaeConfigurationQuery; @@ -65,8 +70,8 @@ public class DcaeConfigurationPolling implements Runnable { try { dcaeConfigurations = DcaeConfigurationQuery.getDcaeConfigurations(hostname); String md5 = Md5Util.md5(dcaeConfigurations); - if (prevResult && prevConfigMd5.equals(md5)){ - log.info("Operation aborted due to identical Configurations."); + if (prevResult && prevConfigMd5.equals(md5)) { + log.info("Operation aborted due to identical configurations."); return; } prevConfigMd5 = md5; @@ -101,15 +106,17 @@ public class DcaeConfigurationPolling implements Runnable { } public RuleQueryListResponse getAllCorrelationRules() throws CorrelationException, IOException { - HashMap headers = new HashMap<>(); + HashMap headers = new HashMap<>(); headers.put("Content-Type", MediaType.APPLICATION_JSON); CloseableHttpClient httpClient = null; + HttpGet httpGet = new HttpGet(url); try { httpClient = HttpsUtils.getHttpClient(HttpsUtils.DEFUALT_TIMEOUT); - HttpResponse httpResponse = HttpsUtils.get(url, headers, httpClient); + HttpResponse httpResponse = HttpsUtils.get(httpGet, headers, httpClient); String response = HttpsUtils.extractResponseEntity(httpResponse); - return JSON.parseObject(response,RuleQueryListResponse.class); + return JSON.parseObject(response, RuleQueryListResponse.class); } finally { + httpGet.releaseConnection(); closeHttpClient(httpClient); } } @@ -129,15 +136,17 @@ public class DcaeConfigurationPolling implements Runnable { headers.put("Accept", MediaType.APPLICATION_JSON); HttpResponse httpResponse; CloseableHttpClient httpClient = null; + HttpPut httpPut = new HttpPut(url); try { httpClient = HttpsUtils.getHttpClient(HttpsUtils.DEFUALT_TIMEOUT); httpResponse = HttpsUtils - .put(url, headers, new HashMap<>(), new StringEntity(content), httpClient); + .put(httpPut, headers, new HashMap<>(), new StringEntity(content), httpClient); } catch (UnsupportedEncodingException e) { throw new CorrelationException("Failed to create https entity.", e); } catch (Exception e) { throw new CorrelationException(e.getMessage()); } finally { + httpPut.releaseConnection(); closeHttpClient(httpClient); } if (httpResponse != null) { @@ -150,18 +159,20 @@ public class DcaeConfigurationPolling implements Runnable { return suc; } - private void deleteAllCorrelationRules(List ruleResult4APIs){ - ruleResult4APIs.forEach(correlationRule ->{ + private void deleteAllCorrelationRules(List ruleResult4APIs) { + ruleResult4APIs.forEach(correlationRule -> { HashMap headers = new HashMap<>(); headers.put("Content-Type", MediaType.APPLICATION_JSON); CloseableHttpClient httpClient = null; + HttpDelete httpDelete = new HttpDelete(url + "/" + correlationRule.getRuleId()); try { httpClient = HttpsUtils.getHttpClient(HttpsUtils.DEFUALT_TIMEOUT); - HttpsUtils.delete(url + "/" + correlationRule.getRuleId(), headers, httpClient); + HttpsUtils.delete(httpDelete, headers, httpClient); } catch (Exception e) { log.warn("Failed to delete rule, the rule id is : " + correlationRule.getRuleId() + " exception messge is : " + e.getMessage(), e); } finally { + httpDelete.releaseConnection(); closeHttpClient(httpClient); } });