aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Kabaj <michal.kabaj@nokia.com>2019-12-03 12:38:20 +0100
committerMichal Kabaj <michal.kabaj@nokia.com>2019-12-04 08:39:38 +0100
commit9c9d2523c942018ae39bf00d12ffb3b1a3ea1530 (patch)
treec71b6186adac609d4304195f4293b1f6131cb8db
parentcfabc1e7ead3e7277bcfc5479f12dcb1d620e43a (diff)
Refactor AaiClient API
- Removed unused AaiHttpPutClient - Removed unnecessary ClientModel and DmaapModel interfaces Issue-ID: DCAEGEN2-1955 Change-Id: Id95dd4819b7fada634ac6dace02a3e27219aacdd Signed-off-by: Michal Kabaj <michal.kabaj@nokia.com>
-rw-r--r--prh-commons/src/main/java/org/onap/dcaegen2/services/prh/adapter/aai/api/put/AaiHttpPutClient.java65
-rw-r--r--prh-commons/src/main/java/org/onap/dcaegen2/services/prh/adapter/aai/model/AaiModel.java4
-rw-r--r--prh-commons/src/main/java/org/onap/dcaegen2/services/prh/adapter/aai/model/AaiServiceInstanceQueryModel.java4
-rw-r--r--prh-commons/src/main/java/org/onap/dcaegen2/services/prh/adapter/aai/model/ClientModel.java24
-rw-r--r--prh-commons/src/main/java/org/onap/dcaegen2/services/prh/adapter/aai/model/DmaapModel.java24
-rw-r--r--prh-commons/src/main/java/org/onap/dcaegen2/services/prh/adapter/aai/model/JsonBodyBuilder.java4
-rw-r--r--prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/ConsumerDmaapModel.java5
-rw-r--r--prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/bbs/LogicalLink.java3
-rw-r--r--prh-commons/src/test/java/org/onap/dcaegen2/services/prh/adapter/aai/put/AaiHttpPutClientTest.java81
9 files changed, 9 insertions, 205 deletions
diff --git a/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/adapter/aai/api/put/AaiHttpPutClient.java b/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/adapter/aai/api/put/AaiHttpPutClient.java
deleted file mode 100644
index eb51d5f7..00000000
--- a/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/adapter/aai/api/put/AaiHttpPutClient.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * DCAEGEN2-SERVICES-SDK
- * ================================================================================
- * Copyright (C) 2019 NOKIA 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.onap.dcaegen2.services.prh.adapter.aai.api.put;
-
-import static org.onap.dcaegen2.services.prh.adapter.aai.main.AaiHttpClientFactory.createRequestDiagnosticContext;
-
-import io.vavr.collection.HashMap;
-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.model.AaiModel;
-import org.onap.dcaegen2.services.prh.adapter.aai.model.JsonBodyBuilder;
-import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.HttpMethod;
-import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.HttpResponse;
-import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.ImmutableHttpRequest;
-import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.RequestBody;
-import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.RxHttpClient;
-import reactor.core.publisher.Mono;
-
-public class AaiHttpPutClient implements AaiHttpClient<AaiModel, HttpResponse> {
-
- private RxHttpClient httpClient;
- private final AaiClientConfiguration configuration;
- private final JsonBodyBuilder jsonBodyBuilder;
- private final String uri;
-
- public AaiHttpPutClient(final AaiClientConfiguration configuration, JsonBodyBuilder jsonBodyBuilder, String uri,
- RxHttpClient httpClient) {
- this.configuration = configuration;
- this.jsonBodyBuilder = jsonBodyBuilder;
- this.uri = uri;
- this.httpClient = httpClient;
- }
-
- @Override
- public Mono<HttpResponse> getAaiResponse(AaiModel aaiModel) {
- String jsonBody = jsonBodyBuilder.createJsonBody(aaiModel);
-
- return httpClient.call(ImmutableHttpRequest.builder()
- .url(uri)
- .customHeaders(HashMap.ofAll(configuration.aaiHeaders()))
- .diagnosticContext(createRequestDiagnosticContext())
- .body(RequestBody.fromString(jsonBody))
- .method(HttpMethod.PUT)
- .build());
- }
-}
diff --git a/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/adapter/aai/model/AaiModel.java b/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/adapter/aai/model/AaiModel.java
index 0d99abbd..f0353d74 100644
--- a/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/adapter/aai/model/AaiModel.java
+++ b/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/adapter/aai/model/AaiModel.java
@@ -2,7 +2,7 @@
* ============LICENSE_START=======================================================
* DCAEGEN2-SERVICES-SDK
* ================================================================================
- * Copyright (C) 2018 NOKIA Intellectual Property. All rights reserved.
+ * Copyright (C) 2019 NOKIA 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.
@@ -21,7 +21,7 @@
package org.onap.dcaegen2.services.prh.adapter.aai.model;
@FunctionalInterface
-public interface AaiModel extends ClientModel {
+public interface AaiModel {
String getCorrelationId();
}
diff --git a/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/adapter/aai/model/AaiServiceInstanceQueryModel.java b/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/adapter/aai/model/AaiServiceInstanceQueryModel.java
index bc87a865..b2819f23 100644
--- a/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/adapter/aai/model/AaiServiceInstanceQueryModel.java
+++ b/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/adapter/aai/model/AaiServiceInstanceQueryModel.java
@@ -2,7 +2,7 @@
* ============LICENSE_START=======================================================
* DCAEGEN2-SERVICES-SDK
* ================================================================================
- * Copyright (C) 2018 NOKIA Intellectual Property. All rights reserved.
+ * Copyright (C) 2019 NOKIA 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.
@@ -24,7 +24,7 @@ import org.immutables.value.Value;
@Value.Style(stagedBuilder = true)
@Value.Immutable
-public interface AaiServiceInstanceQueryModel extends ClientModel {
+public interface AaiServiceInstanceQueryModel {
String customerId();
String serviceType();
String serviceInstanceId();
diff --git a/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/adapter/aai/model/ClientModel.java b/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/adapter/aai/model/ClientModel.java
deleted file mode 100644
index 4c1d2e1e..00000000
--- a/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/adapter/aai/model/ClientModel.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * DCAEGEN2-SERVICES-SDK
- * ================================================================================
- * Copyright (C) 2018 NOKIA 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.onap.dcaegen2.services.prh.adapter.aai.model;
-
-public interface ClientModel {
-}
diff --git a/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/adapter/aai/model/DmaapModel.java b/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/adapter/aai/model/DmaapModel.java
deleted file mode 100644
index 99c9e2a6..00000000
--- a/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/adapter/aai/model/DmaapModel.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * DCAEGEN2-SERVICES-SDK
- * ================================================================================
- * Copyright (C) 2018 NOKIA 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.onap.dcaegen2.services.prh.adapter.aai.model;
-
-public interface DmaapModel extends ClientModel {
-}
diff --git a/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/adapter/aai/model/JsonBodyBuilder.java b/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/adapter/aai/model/JsonBodyBuilder.java
index c13798f9..db8839ea 100644
--- a/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/adapter/aai/model/JsonBodyBuilder.java
+++ b/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/adapter/aai/model/JsonBodyBuilder.java
@@ -2,7 +2,7 @@
* ============LICENSE_START=======================================================
* DCAEGEN2-SERVICES-SDK
* ================================================================================
- * Copyright (C) 2018 NOKIA Intellectual Property. All rights reserved.
+ * Copyright (C) 2019 NOKIA 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.
@@ -21,7 +21,7 @@
package org.onap.dcaegen2.services.prh.adapter.aai.model;
@FunctionalInterface
-public interface JsonBodyBuilder<T extends ClientModel> {
+public interface JsonBodyBuilder<T> {
/**
* Method for serialization object by GSON.
diff --git a/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/ConsumerDmaapModel.java b/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/ConsumerDmaapModel.java
index 7afb7f10..d813116d 100644
--- a/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/ConsumerDmaapModel.java
+++ b/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/ConsumerDmaapModel.java
@@ -2,7 +2,7 @@
* ============LICENSE_START=======================================================
* PNF-REGISTRATION-HANDLER
* ================================================================================
- * Copyright (C) 2018 NOKIA Intellectual Property. All rights reserved.
+ * Copyright (C) 2019 NOKIA 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.
@@ -25,7 +25,6 @@ import com.google.gson.annotations.SerializedName;
import org.immutables.gson.Gson;
import org.immutables.value.Value;
import org.onap.dcaegen2.services.prh.adapter.aai.model.AaiModel;
-import org.onap.dcaegen2.services.prh.adapter.aai.model.DmaapModel;
import org.springframework.lang.Nullable;
/**
@@ -34,7 +33,7 @@ import org.springframework.lang.Nullable;
@Value.Immutable
@Gson.TypeAdapters(fieldNamingStrategy = true)
-public interface ConsumerDmaapModel extends AaiModel, DmaapModel {
+public interface ConsumerDmaapModel extends AaiModel {
@SerializedName(value = "correlationId", alternate = "correlationId")
String getCorrelationId();
diff --git a/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/bbs/LogicalLink.java b/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/bbs/LogicalLink.java
index ffef0923..1f862dea 100644
--- a/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/bbs/LogicalLink.java
+++ b/prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/bbs/LogicalLink.java
@@ -22,14 +22,13 @@ package org.onap.dcaegen2.services.prh.model.bbs;
import com.google.gson.annotations.SerializedName;
import org.immutables.gson.Gson;
import org.immutables.value.Value;
-import org.onap.dcaegen2.services.prh.adapter.aai.model.ClientModel;
import org.onap.dcaegen2.services.prh.model.ImmutableRelationship;
import org.onap.dcaegen2.services.prh.model.Relationship;
import org.springframework.lang.Nullable;
@Value.Immutable
@Gson.TypeAdapters(fieldNamingStrategy = true)
-public interface LogicalLink extends ClientModel {
+public interface LogicalLink {
@SerializedName(value = "link-name")
String getLinkName();
diff --git a/prh-commons/src/test/java/org/onap/dcaegen2/services/prh/adapter/aai/put/AaiHttpPutClientTest.java b/prh-commons/src/test/java/org/onap/dcaegen2/services/prh/adapter/aai/put/AaiHttpPutClientTest.java
deleted file mode 100644
index 13a49174..00000000
--- a/prh-commons/src/test/java/org/onap/dcaegen2/services/prh/adapter/aai/put/AaiHttpPutClientTest.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * DCAEGEN2-SERVICES-SDK
- * ================================================================================
- * Copyright (C) 2019 NOKIA 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.onap.dcaegen2.services.prh.adapter.aai.put;
-
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.argThat;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.BDDMockito.given;
-import static org.mockito.Mockito.verify;
-import static org.onap.dcaegen2.services.prh.adapter.aai.AaiClientConfigurations.secureConfiguration;
-
-import io.vavr.collection.HashMap;
-import io.vavr.collection.Map;
-import org.junit.jupiter.api.Test;
-import org.onap.dcaegen2.services.prh.adapter.aai.AbstractHttpClientTest;
-import org.onap.dcaegen2.services.prh.adapter.aai.api.put.AaiHttpPutClient;
-import org.onap.dcaegen2.services.sdk.rest.services.adapters.http.HttpRequest;
-import reactor.core.publisher.Mono;
-import reactor.test.StepVerifier;
-
-class AaiHttpPutClientTest extends AbstractHttpClientTest {
-
- @Test
- void getAaiResponse_shouldCallPutMethod_withGivenAaiHeaders() {
- Map<String, String> headers = HashMap.of("sample-key", "sample-value");
- AaiHttpPutClient cut = new AaiHttpPutClient(secureConfiguration(headers.toJavaMap()), bodyBuilder, "",
- httpClient);
-
- given(bodyBuilder.createJsonBody(eq(aaiModel)))
- .willReturn("test-body");
-
- given(httpClient.call(any(HttpRequest.class)))
- .willReturn(Mono.just(response));
-
- StepVerifier
- .create(cut.getAaiResponse(aaiModel))
- .expectNext(response)
- .verifyComplete();
-
- verify(httpClient)
- .call(argThat(httpRequest -> httpRequest.customHeaders().equals(headers)));
- }
-
- @Test
- void getAaiResponse_shouldCallPutMethod_withProperUri() {
- String uri = "test-uri";
- AaiHttpPutClient cut = new AaiHttpPutClient(secureConfiguration(), bodyBuilder, uri, httpClient);
-
- given(bodyBuilder.createJsonBody(eq(aaiModel)))
- .willReturn("test-body");
-
- given(httpClient.call(any(HttpRequest.class)))
- .willReturn(Mono.just(response));
-
- StepVerifier
- .create(cut.getAaiResponse(aaiModel))
- .expectNext(response)
- .verifyComplete();
-
- verify(httpClient)
- .call(argThat(httpRequest -> httpRequest.url().equals(uri)));
-
- }
-}