Refactor AaiClient API 43/99043/4
authorMichal Kabaj <michal.kabaj@nokia.com>
Tue, 3 Dec 2019 11:38:20 +0000 (12:38 +0100)
committerMichal Kabaj <michal.kabaj@nokia.com>
Wed, 4 Dec 2019 07:39:38 +0000 (08:39 +0100)
- 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>
prh-commons/src/main/java/org/onap/dcaegen2/services/prh/adapter/aai/api/put/AaiHttpPutClient.java [deleted file]
prh-commons/src/main/java/org/onap/dcaegen2/services/prh/adapter/aai/model/AaiModel.java
prh-commons/src/main/java/org/onap/dcaegen2/services/prh/adapter/aai/model/AaiServiceInstanceQueryModel.java
prh-commons/src/main/java/org/onap/dcaegen2/services/prh/adapter/aai/model/ClientModel.java [deleted file]
prh-commons/src/main/java/org/onap/dcaegen2/services/prh/adapter/aai/model/DmaapModel.java [deleted file]
prh-commons/src/main/java/org/onap/dcaegen2/services/prh/adapter/aai/model/JsonBodyBuilder.java
prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/ConsumerDmaapModel.java
prh-commons/src/main/java/org/onap/dcaegen2/services/prh/model/bbs/LogicalLink.java
prh-commons/src/test/java/org/onap/dcaegen2/services/prh/adapter/aai/put/AaiHttpPutClientTest.java [deleted file]

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 (file)
index eb51d5f..0000000
+++ /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());
-    }
-}
index 0d99abb..f0353d7 100644 (file)
@@ -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();
 }
index bc87a86..b2819f2 100644 (file)
@@ -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 (file)
index 4c1d2e1..0000000
+++ /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 (file)
index 99c9e2a..0000000
+++ /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 {
-}
index c13798f..db8839e 100644 (file)
@@ -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.
index 7afb7f1..d813116 100644 (file)
@@ -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();
index ffef092..1f862de 100644 (file)
@@ -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 (file)
index 13a4917..0000000
+++ /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)));
-
-    }
-}