aboutsummaryrefslogtreecommitdiffstats
path: root/common-app-api/src/main
diff options
context:
space:
mode:
authorvasraz <vasyl.razinkov@est.tech>2023-05-05 11:57:56 +0100
committerVasyl Razinkov <vasyl.razinkov@est.tech>2023-05-08 13:11:02 +0000
commita2feaf9b65cbba66181fb560b5815a62427d65cc (patch)
treebe49cc57d447f7bb94e717e1ee970d4b095e1473 /common-app-api/src/main
parentaf3fdfce91aeea1804c76a8571c102b78dde3794 (diff)
Support SIP TLS
Signed-off-by: Vasyl Razinkov <vasyl.razinkov@est.tech> Change-Id: Icbadd04cfa87302491c59f2e4a39ef92aaafcaa3 Issue-ID: SDC-4483
Diffstat (limited to 'common-app-api/src/main')
-rw-r--r--common-app-api/src/main/java/org/openecomp/sdc/be/config/ConfigurationManager.java9
-rw-r--r--common-app-api/src/main/java/org/openecomp/sdc/common/http/client/api/HttpClientFactory.java34
-rw-r--r--common-app-api/src/main/java/org/openecomp/sdc/common/http/client/api/HttpResponse.java36
-rw-r--r--common-app-api/src/main/java/org/openecomp/sdc/common/listener/AppContextListener.java2
-rw-r--r--common-app-api/src/main/java/org/openecomp/sdc/common/log/interceptors/ApacheClientLogRequestInterceptor.java63
-rw-r--r--common-app-api/src/main/java/org/openecomp/sdc/common/log/interceptors/ApacheClientLogResponseInterceptor.java51
-rw-r--r--common-app-api/src/main/java/org/openecomp/sdc/common/util/StreamUtils.java132
-rw-r--r--common-app-api/src/main/java/org/openecomp/sdc/fe/config/ConfigurationManager.java5
8 files changed, 40 insertions, 292 deletions
diff --git a/common-app-api/src/main/java/org/openecomp/sdc/be/config/ConfigurationManager.java b/common-app-api/src/main/java/org/openecomp/sdc/be/config/ConfigurationManager.java
index 7241decd62..03cbc5952a 100644
--- a/common-app-api/src/main/java/org/openecomp/sdc/be/config/ConfigurationManager.java
+++ b/common-app-api/src/main/java/org/openecomp/sdc/be/config/ConfigurationManager.java
@@ -20,8 +20,6 @@
package org.openecomp.sdc.be.config;
import com.google.common.annotations.VisibleForTesting;
-import java.util.HashMap;
-import java.util.Map;
import org.openecomp.sdc.be.config.validation.ArtifactConfigValidator;
import org.openecomp.sdc.common.api.ArtifactTypeEnum;
import org.openecomp.sdc.common.api.BasicConfiguration;
@@ -31,11 +29,14 @@ import org.openecomp.sdc.common.api.FileChangeCallback;
import org.openecomp.sdc.common.config.EcompErrorConfiguration;
import org.openecomp.sdc.common.config.IEcompConfigurationManager;
+import java.util.HashMap;
+import java.util.Map;
+
public class ConfigurationManager implements FileChangeCallback, IEcompConfigurationManager {
private static ConfigurationManager instance;
final Map<String, Object> configurations = new HashMap<>();
- ConfigurationSource configurationSource = null;
+ private ConfigurationSource configurationSource;
@VisibleForTesting
public ConfigurationManager() {
@@ -67,7 +68,7 @@ public class ConfigurationManager implements FileChangeCallback, IEcompConfigura
final Object configurationObj = configurations.get(getKey(Configuration.class));
if (configurationObj instanceof Configuration) {
final ArtifactConfigValidator artifactConfigValidator = new ArtifactConfigValidator((Configuration) configurationObj,
- ArtifactTypeEnum.getBaseArtifacts());
+ ArtifactTypeEnum.getBaseArtifacts());
artifactConfigValidator.validate();
}
}
diff --git a/common-app-api/src/main/java/org/openecomp/sdc/common/http/client/api/HttpClientFactory.java b/common-app-api/src/main/java/org/openecomp/sdc/common/http/client/api/HttpClientFactory.java
index d45deb328b..599c43ac67 100644
--- a/common-app-api/src/main/java/org/openecomp/sdc/common/http/client/api/HttpClientFactory.java
+++ b/common-app-api/src/main/java/org/openecomp/sdc/common/http/client/api/HttpClientFactory.java
@@ -23,15 +23,17 @@ import org.apache.http.client.HttpRequestRetryHandler;
import org.apache.http.client.UserTokenHandler;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.conn.HttpClientConnectionManager;
-import org.apache.http.impl.client.CloseableHttpClient;
+import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.impl.client.HttpClients;
+import org.onap.config.api.JettySSLUtils;
import org.openecomp.sdc.common.api.Constants;
import org.openecomp.sdc.common.http.config.ClientCertificate;
-import org.openecomp.sdc.common.log.wrappers.Logger;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class HttpClientFactory {
- private static final Logger logger = Logger.getLogger(HttpClientFactory.class.getName());
+ private static final Logger LOGGER = LoggerFactory.getLogger(HttpClientFactory.class);
private static final UserTokenHandler userTokenHandler = context -> null;
private final HttpConnectionMngFactory connectionMngFactory;
@@ -40,13 +42,25 @@ public class HttpClientFactory {
}
HttpClient createClient(String protocol, HttpClientConfigImmutable config) {
- logger.debug("Create {} client based on {}", protocol, config);
- ClientCertificate clientCertificate = Constants.HTTPS.equals(protocol) ? config.getClientCertificate() : null;
- HttpClientConnectionManager connectionManager = connectionMngFactory.getOrCreate(clientCertificate);
- RequestConfig requestConfig = createClientTimeoutConfiguration(config);
- CloseableHttpClient client = HttpClients.custom().setDefaultRequestConfig(requestConfig).setConnectionManager(connectionManager)
- .setUserTokenHandler(userTokenHandler).setRetryHandler(resolveRetryHandler(config)).build();
- return new HttpClient(client, config);
+ LOGGER.debug("Create {} client based on {}", protocol, config);
+ final ClientCertificate clientCertificate = Constants.HTTPS.equals(protocol) ? config.getClientCertificate() : null;
+ final HttpClientConnectionManager connectionManager = connectionMngFactory.getOrCreate(clientCertificate);
+ final RequestConfig requestConfig = createClientTimeoutConfiguration(config);
+
+ try {
+ final HttpClientBuilder httpClientBuilder = HttpClients.custom()
+ .setDefaultRequestConfig(requestConfig)
+ .setConnectionManager(connectionManager)
+ .setUserTokenHandler(userTokenHandler)
+ .setRetryHandler(resolveRetryHandler(config));
+ if (clientCertificate != null) {
+ httpClientBuilder.setSSLContext(JettySSLUtils.getSslContext());
+ }
+ return new HttpClient(httpClientBuilder.build(), config);
+ } catch (Exception e) {
+ LOGGER.error("Failed to createClient", e);
+ throw new RuntimeException(e);
+ }
}
private HttpRequestRetryHandler resolveRetryHandler(HttpClientConfigImmutable config) {
diff --git a/common-app-api/src/main/java/org/openecomp/sdc/common/http/client/api/HttpResponse.java b/common-app-api/src/main/java/org/openecomp/sdc/common/http/client/api/HttpResponse.java
index 573c97f130..bd5990eed5 100644
--- a/common-app-api/src/main/java/org/openecomp/sdc/common/http/client/api/HttpResponse.java
+++ b/common-app-api/src/main/java/org/openecomp/sdc/common/http/client/api/HttpResponse.java
@@ -19,8 +19,12 @@
*/
package org.openecomp.sdc.common.http.client.api;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
import org.apache.commons.lang3.StringUtils;
+@Getter
+@AllArgsConstructor
public class HttpResponse<T> {
private final T response;
@@ -28,39 +32,11 @@ public class HttpResponse<T> {
private final String description;
public HttpResponse(T response, int statusCode) {
- this.response = response;
- this.statusCode = statusCode;
- this.description = StringUtils.EMPTY;
- }
-
- public HttpResponse(T response, int statusCode, String description) {
- this.response = response;
- this.statusCode = statusCode;
- this.description = description;
- }
-
- public T getResponse() {
- return response;
- }
-
- public int getStatusCode() {
- return statusCode;
- }
-
- public String getDescription() {
- return description;
+ this(response, statusCode, StringUtils.EMPTY);
}
@Override
public String toString() {
- StringBuilder builder = new StringBuilder();
- builder.append("HttpResponse [response=");
- builder.append(response);
- builder.append(", statusCode=");
- builder.append(statusCode);
- builder.append(", description=");
- builder.append(description);
- builder.append("]");
- return builder.toString();
+ return "HttpResponse [response=" + response + ", statusCode=" + statusCode + ", description=" + description + "]";
}
}
diff --git a/common-app-api/src/main/java/org/openecomp/sdc/common/listener/AppContextListener.java b/common-app-api/src/main/java/org/openecomp/sdc/common/listener/AppContextListener.java
index 70a94fd460..d85dab0db6 100644
--- a/common-app-api/src/main/java/org/openecomp/sdc/common/listener/AppContextListener.java
+++ b/common-app-api/src/main/java/org/openecomp/sdc/common/listener/AppContextListener.java
@@ -39,6 +39,7 @@ public class AppContextListener implements ServletContextListener {
private static Logger log = Logger.getLogger(AppContextListener.class.getName());
+ @Override
public void contextInitialized(ServletContextEvent context) {
log.debug("ServletContextListener initialized ");
log.debug("After read values from Manifest {}", getManifestInfo(context.getServletContext()));
@@ -57,6 +58,7 @@ public class AppContextListener implements ServletContextListener {
ExternalConfiguration.listenForChanges();
}
+ @Override
public void contextDestroyed(ServletContextEvent context) {
log.debug("ServletContextListener destroyed");
ExternalConfiguration.stopListenForFileChanges();
diff --git a/common-app-api/src/main/java/org/openecomp/sdc/common/log/interceptors/ApacheClientLogRequestInterceptor.java b/common-app-api/src/main/java/org/openecomp/sdc/common/log/interceptors/ApacheClientLogRequestInterceptor.java
deleted file mode 100644
index 82bf295762..0000000000
--- a/common-app-api/src/main/java/org/openecomp/sdc/common/log/interceptors/ApacheClientLogRequestInterceptor.java
+++ /dev/null
@@ -1,63 +0,0 @@
-package org.openecomp.sdc.common.log.interceptors;
-
-import java.io.IOException;
-import java.net.URI;
-import org.apache.http.HttpException;
-import org.apache.http.HttpMessage;
-import org.apache.http.HttpRequest;
-import org.apache.http.HttpRequestInterceptor;
-import org.apache.http.HttpResponse;
-import org.apache.http.protocol.HttpContext;
-import org.onap.logging.filter.base.AbstractMetricLogFilter;
-import org.onap.logging.ref.slf4j.ONAPLogConstants;
-import org.openecomp.sdc.common.log.elements.LogFieldsMdcHandler;
-
-public class ApacheClientLogRequestInterceptor extends AbstractMetricLogFilter<HttpRequest, HttpResponse, HttpMessage> implements
- HttpRequestInterceptor {
-
- private String previousInvocationId;
-
- @Override
- protected void addHeader(HttpMessage httpMessage, String s, String s1) {
- httpMessage.addHeader(s, s1);
- }
-
- @Override
- protected String getTargetServiceName(HttpRequest httpRequest) {
- return httpRequest.getRequestLine().getUri();
- }
-
- @Override
- protected String getServiceName(HttpRequest httpRequest) {
- return URI.create(httpRequest.getRequestLine().getUri()).getPath();
- }
-
- @Override
- protected int getHttpStatusCode(HttpResponse httpResponse) {
- return httpResponse.getStatusLine().getStatusCode();
- }
-
- @Override
- protected String getResponseCode(HttpResponse httpResponse) {
- return String.valueOf(httpResponse.getStatusLine().getStatusCode());
- }
-
- @Override
- protected String getTargetEntity(HttpRequest httpRequest) {
- //fallback to default value that provided by AbstractMetricLogFilter
- return null;
- }
-
- @Override
- protected void additionalPre(HttpRequest httpRequest, HttpMessage httpMessage) {
- String outgoingInvocationId = httpMessage.getFirstHeader(ONAPLogConstants.Headers.INVOCATION_ID).getValue();
- LogFieldsMdcHandler.getInstance().setOutgoingInvocationId(outgoingInvocationId);
- LogFieldsMdcHandler.getInstance().setKeyInvocationId(previousInvocationId);
- }
-
- @Override
- public void process(HttpRequest httpRequest, HttpContext httpContext) throws HttpException, IOException {
- previousInvocationId = LogFieldsMdcHandler.getInstance().getKeyInvocationId();
- super.pre(httpRequest, httpRequest);
- }
-}
diff --git a/common-app-api/src/main/java/org/openecomp/sdc/common/log/interceptors/ApacheClientLogResponseInterceptor.java b/common-app-api/src/main/java/org/openecomp/sdc/common/log/interceptors/ApacheClientLogResponseInterceptor.java
deleted file mode 100644
index 26c7c2540b..0000000000
--- a/common-app-api/src/main/java/org/openecomp/sdc/common/log/interceptors/ApacheClientLogResponseInterceptor.java
+++ /dev/null
@@ -1,51 +0,0 @@
-package org.openecomp.sdc.common.log.interceptors;
-
-import java.io.IOException;
-import java.net.URI;
-import org.apache.http.HttpException;
-import org.apache.http.HttpMessage;
-import org.apache.http.HttpRequest;
-import org.apache.http.HttpResponse;
-import org.apache.http.HttpResponseInterceptor;
-import org.apache.http.protocol.HttpContext;
-import org.onap.logging.filter.base.AbstractMetricLogFilter;
-
-public class ApacheClientLogResponseInterceptor extends AbstractMetricLogFilter<HttpRequest, HttpResponse, HttpMessage> implements
- HttpResponseInterceptor {
-
- @Override
- protected void addHeader(HttpMessage httpMessage, String s, String s1) {
- httpMessage.addHeader(s, s1);
- }
-
- @Override
- protected String getTargetServiceName(HttpRequest httpRequest) {
- return httpRequest.getRequestLine().getUri();
- }
-
- @Override
- protected String getServiceName(HttpRequest httpRequest) {
- return URI.create(httpRequest.getRequestLine().getUri()).getPath();
- }
-
- @Override
- protected int getHttpStatusCode(HttpResponse httpResponse) {
- return httpResponse.getStatusLine().getStatusCode();
- }
-
- @Override
- protected String getResponseCode(HttpResponse httpResponse) {
- return String.valueOf(httpResponse.getStatusLine().getStatusCode());
- }
-
- @Override
- protected String getTargetEntity(HttpRequest httpRequest) {
- //fallback to default value that provided by AbstractMetricLogFilter
- return null;
- }
-
- @Override
- public void process(HttpResponse httpResponse, HttpContext httpContext) throws HttpException, IOException {
- super.post(null, httpResponse);
- }
-}
diff --git a/common-app-api/src/main/java/org/openecomp/sdc/common/util/StreamUtils.java b/common-app-api/src/main/java/org/openecomp/sdc/common/util/StreamUtils.java
deleted file mode 100644
index 37769fbaef..0000000000
--- a/common-app-api/src/main/java/org/openecomp/sdc/common/util/StreamUtils.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * SDC
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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 the License.
- * ============LICENSE_END=========================================================
- */
-package org.openecomp.sdc.common.util;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Spliterator;
-import java.util.Spliterators.AbstractSpliterator;
-import java.util.function.Consumer;
-import java.util.function.Predicate;
-import java.util.stream.Stream;
-import java.util.stream.StreamSupport;
-
-/**
- * Utility Class For Actions On Streams
- *
- * @author mshitrit
- */
-public final class StreamUtils {
-
- private StreamUtils() {
- throw new UnsupportedOperationException();
- }
-
- /**
- * Breaks the stream when the predicate is not met.<br> Does not evaluate elements after the stream breaks.<br> This method evaluates the
- * stream.<br>
- *
- * @param stream
- * @param predicate
- * @return
- */
- public static <T> Stream<T> takeWhilePlusOneNoEval(Stream<T> stream, Predicate<T> predicate) {
- List<T> results = new ArrayList<>();
- Consumer<T> listAdder = results::add;
- stream.map(e -> {
- listAdder.accept(e);
- return e;
- }).filter(e -> !predicate.test(e)).findFirst();
- return results.stream();
- }
-
- public static <T> Stream<T> takeWhile(Stream<T> stream, Predicate<T> predicate) {
- return StreamSupport.stream(takeWhile(stream.spliterator(), predicate), false);
- }
-
- public static <T> Stream<T> takeWhilePlusOne(Stream<T> stream, Predicate<T> predicate) {
- return StreamSupport.stream(takeWhile(stream.spliterator(), new StopAfterFailPredicate<>(predicate)), false);
- }
-
- private static <T> Spliterator<T> takeWhile(Spliterator<T> splitr, Predicate<T> predicate) {
- return new MySplitIterator<>(splitr, predicate);
- }
-
- public static class MySplitIterator<T> extends AbstractSpliterator<T> implements Spliterator<T> {
-
- boolean stillGoing = true;
- private Spliterator<T> innerItr;
- private Predicate<T> innerPred;
-
- private MySplitIterator(Spliterator<T> splitItr, Predicate<T> pred) {
- super(splitItr.estimateSize(), 0);
- innerItr = splitItr;
- innerPred = pred;
- }
-
- @Override
- public boolean tryAdvance(Consumer<? super T> action) {
- boolean canAdvance = true;
- if (stillGoing) {
- stillGoing = innerItr.tryAdvance(createConsumerWrapper(action));
- } else {
- canAdvance = false;
- }
- return canAdvance;
- }
-
- private Consumer<? super T> createConsumerWrapper(Consumer<? super T> action) {
- return new Consumer<T>() {
- @Override
- public void accept(T t) {
- stillGoing = innerPred.test(t);
- if (stillGoing) {
- action.accept(t);
- }
- }
- };
- }
- }
-
- public static class StopAfterFailPredicate<T> implements Predicate<T> {
-
- boolean hasNotFailed;
- Predicate<T> innerPredicate;
-
- private StopAfterFailPredicate(Predicate<T> pred) {
- hasNotFailed = true;
- innerPredicate = pred;
- }
-
- ;
-
- @Override
- public boolean test(T t) {
- boolean isPassed;
- if (hasNotFailed) {
- isPassed = true;
- hasNotFailed = innerPredicate.test(t);
- } else {
- isPassed = false;
- }
- return isPassed;
- }
- }
-}
diff --git a/common-app-api/src/main/java/org/openecomp/sdc/fe/config/ConfigurationManager.java b/common-app-api/src/main/java/org/openecomp/sdc/fe/config/ConfigurationManager.java
index 0d5cf62cb1..798bacf9a3 100644
--- a/common-app-api/src/main/java/org/openecomp/sdc/fe/config/ConfigurationManager.java
+++ b/common-app-api/src/main/java/org/openecomp/sdc/fe/config/ConfigurationManager.java
@@ -34,8 +34,8 @@ public class ConfigurationManager implements FileChangeCallback, IEcompConfigura
private static final Logger log = Logger.getLogger(ConfigurationManager.class.getName());
private static ConfigurationManager instance;
- ConfigurationSource configurationSource = null;
- Map<String, Object> configurations = new HashMap<>();
+ private final ConfigurationSource configurationSource;
+ private final Map<String, Object> configurations = new HashMap<>();
public ConfigurationManager(ConfigurationSource configurationSource) {
super();
@@ -101,6 +101,7 @@ public class ConfigurationManager implements FileChangeCallback, IEcompConfigura
return (Configuration) configurations.get(getKey(Configuration.class));
}
+ @Override
public void reconfigure(BasicConfiguration obj) {
//