Improvent of usage of AsynchRestClient 65/113765/1
authorPatrikBuhr <patrik.buhr@est.tech>
Mon, 12 Oct 2020 07:59:34 +0000 (09:59 +0200)
committerPatrikBuhr <patrik.buhr@est.tech>
Mon, 12 Oct 2020 08:00:10 +0000 (10:00 +0200)
Change-Id: I34ce159abacde85cfe7631402491e457d30c7097
Issue-ID: CCSDK-2502
Signed-off-by: PatrikBuhr <patrik.buhr@est.tech>
a1-policy-management/api/api_generated.json
a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/tasks/RefreshConfigTask.java
a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/tasks/RicSupervision.java
a1-policy-management/src/main/java/org/onap/ccsdk/oran/a1policymanagementservice/tasks/RicSynchronizationTask.java
a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/tasks/RicSupervisionTest.java
a1-policy-management/src/test/java/org/onap/ccsdk/oran/a1policymanagementservice/tasks/RicSynchronizationTaskTest.java

index 61f38ec..399855f 100644 (file)
@@ -5,7 +5,7 @@
             "summary": "Query policy type names",
             "deprecated": false,
             "produces": ["*/*"],
-            "operationId": "getPolicyTypesUsingGET_1",
+            "operationId": "getPolicyTypesUsingGET",
             "responses": {
                 "200": {
                     "schema": {
@@ -36,7 +36,7 @@
                 "summary": "Returns a policy configuration",
                 "deprecated": false,
                 "produces": ["application/json"],
-                "operationId": "getPolicyUsingGET",
+                "operationId": "getPolicyUsingGET_1",
                 "responses": {
                     "200": {
                         "schema": {"$ref": "#/definitions/json_object"},
@@ -63,7 +63,7 @@
                 "summary": "Delete a policy",
                 "deprecated": false,
                 "produces": ["*/*"],
-                "operationId": "deletePolicyUsingDELETE",
+                "operationId": "deletePolicyUsingDELETE_1",
                 "responses": {
                     "200": {"description": "Not used"},
                     "401": {"description": "Unauthorized"},
@@ -92,7 +92,7 @@
                 "summary": "Create or update a policy",
                 "deprecated": false,
                 "produces": ["application/json"],
-                "operationId": "putPolicyUsingPUT",
+                "operationId": "putPolicyUsingPUT_1",
                 "responses": {
                     "200": {"description": "Policy updated"},
                     "201": {"description": "Policy created"},
             "summary": "Returns status and statistics of this service",
             "deprecated": false,
             "produces": ["application/json"],
-            "operationId": "getStatusUsingGET",
+            "operationId": "getStatusUsingGET_1",
             "responses": {
                 "200": {
                     "schema": {"$ref": "#/definitions/status_info_v2"},
             "summary": "Query policies, only policy identities returned",
             "deprecated": false,
             "produces": ["*/*"],
-            "operationId": "getPolicyIdsUsingGET_1",
+            "operationId": "getPolicyIdsUsingGET",
             "responses": {
                 "200": {
                     "schema": {
             "summary": "Returns policy type schema definitions",
             "deprecated": false,
             "produces": ["*/*"],
-            "operationId": "getPolicySchemasUsingGET_1",
+            "operationId": "getPolicySchemasUsingGET",
             "responses": {
                 "200": {
                     "schema": {
             "summary": "Query policy type identities",
             "deprecated": false,
             "produces": ["application/json"],
-            "operationId": "getPolicyTypesUsingGET",
+            "operationId": "getPolicyTypesUsingGET_1",
             "responses": {
                 "200": {
                     "schema": {"$ref": "#/definitions/policy_type_id_list_v2"},
             "summary": "Returns policy type schema definitions",
             "deprecated": false,
             "produces": ["application/json"],
-            "operationId": "getPolicySchemasUsingGET",
+            "operationId": "getPolicySchemasUsingGET_1",
             "responses": {
                 "200": {
                     "schema": {"$ref": "#/definitions/policy_schema_list_v2"},
                 "summary": "Returns a policy configuration",
                 "deprecated": false,
                 "produces": ["*/*"],
-                "operationId": "getPolicyUsingGET_1",
+                "operationId": "getPolicyUsingGET",
                 "responses": {
                     "200": {
                         "schema": {"type": "object"},
                 "summary": "Delete a policy",
                 "deprecated": false,
                 "produces": ["*/*"],
-                "operationId": "deletePolicyUsingDELETE_1",
+                "operationId": "deletePolicyUsingDELETE",
                 "responses": {
                     "200": {"description": "Not used"},
                     "401": {"description": "Unauthorized"},
                 "summary": "Put a policy",
                 "deprecated": false,
                 "produces": ["*/*"],
-                "operationId": "putPolicyUsingPUT_1",
+                "operationId": "putPolicyUsingPUT",
                 "responses": {
                     "200": {"description": "Policy updated"},
                     "201": {"description": "Policy created"},
             "summary": "Returns status and statistics of this service",
             "deprecated": false,
             "produces": ["*/*"],
-            "operationId": "getStatusUsingGET_1",
+            "operationId": "getStatusUsingGET",
             "responses": {
                 "200": {
                     "schema": {"type": "string"},
             "deprecated": false,
             "produces": ["application/json"],
             "description": "Returns a list of A1 policies matching given search criteria. <br>If several query parameters are defined, the policies matching all conditions are returned.",
-            "operationId": "getPolicyIdsUsingGET",
+            "operationId": "getPolicyIdsUsingGET_1",
             "responses": {
                 "200": {
                     "schema": {"$ref": "#/definitions/policy_id_list_v2"},
             "summary": "Query policies",
             "deprecated": false,
             "produces": ["*/*"],
-            "operationId": "getPoliciesUsingGET_1",
+            "operationId": "getPoliciesUsingGET",
             "responses": {
                 "200": {
                     "schema": {
             "summary": "Returns a policy status",
             "deprecated": false,
             "produces": ["application/json"],
-            "operationId": "getPolicyStatusUsingGET",
+            "operationId": "getPolicyStatusUsingGET_1",
             "responses": {
                 "200": {
                     "schema": {"$ref": "#/definitions/json_object"},
             "deprecated": false,
             "produces": ["application/json"],
             "description": "Returns a list of A1 policies matching given search criteria. <br>If several query parameters are defined, the policies matching all conditions are returned.",
-            "operationId": "getPoliciesUsingGET",
+            "operationId": "getPoliciesUsingGET_1",
             "responses": {
                 "200": {
                     "schema": {"$ref": "#/definitions/policy_info_list_v2"},
             "summary": "Returns a policy status",
             "deprecated": false,
             "produces": ["*/*"],
-            "operationId": "getPolicyStatusUsingGET_1",
+            "operationId": "getPolicyStatusUsingGET",
             "responses": {
                 "200": {
                     "schema": {"type": "object"},
             "tags": ["A1 Policy Management Version 2.0 (in progress)"]
         }}
     },
-    "host": "localhost:41617",
+    "host": "localhost:33209",
     "definitions": {
         "error_information": {
             "description": "Problem as defined in https://tools.ietf.org/html/rfc7807",
index 0fee08c..e4d7d8d 100644 (file)
@@ -39,6 +39,7 @@ import lombok.AccessLevel;
 import lombok.Getter;
 
 import org.onap.ccsdk.oran.a1policymanagementservice.clients.A1ClientFactory;
+import org.onap.ccsdk.oran.a1policymanagementservice.clients.AsyncRestClientFactory;
 import org.onap.ccsdk.oran.a1policymanagementservice.configuration.ApplicationConfig;
 import org.onap.ccsdk.oran.a1policymanagementservice.configuration.ApplicationConfig.RicConfigUpdate;
 import org.onap.ccsdk.oran.a1policymanagementservice.configuration.ApplicationConfigParser;
@@ -92,6 +93,7 @@ public class RefreshConfigTask {
     private final Policies policies;
     private final Services services;
     private final PolicyTypes policyTypes;
+    private final AsyncRestClientFactory restClientFactory;
 
     @Autowired
     public RefreshConfigTask(ApplicationConfig appConfig, Rics rics, Policies policies, Services services,
@@ -102,6 +104,7 @@ public class RefreshConfigTask {
         this.services = services;
         this.policyTypes = policyTypes;
         this.a1ClientFactory = a1ClientFactory;
+        this.restClientFactory = new AsyncRestClientFactory(appConfig.getWebClientConfig());
     }
 
     public void start() {
@@ -199,7 +202,7 @@ public class RefreshConfigTask {
     private void removePoliciciesInRic(@Nullable Ric ric) {
         if (ric != null) {
             RicSynchronizationTask synch =
-                    new RicSynchronizationTask(a1ClientFactory, policyTypes, policies, services, appConfig);
+                    new RicSynchronizationTask(a1ClientFactory, policyTypes, policies, services, restClientFactory);
             synch.run(ric);
         }
     }
@@ -234,7 +237,7 @@ public class RefreshConfigTask {
 
     void runRicSynchronization(Ric ric) {
         RicSynchronizationTask synchronizationTask =
-                new RicSynchronizationTask(a1ClientFactory, policyTypes, policies, services, appConfig);
+                new RicSynchronizationTask(a1ClientFactory, policyTypes, policies, services, restClientFactory);
         synchronizationTask.run(ric);
     }
 
index 5ff6d19..cae257c 100644 (file)
@@ -24,6 +24,7 @@ import java.util.Collection;
 
 import org.onap.ccsdk.oran.a1policymanagementservice.clients.A1Client;
 import org.onap.ccsdk.oran.a1policymanagementservice.clients.A1ClientFactory;
+import org.onap.ccsdk.oran.a1policymanagementservice.clients.AsyncRestClientFactory;
 import org.onap.ccsdk.oran.a1policymanagementservice.configuration.ApplicationConfig;
 import org.onap.ccsdk.oran.a1policymanagementservice.exceptions.ServiceException;
 import org.onap.ccsdk.oran.a1policymanagementservice.repository.Lock.LockType;
@@ -59,7 +60,7 @@ public class RicSupervision {
     private final PolicyTypes policyTypes;
     private final A1ClientFactory a1ClientFactory;
     private final Services services;
-    private final ApplicationConfig config;
+    private final AsyncRestClientFactory restClientFactory;
 
     private static class SynchStartedException extends ServiceException {
         private static final long serialVersionUID = 1L;
@@ -91,7 +92,7 @@ public class RicSupervision {
         this.a1ClientFactory = a1ClientFactory;
         this.policyTypes = policyTypes;
         this.services = services;
-        this.config = config;
+        this.restClientFactory = new AsyncRestClientFactory(config.getWebClientConfig());
     }
 
     /**
@@ -210,6 +211,6 @@ public class RicSupervision {
     }
 
     RicSynchronizationTask createSynchronizationTask() {
-        return new RicSynchronizationTask(a1ClientFactory, policyTypes, policies, services, config);
+        return new RicSynchronizationTask(a1ClientFactory, policyTypes, policies, services, restClientFactory);
     }
 }
index df0771c..cf7ca74 100644 (file)
@@ -26,7 +26,6 @@ import org.onap.ccsdk.oran.a1policymanagementservice.clients.A1Client;
 import org.onap.ccsdk.oran.a1policymanagementservice.clients.A1ClientFactory;
 import org.onap.ccsdk.oran.a1policymanagementservice.clients.AsyncRestClient;
 import org.onap.ccsdk.oran.a1policymanagementservice.clients.AsyncRestClientFactory;
-import org.onap.ccsdk.oran.a1policymanagementservice.configuration.ApplicationConfig;
 import org.onap.ccsdk.oran.a1policymanagementservice.repository.ImmutablePolicyType;
 import org.onap.ccsdk.oran.a1policymanagementservice.repository.Lock.LockType;
 import org.onap.ccsdk.oran.a1policymanagementservice.repository.Policies;
@@ -69,12 +68,12 @@ public class RicSynchronizationTask {
     private final AsyncRestClientFactory restClientFactory;
 
     public RicSynchronizationTask(A1ClientFactory a1ClientFactory, PolicyTypes policyTypes, Policies policies,
-            Services services, ApplicationConfig config) {
+            Services services, AsyncRestClientFactory restClientFactory) {
         this.a1ClientFactory = a1ClientFactory;
         this.policyTypes = policyTypes;
         this.policies = policies;
         this.services = services;
-        this.restClientFactory = new AsyncRestClientFactory(config.getWebClientConfig());
+        this.restClientFactory = restClientFactory;
     }
 
     public void run(Ric ric) {
index 90292d3..ca5a619 100644 (file)
@@ -43,6 +43,7 @@ import org.mockito.Mock;
 import org.mockito.junit.jupiter.MockitoExtension;
 import org.onap.ccsdk.oran.a1policymanagementservice.clients.A1Client;
 import org.onap.ccsdk.oran.a1policymanagementservice.clients.A1ClientFactory;
+import org.onap.ccsdk.oran.a1policymanagementservice.configuration.ApplicationConfig;
 import org.onap.ccsdk.oran.a1policymanagementservice.configuration.ImmutableRicConfig;
 import org.onap.ccsdk.oran.a1policymanagementservice.repository.ImmutablePolicy;
 import org.onap.ccsdk.oran.a1policymanagementservice.repository.ImmutablePolicyType;
@@ -137,8 +138,7 @@ class RicSupervisionTest {
         setUpGetPolicyIdentitiesToReturn(new ArrayList<>(Arrays.asList(POLICY_1_ID)));
         setUpGetPolicyTypeIdentitiesToReturn(new ArrayList<>(Arrays.asList(POLICY_TYPE_1_NAME)));
 
-        RicSupervision supervisorUnderTest =
-                spy(new RicSupervision(rics, policies, a1ClientFactory, types, null, null));
+        RicSupervision supervisorUnderTest = spy(createRicSupervision());
 
         supervisorUnderTest.checkAllRics();
 
@@ -152,8 +152,7 @@ class RicSupervisionTest {
         RIC_1.setState(RicState.UNAVAILABLE);
         rics.put(RIC_1);
 
-        RicSupervision supervisorUnderTest =
-                spy(new RicSupervision(rics, policies, a1ClientFactory, types, null, null));
+        RicSupervision supervisorUnderTest = spy(createRicSupervision());
 
         doReturn(synchronizationTaskMock).when(supervisorUnderTest).createSynchronizationTask();
 
@@ -171,8 +170,7 @@ class RicSupervisionTest {
         RIC_1.setState(RicState.SYNCHRONIZING);
         rics.put(RIC_1);
 
-        RicSupervision supervisorUnderTest =
-                spy(new RicSupervision(rics, policies, a1ClientFactory, types, null, null));
+        RicSupervision supervisorUnderTest = spy(createRicSupervision());
 
         supervisorUnderTest.checkAllRics();
 
@@ -189,8 +187,7 @@ class RicSupervisionTest {
 
         setUpGetPolicyIdentitiesToReturn(new Exception("Failed"));
 
-        RicSupervision supervisorUnderTest =
-                spy(new RicSupervision(rics, policies, a1ClientFactory, types, null, null));
+        RicSupervision supervisorUnderTest = spy(createRicSupervision());
         supervisorUnderTest.checkAllRics();
 
         verify(supervisorUnderTest).checkAllRics();
@@ -209,8 +206,7 @@ class RicSupervisionTest {
 
         setUpGetPolicyIdentitiesToReturn(new ArrayList<>(Arrays.asList(POLICY_1_ID)));
 
-        RicSupervision supervisorUnderTest =
-                spy(new RicSupervision(rics, policies, a1ClientFactory, types, null, null));
+        RicSupervision supervisorUnderTest = spy(createRicSupervision());
 
         doReturn(synchronizationTaskMock).when(supervisorUnderTest).createSynchronizationTask();
 
@@ -233,8 +229,7 @@ class RicSupervisionTest {
 
         setUpGetPolicyIdentitiesToReturn(new ArrayList<>(Arrays.asList(POLICY_1_ID, "Another_policy")));
 
-        RicSupervision supervisorUnderTest =
-                spy(new RicSupervision(rics, policies, a1ClientFactory, types, null, null));
+        RicSupervision supervisorUnderTest = spy(createRicSupervision());
 
         doReturn(synchronizationTaskMock).when(supervisorUnderTest).createSynchronizationTask();
 
@@ -256,8 +251,7 @@ class RicSupervisionTest {
         setUpGetPolicyIdentitiesToReturn(Collections.emptyList());
         setUpGetPolicyTypeIdentitiesToReturn(new Exception("Failed"));
 
-        RicSupervision supervisorUnderTest =
-                spy(new RicSupervision(rics, policies, a1ClientFactory, types, null, null));
+        RicSupervision supervisorUnderTest = spy(createRicSupervision());
         supervisorUnderTest.checkAllRics();
 
         verify(supervisorUnderTest).checkAllRics();
@@ -276,8 +270,7 @@ class RicSupervisionTest {
         setUpGetPolicyIdentitiesToReturn(Collections.emptyList());
         setUpGetPolicyTypeIdentitiesToReturn(new ArrayList<>(Arrays.asList(POLICY_TYPE_1_NAME, "another_policy_type")));
 
-        RicSupervision supervisorUnderTest =
-                spy(new RicSupervision(rics, policies, a1ClientFactory, types, null, null));
+        RicSupervision supervisorUnderTest = spy(createRicSupervision());
 
         doReturn(synchronizationTaskMock).when(supervisorUnderTest).createSynchronizationTask();
 
@@ -305,8 +298,7 @@ class RicSupervisionTest {
         setUpGetPolicyIdentitiesToReturn(Collections.emptyList());
         setUpGetPolicyTypeIdentitiesToReturn(new ArrayList<>(Arrays.asList(POLICY_TYPE_1_NAME, "another_policy_type")));
 
-        RicSupervision supervisorUnderTest =
-                spy(new RicSupervision(rics, policies, a1ClientFactory, types, null, null));
+        RicSupervision supervisorUnderTest = spy(createRicSupervision());
 
         doReturn(synchronizationTaskMock).when(supervisorUnderTest).createSynchronizationTask();
 
@@ -335,4 +327,9 @@ class RicSupervisionTest {
             when(a1ClientMock.getPolicyTypeIdentities()).thenReturn(Mono.error((Exception) returnValue));
         }
     }
+
+    private RicSupervision createRicSupervision() {
+        ApplicationConfig config = new ApplicationConfig();
+        return new RicSupervision(rics, policies, a1ClientFactory, types, null, config);
+    }
 }
index 0a7fc85..0ac8fdb 100644 (file)
@@ -49,6 +49,7 @@ import org.mockito.junit.jupiter.MockitoExtension;
 import org.onap.ccsdk.oran.a1policymanagementservice.clients.A1Client;
 import org.onap.ccsdk.oran.a1policymanagementservice.clients.A1ClientFactory;
 import org.onap.ccsdk.oran.a1policymanagementservice.clients.AsyncRestClient;
+import org.onap.ccsdk.oran.a1policymanagementservice.clients.AsyncRestClientFactory;
 import org.onap.ccsdk.oran.a1policymanagementservice.configuration.ApplicationConfig;
 import org.onap.ccsdk.oran.a1policymanagementservice.configuration.ImmutableRicConfig;
 import org.onap.ccsdk.oran.a1policymanagementservice.repository.ImmutablePolicy;
@@ -121,7 +122,8 @@ class RicSynchronizationTaskTest {
 
     private RicSynchronizationTask createTask() {
         ApplicationConfig config = new ApplicationConfig();
-        return new RicSynchronizationTask(a1ClientFactoryMock, policyTypes, policies, services, config);
+        AsyncRestClientFactory restClientFactory = new AsyncRestClientFactory(config.getWebClientConfig());
+        return new RicSynchronizationTask(a1ClientFactoryMock, policyTypes, policies, services, restClientFactory);
     };
 
     @Test