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=dcd530c7e86618cfff770d6b01788d60aa3d042e;hb=cc31e5503fbc9c17ada9e3b324457c3a2d67ec54;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..dcd530c 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 @@ -13,22 +13,19 @@ */ package org.onap.holmes.rulemgt.dcae; -import com.alibaba.fastjson.JSON; -import com.google.gson.Gson; -import com.google.gson.GsonBuilder; -import com.google.gson.JsonDeserializationContext; -import com.google.gson.JsonDeserializer; -import com.google.gson.JsonElement; -import com.google.gson.JsonParseException; -import com.google.gson.reflect.TypeToken; +import com.alibaba.fastjson.JSONObject; + 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 +62,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 +98,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); + httpClient = HttpsUtils.getConditionalHttpsClient(HttpsUtils.DEFUALT_TIMEOUT); + HttpResponse httpResponse = HttpsUtils.get(httpGet, headers, httpClient); String response = HttpsUtils.extractResponseEntity(httpResponse); - return JSON.parseObject(response,RuleQueryListResponse.class); + return JSONObject.parseObject(response, RuleQueryListResponse.class); } finally { + httpGet.releaseConnection(); closeHttpClient(httpClient); } } @@ -129,15 +128,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); + httpClient = HttpsUtils.getConditionalHttpsClient(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 +151,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); + httpClient = HttpsUtils.getConditionalHttpsClient(HttpsUtils.DEFUALT_TIMEOUT); + 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); } });