diff options
author | Michal Kabaj <michal.kabaj@nokia.com> | 2019-11-28 12:21:19 +0100 |
---|---|---|
committer | Michal Kabaj <michal.kabaj@nokia.com> | 2019-11-28 12:21:19 +0100 |
commit | e3595ee528b4ddb9d6ff6e26d812c0e293b34a19 (patch) | |
tree | e779b5bdf704b00a5ec301aa011ecc3433f8a8b9 /prh-app-server/src/main/java | |
parent | 880dba137afdf2ddf0693d2290314bf683d7f5d7 (diff) |
aaiclient api refactor
- Moved aaiclient code from SDK to PRH
improvement of logic fragmentation
Issue-ID: DCAEGEN2-1955
Signed-off-by: Michal Kabaj <michal.kabaj@nokia.com>
Change-Id: I11d5b92014cdeb036699099113f64fc320cb4dd1
Diffstat (limited to 'prh-app-server/src/main/java')
7 files changed, 48 insertions, 46 deletions
diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/AaiHttpClientConfig.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/AaiHttpClientConfig.java index 71dedba1..9156732d 100644 --- a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/AaiHttpClientConfig.java +++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/AaiHttpClientConfig.java @@ -22,55 +22,56 @@ package org.onap.dcaegen2.services.prh.configuration; import java.nio.charset.StandardCharsets; import java.util.function.BiFunction; +import org.onap.dcaegen2.services.prh.adapter.aai.api.AaiClientConfiguration; +import org.onap.dcaegen2.services.prh.adapter.aai.api.AaiHttpClient; +import org.onap.dcaegen2.services.prh.adapter.aai.api.get.AaiGetServiceInstanceClient; +import org.onap.dcaegen2.services.prh.adapter.aai.api.get.AaiHttpGetClient; +import org.onap.dcaegen2.services.prh.adapter.aai.api.patch.AaiHttpPatchClient; +import org.onap.dcaegen2.services.prh.adapter.aai.main.AaiHttpClientFactory; +import org.onap.dcaegen2.services.prh.adapter.aai.model.AaiModel; +import org.onap.dcaegen2.services.prh.adapter.aai.model.AaiServiceInstanceQueryModel; import org.onap.dcaegen2.services.prh.model.AaiJsonBodyBuilderImpl; import org.onap.dcaegen2.services.prh.model.AaiPnfResultModel; import org.onap.dcaegen2.services.prh.model.AaiServiceInstanceResultModel; import org.onap.dcaegen2.services.prh.model.utils.PrhModelAwareGsonBuilder; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.api.AaiClientConfiguration; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.main.AaiHttpClientFactory; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.api.AaiHttpClient; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.api.get.AaiGetServiceInstanceClient; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.api.get.AaiHttpGetClient; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.api.patch.AaiHttpPatchClient; import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.HttpResponse; import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.RxHttpClient; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.model.AaiModel; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.model.AaiServiceInstanceQueryModel; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration public class AaiHttpClientConfig { + @Autowired private CbsConfiguration cbsConfiguration; @Bean public AaiHttpClient<AaiModel, HttpResponse> getPatchClientFactory() { return createLazyConfigClient( - (config, client) -> new AaiHttpPatchClient(config, new AaiJsonBodyBuilderImpl(), client)); + (config, client) -> new AaiHttpPatchClient(config, new AaiJsonBodyBuilderImpl(), client)); } @Bean public AaiHttpClient<AaiServiceInstanceQueryModel, AaiServiceInstanceResultModel> getServiceInstanceClient() { return createLazyConfigClient( - (config, client) -> new AaiGetServiceInstanceClient(config, client) - .map(httpResponse -> { - httpResponse.throwIfUnsuccessful(); - return httpResponse.bodyAsJson(StandardCharsets.UTF_8, - PrhModelAwareGsonBuilder.createGson(), AaiServiceInstanceResultModel.class); - })); + (config, client) -> new AaiGetServiceInstanceClient(config, client) + .map(httpResponse -> { + httpResponse.throwIfUnsuccessful(); + return httpResponse.bodyAsJson(StandardCharsets.UTF_8, + PrhModelAwareGsonBuilder.createGson(), AaiServiceInstanceResultModel.class); + })); } @Bean public AaiHttpClient<AaiModel, AaiPnfResultModel> getGetClient() { return createLazyConfigClient( - (config, client) -> new AaiHttpGetClient(config, client) - .map(httpResponse -> { - httpResponse.throwIfUnsuccessful(); - return httpResponse.bodyAsJson(StandardCharsets.UTF_8, - PrhModelAwareGsonBuilder.createGson(), AaiPnfResultModel.class); - })); + (config, client) -> new AaiHttpGetClient(config, client) + .map(httpResponse -> { + httpResponse.throwIfUnsuccessful(); + return httpResponse.bodyAsJson(StandardCharsets.UTF_8, + PrhModelAwareGsonBuilder.createGson(), AaiPnfResultModel.class); + })); } private <T, U> AaiHttpClient<T, U> createLazyConfigClient( @@ -78,7 +79,7 @@ public class AaiHttpClientConfig { return x -> factoryMethod.apply( cbsConfiguration.getAaiClientConfiguration(), - new AaiHttpClientFactory(cbsConfiguration.getAaiClientConfiguration()).build() + new AaiHttpClientFactory(cbsConfiguration.getAaiClientConfiguration()).build() ).getAaiResponse(x); } } diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/CbsConfiguration.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/CbsConfiguration.java index f27d2efc..d594222b 100644 --- a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/CbsConfiguration.java +++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/CbsConfiguration.java @@ -21,7 +21,8 @@ package org.onap.dcaegen2.services.prh.configuration; import com.google.gson.JsonObject; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.api.AaiClientConfiguration; +import java.util.Optional; +import org.onap.dcaegen2.services.prh.adapter.aai.api.AaiClientConfiguration; import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.api.DmaapClientFactory; import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.api.MessageRouterPublisher; import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.api.MessageRouterSubscriber; @@ -30,8 +31,6 @@ import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.model.MessageRo import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.Optional; - public class CbsConfiguration implements Config { private static final Logger LOGGER = LoggerFactory.getLogger(CbsConfiguration.class); diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/CbsContentParser.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/CbsContentParser.java index ee7ff222..869d537f 100644 --- a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/CbsContentParser.java +++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/CbsContentParser.java @@ -20,14 +20,19 @@ package org.onap.dcaegen2.services.prh.configuration; +import static org.onap.dcaegen2.services.sdk.rest.services.cbs.client.api.streams.StreamPredicates.streamWithName; + import com.google.common.reflect.TypeToken; import com.google.gson.Gson; import com.google.gson.JsonObject; +import java.nio.file.Paths; +import java.time.Duration; +import java.util.Map; +import org.onap.dcaegen2.services.prh.adapter.aai.api.AaiClientConfiguration; +import org.onap.dcaegen2.services.prh.adapter.aai.api.ImmutableAaiClientConfiguration; import org.onap.dcaegen2.services.sdk.model.streams.RawDataStream; import org.onap.dcaegen2.services.sdk.model.streams.dmaap.MessageRouterSink; import org.onap.dcaegen2.services.sdk.model.streams.dmaap.MessageRouterSource; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.api.AaiClientConfiguration; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.api.ImmutableAaiClientConfiguration; import org.onap.dcaegen2.services.sdk.rest.services.cbs.client.api.streams.DataStreams; import org.onap.dcaegen2.services.sdk.rest.services.cbs.client.api.streams.StreamFromGsonParsers; import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.model.ImmutableMessageRouterPublishRequest; @@ -43,12 +48,6 @@ import org.onap.dcaegen2.services.sdk.security.ssl.ImmutableSecurityKeysStore; import org.onap.dcaegen2.services.sdk.security.ssl.Passwords; import org.onap.dcaegen2.services.sdk.security.ssl.SecurityKeys; -import java.nio.file.Paths; -import java.time.Duration; -import java.util.Map; - -import static org.onap.dcaegen2.services.sdk.rest.services.cbs.client.api.streams.StreamPredicates.streamWithName; - /** * @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 8/21/18 */ diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/Config.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/Config.java index bf41a0f2..adfc8c16 100644 --- a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/Config.java +++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/Config.java @@ -20,7 +20,7 @@ package org.onap.dcaegen2.services.prh.configuration; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.api.AaiClientConfiguration; +import org.onap.dcaegen2.services.prh.adapter.aai.api.AaiClientConfiguration; import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.api.MessageRouterPublisher; import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.api.MessageRouterSubscriber; import org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.model.MessageRouterPublishRequest; diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AaiProducerTaskImpl.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AaiProducerTaskImpl.java index adf87a41..e0764fd2 100644 --- a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AaiProducerTaskImpl.java +++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AaiProducerTaskImpl.java @@ -20,14 +20,14 @@ package org.onap.dcaegen2.services.prh.tasks; +import org.onap.dcaegen2.services.prh.adapter.aai.api.AaiHttpClient; +import org.onap.dcaegen2.services.prh.adapter.aai.model.AaiModel; import org.onap.dcaegen2.services.prh.exceptions.AaiNotFoundException; import org.onap.dcaegen2.services.prh.exceptions.DmaapNotFoundException; import org.onap.dcaegen2.services.prh.exceptions.PrhTaskException; import org.onap.dcaegen2.services.prh.model.ConsumerDmaapModel; import org.onap.dcaegen2.services.prh.model.utils.HttpUtils; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.api.AaiHttpClient; import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.HttpResponse; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.model.AaiModel; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AaiQueryTask.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AaiQueryTask.java index 54a3151b..0bcb1dea 100644 --- a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AaiQueryTask.java +++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AaiQueryTask.java @@ -20,7 +20,7 @@ package org.onap.dcaegen2.services.prh.tasks; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.model.AaiModel; +import org.onap.dcaegen2.services.prh.adapter.aai.model.AaiModel; import reactor.core.publisher.Mono; @FunctionalInterface diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AaiQueryTaskImpl.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AaiQueryTaskImpl.java index 3420bf24..46f9d3d9 100644 --- a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AaiQueryTaskImpl.java +++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AaiQueryTaskImpl.java @@ -20,18 +20,21 @@ package org.onap.dcaegen2.services.prh.tasks; -import org.onap.dcaegen2.services.prh.model.*; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.api.AaiHttpClient; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.model.AaiModel; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.model.AaiServiceInstanceQueryModel; -import org.onap.dcaegen2.services.sdk.rest.services.aai.client.model.ImmutableAaiServiceInstanceQueryModel; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Component; -import reactor.core.publisher.Mono; - import java.util.List; import java.util.Optional; import java.util.stream.Stream; +import org.onap.dcaegen2.services.prh.adapter.aai.api.AaiHttpClient; +import org.onap.dcaegen2.services.prh.adapter.aai.model.AaiModel; +import org.onap.dcaegen2.services.prh.adapter.aai.model.AaiServiceInstanceQueryModel; +import org.onap.dcaegen2.services.prh.adapter.aai.model.ImmutableAaiServiceInstanceQueryModel; +import org.onap.dcaegen2.services.prh.model.AaiPnfResultModel; +import org.onap.dcaegen2.services.prh.model.AaiServiceInstanceResultModel; +import org.onap.dcaegen2.services.prh.model.Relationship; +import org.onap.dcaegen2.services.prh.model.RelationshipData; +import org.onap.dcaegen2.services.prh.model.RelationshipDict; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; +import reactor.core.publisher.Mono; @Component public class AaiQueryTaskImpl implements AaiQueryTask { |