diff options
author | Jim Hahn <jrh3@att.com> | 2021-07-19 16:21:25 -0400 |
---|---|---|
committer | Jim Hahn <jrh3@att.com> | 2021-07-20 09:37:05 -0400 |
commit | b59b14d47b590ff94b7c98348c1617990d03c86f (patch) | |
tree | 2bccdb90eb3ffa96a8840c1666728ac60b007271 /plugins | |
parent | 9eba753aed9d5575fa24ab8806e4d614668c75cb (diff) |
Use new RestClientParameters class in distribution
Replaced LifecycleApiForwarderParameters with RestClientParameters.
Also modified the code to get the HttpClient objects once.
This requires changes to property files in CSITs and OOM:
- rename "hostName" to "hostname"
- rename "isHttps" to "useHttps" and move it inside the api & pap
structures
Issue-ID: POLICY-3456
Change-Id: I654c32c9b6628263a68d821e11c5a316e8b6e2cc
Signed-off-by: Jim Hahn <jrh3@att.com>
Diffstat (limited to 'plugins')
6 files changed, 34 insertions, 73 deletions
diff --git a/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/lifecycle/api/LifecycleApiForwarderParameters.java b/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/lifecycle/api/LifecycleApiForwarderParameters.java index c266a1ba..060be1ad 100644 --- a/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/lifecycle/api/LifecycleApiForwarderParameters.java +++ b/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/lifecycle/api/LifecycleApiForwarderParameters.java @@ -22,6 +22,7 @@ package org.onap.policy.distribution.forwarding.lifecycle.api; import lombok.Getter; +import org.onap.policy.common.endpoints.parameters.RestClientParameters; import org.onap.policy.common.parameters.annotations.NotBlank; import org.onap.policy.common.parameters.annotations.NotNull; import org.onap.policy.common.parameters.annotations.Valid; @@ -38,10 +39,8 @@ import org.onap.policy.distribution.main.parameters.PolicyForwarderConfiguration public class LifecycleApiForwarderParameters extends PolicyForwarderConfigurationParameterGroup { public static final String POLICY_FORWARDER_PLUGIN_CLASS = LifecycleApiPolicyForwarder.class.getName(); - private @Valid LifecycleApiParameters apiParameters; - private @Valid LifecycleApiParameters papParameters; - private boolean isHttps; - private boolean allowSelfSignedCerts; + private @Valid RestClientParameters apiParameters; + private @Valid RestClientParameters papParameters; private boolean deployPolicies = true; public LifecycleApiForwarderParameters() { diff --git a/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/lifecycle/api/LifecycleApiParameters.java b/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/lifecycle/api/LifecycleApiParameters.java deleted file mode 100644 index 46a7b082..00000000 --- a/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/lifecycle/api/LifecycleApiParameters.java +++ /dev/null @@ -1,48 +0,0 @@ -/*- - * ============LICENSE_START======================================================= - * Copyright (C) 2019 Nordix Foundation. - * ================================================================================ - * 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. - * - * SPDX-License-Identifier: Apache-2.0 - * ============LICENSE_END========================================================= - */ - -package org.onap.policy.distribution.forwarding.lifecycle.api; - -import lombok.Getter; -import org.onap.policy.common.parameters.annotations.Min; -import org.onap.policy.common.parameters.annotations.NotBlank; -import org.onap.policy.common.parameters.annotations.NotNull; -import org.onap.policy.distribution.main.parameters.PolicyForwarderConfigurationParameterGroup; - -/** - * Holds the parameters for the {@link LifecycleApiPolicyForwarder}. - * - * @author Ram Krishna Verma (ram.krishna.verma@est.tech) - */ -@Getter -@NotNull -@NotBlank -public class LifecycleApiParameters extends PolicyForwarderConfigurationParameterGroup { - - private String hostName; - @Min(value = 1) - private int port; - private String userName; - private String password; - - public LifecycleApiParameters() { - super(LifecycleApiParameters.class.getSimpleName()); - } -} diff --git a/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/lifecycle/api/LifecycleApiPolicyForwarder.java b/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/lifecycle/api/LifecycleApiPolicyForwarder.java index b6f41fbf..2983c5ef 100644 --- a/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/lifecycle/api/LifecycleApiPolicyForwarder.java +++ b/plugins/forwarding-plugins/src/main/java/org/onap/policy/distribution/forwarding/lifecycle/api/LifecycleApiPolicyForwarder.java @@ -31,7 +31,6 @@ import javax.ws.rs.client.Entity; import javax.ws.rs.core.HttpHeaders; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; -import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams; import org.onap.policy.common.endpoints.http.client.HttpClient; import org.onap.policy.common.endpoints.http.client.HttpClientConfigException; import org.onap.policy.common.endpoints.http.client.HttpClientFactoryInstance; @@ -57,14 +56,23 @@ public class LifecycleApiPolicyForwarder implements PolicyForwarder { private static final String DEPLOY_POLICY_URI = "/policy/pap/v1/pdps/policies"; private static final String CREATE_POLICY_TYPE_URI = "/policy/api/v1/policytypes/"; private static final Logger LOGGER = LoggerFactory.getLogger(LifecycleApiPolicyForwarder.class); + private LifecycleApiForwarderParameters forwarderParameters; + private HttpClient apiClient; + private HttpClient papClient; /** * {@inheritDoc}. */ @Override - public void configure(final String parameterGroupName) { + public void configure(final String parameterGroupName) throws HttpClientConfigException { forwarderParameters = ParameterService.get(parameterGroupName); + + forwarderParameters.getApiParameters().setClientName("policy-api"); + forwarderParameters.getPapParameters().setClientName("policy-pap"); + + apiClient = HttpClientFactoryInstance.getClientFactory().build(forwarderParameters.getApiParameters()); + papClient = HttpClientFactoryInstance.getClientFactory().build(forwarderParameters.getPapParameters()); } /** @@ -156,14 +164,7 @@ public class LifecycleApiPolicyForwarder implements PolicyForwarder { } private HttpClient getHttpClient(final boolean wantApi) throws HttpClientConfigException { - final boolean https = forwarderParameters.isHttps(); - final LifecycleApiParameters parameters = - (wantApi ? forwarderParameters.getApiParameters() : forwarderParameters.getPapParameters()); - final BusTopicParams params = BusTopicParams.builder().clientName("Policy Distribution").useHttps(https) - .hostname(parameters.getHostName()).port(parameters.getPort()).userName(parameters.getUserName()) - .password(parameters.getPassword()).allowSelfSignedCerts(forwarderParameters.isAllowSelfSignedCerts()) - .build(); - return HttpClientFactoryInstance.getClientFactory().build(params); + return (wantApi ? apiClient : papClient); } } diff --git a/plugins/forwarding-plugins/src/test/java/org/onap/policy/distribution/forwarding/lifecycle/api/LifecycleApiForwarderParametersTest.java b/plugins/forwarding-plugins/src/test/java/org/onap/policy/distribution/forwarding/lifecycle/api/LifecycleApiForwarderParametersTest.java index 0f010bfc..50520d84 100644 --- a/plugins/forwarding-plugins/src/test/java/org/onap/policy/distribution/forwarding/lifecycle/api/LifecycleApiForwarderParametersTest.java +++ b/plugins/forwarding-plugins/src/test/java/org/onap/policy/distribution/forwarding/lifecycle/api/LifecycleApiForwarderParametersTest.java @@ -1,6 +1,7 @@ /*- * ============LICENSE_START======================================================= * Copyright (C) 2019 Nordix Foundation. + * Modifications Copyright (C) 2021 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. @@ -20,6 +21,7 @@ package org.onap.policy.distribution.forwarding.lifecycle.api; +import static org.assertj.core.api.Assertions.assertThat; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; @@ -52,19 +54,24 @@ public class LifecycleApiForwarderParametersTest { "src/test/resources/parameters/LifecycleApiPolicyForwarderParameters.json", LifecycleApiForwarderParameters.class); + configurationParameters.getApiParameters().setClientName("api"); + configurationParameters.getPapParameters().setClientName("pap"); + assertEquals(LifecycleApiForwarderParameters.class.getSimpleName(), configurationParameters.getName()); - assertFalse(configurationParameters.isHttps()); assertTrue(configurationParameters.isDeployPolicies()); - assertEquals(POLICY_API_HOST_NAME, configurationParameters.getApiParameters().getHostName()); + assertEquals(POLICY_API_HOST_NAME, configurationParameters.getApiParameters().getHostname()); assertEquals(POLICY_API_PORT, configurationParameters.getApiParameters().getPort()); + assertFalse(configurationParameters.getApiParameters().isUseHttps()); assertEquals(POLICY_API_USER, configurationParameters.getApiParameters().getUserName()); assertEquals(POLICY_API_PASSWORD, configurationParameters.getApiParameters().getPassword()); - assertEquals(POLICY_PAP_HOST_NAME, configurationParameters.getPapParameters().getHostName()); + assertEquals(POLICY_PAP_HOST_NAME, configurationParameters.getPapParameters().getHostname()); assertEquals(POLICY_PAP_PORT, configurationParameters.getPapParameters().getPort()); + assertFalse(configurationParameters.getPapParameters().isUseHttps()); assertEquals(POLICY_PAP_USER, configurationParameters.getPapParameters().getUserName()); assertEquals(POLICY_PAP_PASSWORD, configurationParameters.getPapParameters().getPassword()); + assertThat(configurationParameters.validate().getResult()).isNull(); assertEquals(ValidationStatus.CLEAN, configurationParameters.validate().getStatus()); } diff --git a/plugins/forwarding-plugins/src/test/resources/parameters/LifecycleApiPolicyForwarderParameters.json b/plugins/forwarding-plugins/src/test/resources/parameters/LifecycleApiPolicyForwarderParameters.json index 0791e1ae..5bb9b65b 100644 --- a/plugins/forwarding-plugins/src/test/resources/parameters/LifecycleApiPolicyForwarderParameters.json +++ b/plugins/forwarding-plugins/src/test/resources/parameters/LifecycleApiPolicyForwarderParameters.json @@ -1,16 +1,17 @@ { "apiParameters": { - "hostName": "0.0.0.0", + "hostname": "0.0.0.0", "port": 6969, + "useHttps": false, "userName": "healthcheck", "password": "zb!XztG34" }, "papParameters": { - "hostName": "0.0.0.0", + "hostname": "0.0.0.0", "port": 6969, + "useHttps": false, "userName": "healthcheck", "password": "zb!XztG34" }, - "isHttps": false, "deployPolicies": true -}
\ No newline at end of file +} diff --git a/plugins/forwarding-plugins/src/test/resources/parameters/LifecycleApiPolicyForwarderParametersInvalid.json b/plugins/forwarding-plugins/src/test/resources/parameters/LifecycleApiPolicyForwarderParametersInvalid.json index ca0558a6..93cb0dd3 100644 --- a/plugins/forwarding-plugins/src/test/resources/parameters/LifecycleApiPolicyForwarderParametersInvalid.json +++ b/plugins/forwarding-plugins/src/test/resources/parameters/LifecycleApiPolicyForwarderParametersInvalid.json @@ -1,16 +1,17 @@ { "apiParameters": { - "hostName": "", + "hostname": "", "port": -1, + "useHttps": false, "userName": "healthcheck", "password": "zb!XztG34" }, "papParameters": { - "hostName": "", + "hostname": "", "port": -2, + "useHttps": false, "userName": "healthcheck", "password": "zb!XztG34" }, - "isHttps": false, "deployPolicies": true -}
\ No newline at end of file +} |