aboutsummaryrefslogtreecommitdiffstats
path: root/dcae-analytics-aai/src/main/java/org/openecomp
diff options
context:
space:
mode:
authoran4828 <nekrassov@att.com>2018-01-22 17:17:34 -0500
committeran4828 <nekrassov@att.com>2018-01-22 17:20:00 -0500
commitc489a2eb22484e798c39a978bc8b61821b92322f (patch)
tree5aafe90efc15f8ced47e0d14c5f23a86a07f03e1 /dcae-analytics-aai/src/main/java/org/openecomp
parentbaaecfc19132034168beb64a0c1e7813c7c17c4a (diff)
TCA: Replace any openecomp reference by onap
Change-Id: I7c6d812ab5c1d7b30c63653d1974b0b1abc099be Signed-off-by: an4828 <nekrassov@att.com> Issue-ID: DCAEGEN2-224 Signed-off-by: an4828 <nekrassov@att.com>
Diffstat (limited to 'dcae-analytics-aai/src/main/java/org/openecomp')
-rw-r--r--dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/AAIClientFactory.java74
-rw-r--r--dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/domain/config/AAIEnrichmentConfig.java33
-rw-r--r--dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/domain/config/AAIHttpClientConfig.java131
-rw-r--r--dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/domain/config/AAIHttpClientConfigBuilder.java89
-rw-r--r--dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/module/AnalyticsAAIModule.java54
-rw-r--r--dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/service/AAIEnrichmentClient.java45
-rw-r--r--dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/service/AAIEnrichmentClientFactory.java40
-rw-r--r--dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/service/AAIEnrichmentClientImpl.java202
-rw-r--r--dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/service/AAIHttpClient.java39
-rw-r--r--dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/service/AAIHttpClientFactory.java41
-rw-r--r--dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/service/AAIHttpClientImpl.java159
-rw-r--r--dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/utils/ssl/AlwaysTrustingTrustStrategy.java55
12 files changed, 0 insertions, 962 deletions
diff --git a/dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/AAIClientFactory.java b/dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/AAIClientFactory.java
deleted file mode 100644
index 0a8d4ca..0000000
--- a/dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/AAIClientFactory.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * ===============================LICENSE_START======================================
- * dcae-analytics
- * ================================================================================
- * Copyright © 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.dcae.apod.analytics.aai;
-
-import com.google.inject.AbstractModule;
-import com.google.inject.Guice;
-import com.google.inject.Injector;
-import org.openecomp.dcae.apod.analytics.aai.domain.config.AAIHttpClientConfig;
-import org.openecomp.dcae.apod.analytics.aai.module.AnalyticsAAIModule;
-import org.openecomp.dcae.apod.analytics.aai.service.AAIEnrichmentClient;
-import org.openecomp.dcae.apod.analytics.aai.service.AAIEnrichmentClientFactory;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Factory to create A&AI API Client.
- *
- * @author Rajiv Singla . Creation Date: 9/18/2017.
- */
-public class AAIClientFactory {
-
- private static final Logger LOG = LoggerFactory.getLogger(AAIClientFactory.class);
-
- private final Injector injector;
-
- public AAIClientFactory(final AbstractModule guiceModule) {
- LOG.info("Creating instance of AAI Client Factory with Module: {}", guiceModule.getClass().getSimpleName());
- this.injector = Guice.createInjector(guiceModule);
- }
-
- /**
- * Creates an instance of {@link AAIEnrichmentClient}.
- *
- * @param aaiHttpClientConfig A&AI Http Client Config
- *
- * @return An instance of A&AI Enrichment Client to fetch enrichment details from A&AI API.
- */
- public AAIEnrichmentClient getEnrichmentClient(final AAIHttpClientConfig aaiHttpClientConfig) {
- LOG.info("Creating instance of A&AI Enrichment Client with A&AI HttpClientConfig: {}", aaiHttpClientConfig);
- final AAIEnrichmentClientFactory aaiEnrichmentClientFactory =
- injector.getInstance(AAIEnrichmentClientFactory.class);
- return aaiEnrichmentClientFactory.create(aaiHttpClientConfig);
- }
-
-
- /**
- * Static method used to create an instance of {@link AAIClientFactory} itself using default
- * guice {@link AnalyticsAAIModule}
- *
- * @return An instance of AAI Client Factory with {@link AnalyticsAAIModule} guice module configuration
- */
- public static AAIClientFactory create() {
- return new AAIClientFactory(new AnalyticsAAIModule());
- }
-
-}
diff --git a/dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/domain/config/AAIEnrichmentConfig.java b/dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/domain/config/AAIEnrichmentConfig.java
deleted file mode 100644
index 19c284f..0000000
--- a/dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/domain/config/AAIEnrichmentConfig.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * ===============================LICENSE_START======================================
- * dcae-analytics
- * ================================================================================
- * Copyright © 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.dcae.apod.analytics.aai.domain.config;
-
-import java.io.Serializable;
-
-/**
- * <p>
- * Marker interface for all A&AI API Enrichment Configs
- * </p>
- *
- * @author Rajiv Singla . Creation Date: 9/14/2017.
- */
-public interface AAIEnrichmentConfig extends Serializable {
-}
diff --git a/dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/domain/config/AAIHttpClientConfig.java b/dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/domain/config/AAIHttpClientConfig.java
deleted file mode 100644
index 37190a0..0000000
--- a/dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/domain/config/AAIHttpClientConfig.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * ===============================LICENSE_START======================================
- * dcae-analytics
- * ================================================================================
- * Copyright © 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.dcae.apod.analytics.aai.domain.config;
-
-import com.google.common.base.Objects;
-
-import java.net.URL;
-
-/**
- * Contains parameters required to create an instance of A&AI Http Client
- *
- * @author Rajiv Singla . Creation Date: 9/21/2017.
- */
-public class AAIHttpClientConfig implements AAIEnrichmentConfig {
-
- private static final long serialVersionUID = 1L;
-
- private final String aaiHost;
- private final Integer aaiHostPortNumber;
- private final String aaiProtocol;
- private final String aaiUserName;
- private final String aaiUserPassword;
- private final URL aaiProxyURL;
- private final boolean aaiIgnoreSSLCertificateErrors;
-
- AAIHttpClientConfig(final String aaiHost, final Integer aaiHostPortNumber, final String aaiProtocol,
- final String aaiUserName, final String aaiUserPassword, final URL aaiProxyURL,
- final boolean aaiIgnoreSSLCertificateErrors) {
- this.aaiHost = aaiHost;
- this.aaiHostPortNumber = aaiHostPortNumber;
- this.aaiProtocol = aaiProtocol;
- this.aaiUserName = aaiUserName;
- this.aaiUserPassword = aaiUserPassword;
- this.aaiProxyURL = aaiProxyURL;
- this.aaiIgnoreSSLCertificateErrors = aaiIgnoreSSLCertificateErrors;
- }
-
- /**
- * Provides A&AI Http Client Host
- *
- * @return A&AI Http Client Host
- */
- public String getAaiHost() {
- return aaiHost;
- }
-
- /**
- * Provides A&AI Http Client Host Port Number
- *
- * @return A&AI Http Client Host Port Number
- */
- public Integer getAaiHostPortNumber() {
- return aaiHostPortNumber;
- }
-
- /**
- * Provides A&AI Http Client Protocol
- *
- * @return A&AI Http Client Protocol
- */
- public String getAaiProtocol() {
- return aaiProtocol;
- }
-
- /**
- * Provides A&AI Http Client UserName
- *
- * @return A&AI Http Client UserName
- */
- public String getAaiUserName() {
- return aaiUserName;
- }
-
- /**
- * Provides A&AI Http Client UserPassword
- *
- * @return A&AI Http Client UserPassword
- */
- public String getAaiUserPassword() {
- return aaiUserPassword;
- }
-
- /**
- * Returns A&AI Proxy url
- *
- * @return A&AI Proxy url
- */
- public URL getAaiProxyURL() {
- return aaiProxyURL;
- }
-
- /**
- * Returns true if SSL Certificate errors can be ignored for A&AI Http client
- *
- * @return true if SSL Certificate errors can be ignored for A&AI Http client
- */
- public boolean isAaiIgnoreSSLCertificateErrors() {
- return aaiIgnoreSSLCertificateErrors;
- }
-
-
- @Override
- public String toString() {
- return Objects.toStringHelper(this)
- .add("aaiHost", aaiHost)
- .add("aaiHostPortNumber", aaiHostPortNumber)
- .add("aaiProtocol", aaiProtocol)
- .add("aaiUserName", aaiUserName)
- .add("aaiProxyHost", aaiProxyURL == null ? null : aaiProxyURL.getHost())
- .add("aaiIgnoreSSLCertificateErrors", aaiIgnoreSSLCertificateErrors)
- .toString();
- }
-}
diff --git a/dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/domain/config/AAIHttpClientConfigBuilder.java b/dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/domain/config/AAIHttpClientConfigBuilder.java
deleted file mode 100644
index 3df0050..0000000
--- a/dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/domain/config/AAIHttpClientConfigBuilder.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * ===============================LICENSE_START======================================
- * dcae-analytics
- * ================================================================================
- * Copyright © 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.dcae.apod.analytics.aai.domain.config;
-
-import org.openecomp.dcae.apod.analytics.common.AnalyticsConstants;
-
-import java.io.Serializable;
-import java.net.URL;
-
-/**
- * A&AI Http Client Config Builder used to create immutable instance of {@link AAIHttpClientConfig}
- *
- * @author Rajiv Singla . Creation Date: 9/21/2017.
- */
-public class AAIHttpClientConfigBuilder implements Serializable {
-
- private static final long serialVersionUID = 1L;
-
- private String aaiHost;
- private Integer aaiHostPortNumber;
- private String aaiProtocol;
- private String aaiUserName;
- private String aaiUserPassword;
- private URL aaiProxyURL;
- private boolean aaiIgnoreSSLCertificateErrors;
-
- public AAIHttpClientConfigBuilder(final String aaiHost) {
- this.aaiHost = aaiHost;
- this.aaiHostPortNumber = AnalyticsConstants.DEFAULT_PORT_NUMBER;
- this.aaiProtocol = AnalyticsConstants.DEFAULT_PROTOCOL;
- this.aaiUserName = AnalyticsConstants.DEFAULT_USER_NAME;
- this.aaiUserPassword = AnalyticsConstants.DEFAULT_USER_PASSWORD;
- this.aaiIgnoreSSLCertificateErrors = AnalyticsConstants
- .TCA_DEFAULT_AAI_ENRICHMENT_IGNORE_SSL_CERTIFICATE_ERRORS;
- }
-
- public AAIHttpClientConfigBuilder setAaiHostPortNumber(final Integer aaiHostPortNumber) {
- this.aaiHostPortNumber = aaiHostPortNumber;
- return this;
- }
-
- public AAIHttpClientConfigBuilder setAaiProtocol(final String aaiProtocol) {
- this.aaiProtocol = aaiProtocol;
- return this;
- }
-
- public AAIHttpClientConfigBuilder setAaiUserName(final String aaiUserName) {
- this.aaiUserName = aaiUserName;
- return this;
- }
-
- public AAIHttpClientConfigBuilder setAaiUserPassword(final String aaiUserPassword) {
- this.aaiUserPassword = aaiUserPassword;
- return this;
- }
-
- public AAIHttpClientConfigBuilder setAaiProxyURL(final URL aaiProxyURL) {
- this.aaiProxyURL = aaiProxyURL;
- return this;
- }
-
- public AAIHttpClientConfigBuilder setAaiIgnoreSSLCertificateErrors(final boolean aaiIgnoreSSLCertificateErrors) {
- this.aaiIgnoreSSLCertificateErrors = aaiIgnoreSSLCertificateErrors;
- return this;
- }
-
- public AAIHttpClientConfig build() {
- return new AAIHttpClientConfig(aaiHost, aaiHostPortNumber, aaiProtocol, aaiUserName, aaiUserPassword,
- aaiProxyURL, aaiIgnoreSSLCertificateErrors);
- }
-}
diff --git a/dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/module/AnalyticsAAIModule.java b/dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/module/AnalyticsAAIModule.java
deleted file mode 100644
index 9074798..0000000
--- a/dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/module/AnalyticsAAIModule.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * ===============================LICENSE_START======================================
- * dcae-analytics
- * ================================================================================
- * Copyright © 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.dcae.apod.analytics.aai.module;
-
-import com.google.inject.AbstractModule;
-import com.google.inject.assistedinject.FactoryModuleBuilder;
-import org.openecomp.dcae.apod.analytics.aai.service.AAIEnrichmentClient;
-import org.openecomp.dcae.apod.analytics.aai.service.AAIEnrichmentClientFactory;
-import org.openecomp.dcae.apod.analytics.aai.service.AAIEnrichmentClientImpl;
-import org.openecomp.dcae.apod.analytics.aai.service.AAIHttpClient;
-import org.openecomp.dcae.apod.analytics.aai.service.AAIHttpClientFactory;
-import org.openecomp.dcae.apod.analytics.aai.service.AAIHttpClientImpl;
-
-/**
- * <p>
- * Guice Module to bind concrete implementation of interfaces used in Analytics A&AI API
- * </p>
- *
- * @author Rajiv Singla . Creation Date: 9/18/2017.
- */
-public class AnalyticsAAIModule extends AbstractModule {
-
- /**
- * Configures A&AI API guice modules
- */
- @Override
- protected void configure() {
-
- install(new FactoryModuleBuilder().implement(AAIHttpClient.class, AAIHttpClientImpl.class)
- .build(AAIHttpClientFactory.class));
-
- install(new FactoryModuleBuilder().implement(AAIEnrichmentClient.class, AAIEnrichmentClientImpl.class)
- .build(AAIEnrichmentClientFactory.class));
-
- }
-}
diff --git a/dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/service/AAIEnrichmentClient.java b/dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/service/AAIEnrichmentClient.java
deleted file mode 100644
index 8813cdf..0000000
--- a/dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/service/AAIEnrichmentClient.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * ===============================LICENSE_START======================================
- * dcae-analytics
- * ================================================================================
- * Copyright © 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.dcae.apod.analytics.aai.service;
-
-import java.util.Map;
-
-/**
- * <p>
- * A client used to get enrichment details from A&AI
- * </p>
- *
- * @author Rajiv Singla . Creation Date: 9/15/2017.
- */
-public interface AAIEnrichmentClient {
-
- /**
- * Provides enrichment details from A&AI API and returns them as string. If no enrichment lookup fails returns null
- *
- * @param aaiAPIPath A&AI API Path
- * @param queryParams A&AI Query Params map
- * @param headers A&AI HTTP Headers
- *
- * @return Enrichment details from A&AI API and returns them as string. If enrichment lookup fails returns null
- */
- String getEnrichmentDetails(String aaiAPIPath, Map<String, String> queryParams, Map<String, String> headers);
-
-}
diff --git a/dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/service/AAIEnrichmentClientFactory.java b/dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/service/AAIEnrichmentClientFactory.java
deleted file mode 100644
index bd4a4f2..0000000
--- a/dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/service/AAIEnrichmentClientFactory.java
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * ===============================LICENSE_START======================================
- * dcae-analytics
- * ================================================================================
- * Copyright © 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.dcae.apod.analytics.aai.service;
-
-import org.openecomp.dcae.apod.analytics.aai.domain.config.AAIHttpClientConfig;
-
-/**
- * Factory to initialize instance of {@link AAIEnrichmentClient} for Guice DI injection purposes.
- *
- * @author Rajiv Singla . Creation Date: 9/19/2017.
- */
-public interface AAIEnrichmentClientFactory {
-
- /**
- * Provides an instance of A&AI Enrichment Client used to get details from A&AI API
- *
- * @param aaiHttpClientConfig A&AI Http Client config used to create A&AI Enrichment client
- *
- * @return an instance of A&AI Enrichment Client used to get details from A&AI API
- */
- AAIEnrichmentClient create(AAIHttpClientConfig aaiHttpClientConfig);
-}
diff --git a/dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/service/AAIEnrichmentClientImpl.java b/dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/service/AAIEnrichmentClientImpl.java
deleted file mode 100644
index 229ab17..0000000
--- a/dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/service/AAIEnrichmentClientImpl.java
+++ /dev/null
@@ -1,202 +0,0 @@
-/*
- * ===============================LICENSE_START======================================
- * dcae-analytics
- * ================================================================================
- * Copyright © 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.dcae.apod.analytics.aai.service;
-
-import com.google.common.base.Optional;
-import com.google.inject.Inject;
-import com.google.inject.assistedinject.Assisted;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.http.HttpEntity;
-import org.apache.http.HttpResponse;
-import org.apache.http.client.ResponseHandler;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.client.utils.URIBuilder;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.util.EntityUtils;
-import org.openecomp.dcae.apod.analytics.aai.domain.config.AAIHttpClientConfig;
-import org.openecomp.dcae.apod.analytics.common.utils.HTTPUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.IOException;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.Iterator;
-import java.util.Map;
-
-import javax.annotation.Nonnull;
-
-
-/**
- * A concrete implementation for {@link AAIEnrichmentClient} which uses A&AI REST API to get A&AI Enrichment details
- *
- * @author Rajiv Singla . Creation Date: 9/18/2017.
- */
-public class AAIEnrichmentClientImpl implements AAIEnrichmentClient {
-
- private static final Logger LOG = LoggerFactory.getLogger(AAIEnrichmentClientImpl.class);
-
- private final CloseableHttpClient closeableHttpClient;
- private final String aaiProtocol;
- private final String aaiHost;
- private final Integer aaiHostPortNumber;
-
- @Inject
- public AAIEnrichmentClientImpl(@Assisted final AAIHttpClientConfig aaiHttpClientConfig,
- final AAIHttpClientFactory aaiHttpClientFactory) {
- final AAIHttpClient aaiHttpClient = aaiHttpClientFactory.create(aaiHttpClientConfig);
- closeableHttpClient = aaiHttpClient.getAAIHttpClient();
- aaiProtocol = aaiHttpClientConfig.getAaiProtocol();
- aaiHost = aaiHttpClientConfig.getAaiHost();
- aaiHostPortNumber = aaiHttpClientConfig.getAaiHostPortNumber();
- }
-
-
- /**
- * Provides enrichment details from A&AI API and returns them as string. If no enrichment lookup fails returns null
- *
- * @param aaiAPIPath A&AI API Path
- * @param queryParams A&AI Query Params map
- * @param headers A&AI HTTP Headers
- *
- * @return Enrichment details from A&AI API and returns them as string. If enrichment lookup fails returns null
- */
- @Override
- public String getEnrichmentDetails(final String aaiAPIPath, final Map<String, String> queryParams,
- final Map<String, String> headers) {
-
- final URI enrichmentURI =
- createAAIEnrichmentURI(aaiProtocol, aaiHost, aaiHostPortNumber, aaiAPIPath, queryParams);
-
- if (enrichmentURI == null) {
- return null;
- }
-
- // create new get request
- final HttpGet getRequest = new HttpGet(enrichmentURI);
- // add http headers
- for (Map.Entry<String, String> headersEntry : headers.entrySet()) {
- getRequest.addHeader(headersEntry.getKey(), headersEntry.getValue());
- }
-
- Optional<String> enrichmentDetails = Optional.absent();
- // execute http get request
- try {
- enrichmentDetails = closeableHttpClient.execute(getRequest, aaiResponseHandler());
- } catch (IOException ex) {
- LOG.error("Failed to get A&AI Enrichment Details for A&AI Enrichment URI: {} A&AI Error: {}",
- enrichmentURI, ex);
- }
-
- // return response
- if (enrichmentDetails.isPresent()) {
- return enrichmentDetails.get();
- } else {
- return null;
- }
- }
-
- /**
- * Create A&AI API Enrichment URI. If invalid URI - null will be returned
- *
- * @param protocol A&AI API protocol
- * @param hostName A&AI API hostname
- * @param portNumber A&AI API port number
- * @param path A&AI API path
- * @param queryParams A&AI API query parameters
- *
- * @return A&AI API Enrichment URI
- */
- private URI createAAIEnrichmentURI(final String protocol, final String hostName,
- final Integer portNumber, final String path,
- Map<String, String> queryParams) {
-
- final URIBuilder uriBuilder = new URIBuilder().setScheme(protocol).setHost(hostName).setPort(portNumber)
- .setPath(path);
-
- // creates custom query string which is not encoded
- final String customQuery = createCustomQuery(queryParams);
- if (StringUtils.isNoneBlank(customQuery)) {
- uriBuilder.setCustomQuery(customQuery);
- }
-
- URI enrichmentURI = null;
- try {
- enrichmentURI = uriBuilder.build();
- } catch (URISyntaxException e) {
- LOG.error("URI Syntax Exception when creating A&AI Enrichment URI. " +
- "Protocol: {}, HostName: {}, Port: {}, Path: {}, Custom Query String: {}, Exception: {}",
- protocol, hostName, portNumber, path, customQuery, e);
- }
-
- LOG.trace("Created A&AI Enrichment URI: {}", enrichmentURI);
- return enrichmentURI;
- }
-
- /**
- * Creates Custom Query string to be used for A&AI API URI as A&AI currently does not expect encoded
- * query params.
- *
- * @param queryParams query param map
- *
- * @return custom query string which does not encode query param values
- */
- private static String createCustomQuery(@Nonnull final Map<String, String> queryParams) {
- final StringBuilder queryStringBuilder = new StringBuilder("");
- final Iterator<Map.Entry<String, String>> queryParamIterator = queryParams.entrySet().iterator();
- while (queryParamIterator.hasNext()) {
- final Map.Entry<String, String> queryParamsEntry = queryParamIterator.next();
- queryStringBuilder.append(queryParamsEntry.getKey());
- queryStringBuilder.append("=");
- queryStringBuilder.append(queryParamsEntry.getValue());
- if (queryParamIterator.hasNext()) {
- queryStringBuilder.append("&");
- }
- }
- return queryStringBuilder.toString();
- }
-
- /**
- * Response Handler for A&AI Enrichment API
- *
- * @return Response Handler that
- */
- static ResponseHandler<Optional<String>> aaiResponseHandler() {
- return new ResponseHandler<Optional<String>>() {
- @Override
- public Optional<String> handleResponse(final HttpResponse response) throws IOException {
- final int responseCode = response.getStatusLine().getStatusCode();
- final HttpEntity responseEntity = response.getEntity();
- if (HTTPUtils.isSuccessfulResponseCode(responseCode) && null != responseEntity) {
- final String aaiResponse = EntityUtils.toString(responseEntity);
- return Optional.of(aaiResponse);
- } else {
- String aaiResponse = responseEntity != null ? EntityUtils.toString(responseEntity) : "";
- LOG.error("Unable to fetch response from A&AI API. A&AI Response Code: {}, " +
- "A&AI Response Message: {}", responseCode, aaiResponse);
- return Optional.absent();
- }
- }
- };
- }
-
-}
-
diff --git a/dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/service/AAIHttpClient.java b/dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/service/AAIHttpClient.java
deleted file mode 100644
index a4adad9..0000000
--- a/dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/service/AAIHttpClient.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * ===============================LICENSE_START======================================
- * dcae-analytics
- * ================================================================================
- * Copyright © 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.dcae.apod.analytics.aai.service;
-
-import org.apache.http.impl.client.CloseableHttpClient;
-
-/**
- * An HTTP Client used to make REST calls to A&AI Enrichment API
- *
- * @author Rajiv Singla . Creation Date: 9/19/2017.
- */
-public interface AAIHttpClient {
-
- /**
- * Provides an instance of {@link CloseableHttpClient} used to make REST calls to A&AI Enrichment API
- *
- * @return An instance of Closeable HTTP Client used to make A&AI API Rest calls
- */
- CloseableHttpClient getAAIHttpClient();
-
-}
diff --git a/dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/service/AAIHttpClientFactory.java b/dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/service/AAIHttpClientFactory.java
deleted file mode 100644
index e977639..0000000
--- a/dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/service/AAIHttpClientFactory.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * ===============================LICENSE_START======================================
- * dcae-analytics
- * ================================================================================
- * Copyright © 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.dcae.apod.analytics.aai.service;
-
-import org.openecomp.dcae.apod.analytics.aai.domain.config.AAIHttpClientConfig;
-
-/**
- * Factory to initialize instance of {@link AAIHttpClient} for Guice DI injection purposes.
- *
- * @author Rajiv Singla . Creation Date: 9/22/2017.
- */
-public interface AAIHttpClientFactory {
-
- /**
- * Provides an instance of A&AI HTTP Client
- *
- * @param aaiHttpClientConfig A&AI HTTP Client Config
- *
- * @return An instance of A&AI HTTP Client
- */
- AAIHttpClient create(AAIHttpClientConfig aaiHttpClientConfig);
-
-}
diff --git a/dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/service/AAIHttpClientImpl.java b/dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/service/AAIHttpClientImpl.java
deleted file mode 100644
index 34631b1..0000000
--- a/dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/service/AAIHttpClientImpl.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * ===============================LICENSE_START======================================
- * dcae-analytics
- * ================================================================================
- * Copyright © 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.dcae.apod.analytics.aai.service;
-
-import com.google.inject.Inject;
-import com.google.inject.assistedinject.Assisted;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.http.HttpHost;
-import org.apache.http.auth.AuthScope;
-import org.apache.http.auth.Credentials;
-import org.apache.http.auth.UsernamePasswordCredentials;
-import org.apache.http.client.CredentialsProvider;
-import org.apache.http.conn.ssl.NoopHostnameVerifier;
-import org.apache.http.impl.client.BasicCredentialsProvider;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.client.HttpClientBuilder;
-import org.apache.http.impl.client.HttpClients;
-import org.apache.http.impl.conn.DefaultProxyRoutePlanner;
-import org.apache.http.ssl.SSLContextBuilder;
-import org.openecomp.dcae.apod.analytics.aai.domain.config.AAIHttpClientConfig;
-import org.openecomp.dcae.apod.analytics.aai.utils.ssl.AlwaysTrustingTrustStrategy;
-import org.openecomp.dcae.apod.analytics.common.exception.DCAEAnalyticsRuntimeException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.net.URL;
-import java.security.KeyManagementException;
-import java.security.KeyStoreException;
-import java.security.NoSuchAlgorithmException;
-
-/**
- * <p>
- * A concrete implementation of {@link AAIHttpClient} which provides Apache {@link CloseableHttpClient} for
- * making rest calls to A&AI Enrichment API.
- * </p>
- *
- * @author Rajiv Singla . Creation Date: 9/19/2017.
- */
-public class AAIHttpClientImpl implements AAIHttpClient {
-
- private static final Logger LOG = LoggerFactory.getLogger(AAIHttpClientImpl.class);
-
- private final AAIHttpClientConfig aaiHttpClientConfig;
-
- @Inject
- public AAIHttpClientImpl(@Assisted final AAIHttpClientConfig aaiHttpClientConfig) {
- this.aaiHttpClientConfig = aaiHttpClientConfig;
- }
-
- /**
- * Provides an instance of {@link CloseableHttpClient} used to make REST calls to A&AI Enrichment API
- *
- * @return An instance of Closeable HTTP Client used to make A&AI API Rest calls
- */
- @Override
- public CloseableHttpClient getAAIHttpClient() {
-
- final HttpClientBuilder httpClientBuilder = HttpClients.custom().useSystemProperties();
- final boolean aaiIgnoreSSLCertificateErrors = aaiHttpClientConfig.isAaiIgnoreSSLCertificateErrors();
-
- // Setup SSL Context to ignore SSL certificate issues if ignoreSSLCertificateErrors is true
- LOG.info("SSL Certificate Errors attributed is set to : {}", aaiIgnoreSSLCertificateErrors);
-
- if (aaiIgnoreSSLCertificateErrors) {
- LOG.warn("SSL Certificate Errors will be ignored for this A&AI Http Client Instance");
- try {
- SSLContextBuilder sslContextBuilder = new SSLContextBuilder();
- sslContextBuilder.loadTrustMaterial(null, new AlwaysTrustingTrustStrategy());
- httpClientBuilder.setSSLContext(sslContextBuilder.build());
- } catch (NoSuchAlgorithmException e) {
- final String errorMessage = "NoSuchAlgorithmException while setting SSL Context for AAI HTTP Client.";
- throw new DCAEAnalyticsRuntimeException(errorMessage, LOG, e);
- } catch (KeyStoreException e) {
- final String errorMessage = "KeyStoreException while setting SSL Context for AAI HTTP Client.";
- throw new DCAEAnalyticsRuntimeException(errorMessage, LOG, e);
- } catch (KeyManagementException e) {
- final String errorMessage = "KeyManagementException while setting SSL Context for AAI HTTP Client.";
- throw new DCAEAnalyticsRuntimeException(errorMessage, LOG, e);
- }
-
- httpClientBuilder.setSSLHostnameVerifier(NoopHostnameVerifier.INSTANCE);
-
- } else {
- LOG.info("SSL Certification Errors will be enforced for A&AI Http Client instance");
- }
-
- // Setup credentials and proxy
- final String aaiUserName = aaiHttpClientConfig.getAaiUserName();
-
- final CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
-
- if (aaiUserName != null) {
- final String aaiHost = aaiHttpClientConfig.getAaiHost();
- final Integer aaiHostPortNumber = aaiHttpClientConfig.getAaiHostPortNumber();
- final String aaiUserPassword = aaiHttpClientConfig.getAaiUserPassword();
- LOG.info("Setting A&AI host credentials for AAI Host: {}", aaiHost);
- final AuthScope aaiHostPortAuthScope = new AuthScope(aaiHost, aaiHostPortNumber);
- final Credentials aaiCredentials = new UsernamePasswordCredentials(aaiUserName, aaiUserPassword);
- credentialsProvider.setCredentials(aaiHostPortAuthScope, aaiCredentials);
- } else {
- LOG.warn("A&AI userName not present. No credentials set for A&AI authentication");
- }
-
- final URL aaiProxyURL = aaiHttpClientConfig.getAaiProxyURL();
-
- if (aaiProxyURL != null) {
- final String aaiProxyHost = aaiProxyURL.getHost();
- final Integer aaiProxyPortNumber = aaiProxyURL.getPort();
- final String aaiProxyProtocol = aaiProxyURL.getProtocol();
- final HttpHost proxy = new HttpHost(aaiProxyHost, aaiProxyPortNumber, aaiProxyProtocol);
- LOG.info("Setting A&AI Http Client default proxy as: {}", proxy);
- final DefaultProxyRoutePlanner routePlanner = new DefaultProxyRoutePlanner(proxy);
- httpClientBuilder.setRoutePlanner(routePlanner);
-
- final String userInfo = aaiProxyURL.getUserInfo();
- if (StringUtils.isNotBlank(userInfo)) {
- final String[] userInfoArray = userInfo.split(":");
- final String aaiProxyUsername = userInfoArray[0];
- String aaiProxyPassword = null;
- if (userInfoArray.length > 1) {
- aaiProxyPassword = userInfoArray[1];
- }
- LOG.info("Setting A&AI Http Client proxy credentials with username: {}", aaiProxyUsername);
- final AuthScope aaiProxyAuthScope = new AuthScope(aaiProxyHost, aaiProxyPortNumber);
- final Credentials aaiProxyCredentials = new UsernamePasswordCredentials(aaiProxyUsername,
- aaiProxyPassword);
- credentialsProvider.setCredentials(aaiProxyAuthScope, aaiProxyCredentials);
- } else {
- LOG.debug("NO A&AI Proxy Username present.Bypassing setting up A&AI Proxy authentication credentials");
- }
- } else {
- LOG.debug("A&AI proxy not Enabled - bypassing setting A&AI Proxy settings");
- }
-
- // setup credentials provider
- httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider);
-
- return httpClientBuilder.build();
- }
-
-}
diff --git a/dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/utils/ssl/AlwaysTrustingTrustStrategy.java b/dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/utils/ssl/AlwaysTrustingTrustStrategy.java
deleted file mode 100644
index b11680b..0000000
--- a/dcae-analytics-aai/src/main/java/org/openecomp/dcae/apod/analytics/aai/utils/ssl/AlwaysTrustingTrustStrategy.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * ===============================LICENSE_START======================================
- * dcae-analytics
- * ================================================================================
- * Copyright © 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.dcae.apod.analytics.aai.utils.ssl;
-
-import org.apache.http.ssl.TrustStrategy;
-
-import java.security.cert.CertificateException;
-import java.security.cert.X509Certificate;
-
-/**
- * An implementation of SSL Trust Strategy which does no SSL certificate validation effectively
- * bypassing any SSL certificate related issues
- *
- * @author Rajiv Singla . Creation Date: 9/19/2017.
- */
-public class AlwaysTrustingTrustStrategy implements TrustStrategy {
- /**
- * Determines whether the certificate chain can be trusted without consulting the trust manager
- * configured in the actual SSL context. This method can be used to override the standard JSSE
- * certificate verification process.
- * <p>
- * Please note that, if this method returns {@code false}, the trust manager configured
- * in the actual SSL context can still clear the certificate as trusted.
- *
- * @param chain the peer certificate chain
- * @param authType the authentication type based on the client certificate
- *
- * @return {@code true} if the certificate can be trusted without verification by
- * the trust manager, {@code false} otherwise.
- *
- * @throws CertificateException thrown if the certificate is not trusted or invalid.
- */
- @Override
- public boolean isTrusted(X509Certificate[] chain, String authType) throws CertificateException {
- return true;
- }
-}