diff options
author | ramverma <ram.krishna.verma@est.tech> | 2019-08-02 08:57:40 +0000 |
---|---|---|
committer | ramverma <ram.krishna.verma@est.tech> | 2019-08-02 08:57:40 +0000 |
commit | 039cd619bc102865d664bbf6b003cd33b243eaf1 (patch) | |
tree | 6880401fdb251cf7c0ddf266117dad5dc15d8099 /main/src | |
parent | 75191319d88b94e4fc3b0151f8009419165e1c59 (diff) |
Change parameters to extend ParameterGroupImpl
1. Changing all the forwarder parameter groups to extend the
ParameterGroupImpl instead of implementing the ParameterGroup interface.
2. Introducing lombok in distribution.
3. Fixing all the affected test cases.
4. Creating parameter group to hold parameters needed for forwarding
policies to the new lifecycle API's.
Issue-ID: POLICY-1890
Change-Id: I0c8b72f355a610fa5d46daaacc9ef7f06b7cec09
Signed-off-by: ramverma <ram.krishna.verma@est.tech>
Diffstat (limited to 'main/src')
4 files changed, 45 insertions, 115 deletions
diff --git a/main/src/main/java/org/onap/policy/distribution/main/parameters/PolicyForwarderConfigurationParameterGroup.java b/main/src/main/java/org/onap/policy/distribution/main/parameters/PolicyForwarderConfigurationParameterGroup.java index d071afb4..f8ba764b 100644 --- a/main/src/main/java/org/onap/policy/distribution/main/parameters/PolicyForwarderConfigurationParameterGroup.java +++ b/main/src/main/java/org/onap/policy/distribution/main/parameters/PolicyForwarderConfigurationParameterGroup.java @@ -1,6 +1,7 @@ /*- * ============LICENSE_START======================================================= * Copyright (C) 2018 Ericsson. All rights reserved. + * Modifications 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. @@ -21,21 +22,24 @@ package org.onap.policy.distribution.main.parameters; import org.onap.policy.common.parameters.ParameterGroup; +import org.onap.policy.common.parameters.ParameterGroupImpl; import org.onap.policy.distribution.forwarding.PolicyForwarder; /** - * Base class of all {@link ParameterGroup} classes for configuration parameters for - * {@link PolicyForwarder} classes. + * Base class of all {@link ParameterGroup} classes for configuration parameters for {@link PolicyForwarder} classes. */ -public abstract class PolicyForwarderConfigurationParameterGroup implements ParameterGroup { +public abstract class PolicyForwarderConfigurationParameterGroup extends ParameterGroupImpl { - private String name; + public PolicyForwarderConfigurationParameterGroup(final String name) { + super(name); + } @Override public String getName() { return name; } + @Override public void setName(final String name) { this.name = name; } diff --git a/main/src/test/java/org/onap/policy/distribution/main/parameters/CommonTestData.java b/main/src/test/java/org/onap/policy/distribution/main/parameters/CommonTestData.java index 19beadb6..1e53ed24 100644 --- a/main/src/test/java/org/onap/policy/distribution/main/parameters/CommonTestData.java +++ b/main/src/test/java/org/onap/policy/distribution/main/parameters/CommonTestData.java @@ -2,6 +2,7 @@ * ============LICENSE_START======================================================= * Copyright (C) 2018 Ericsson. All rights reserved. * Modifications Copyright (C) 2019 AT&T Intellectual Property. All rights reserved. + * Modifications 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. @@ -22,13 +23,11 @@ package org.onap.policy.distribution.main.parameters; import java.io.File; -import java.io.IOException; -import java.nio.charset.StandardCharsets; -import java.nio.file.Files; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; + import org.onap.policy.common.endpoints.parameters.RestServerParameters; import org.onap.policy.common.utils.coder.Coder; import org.onap.policy.common.utils.coder.CoderException; @@ -36,7 +35,6 @@ import org.onap.policy.common.utils.coder.StandardCoder; import org.onap.policy.distribution.forwarding.parameters.PolicyForwarderParameters; import org.onap.policy.distribution.main.testclasses.DummyPolicyDecoderParameterGroup; import org.onap.policy.distribution.main.testclasses.DummyPolicyForwarderParameterGroup; -import org.onap.policy.distribution.main.testclasses.DummyPolicyForwarderParameterGroup.DummyPolicyForwarderParameterGroupBuilder; import org.onap.policy.distribution.main.testclasses.DummyReceptionHandlerParameterGroup; import org.onap.policy.distribution.main.testclasses.DummyReceptionHandlerParameterGroup.DummyReceptionHandlerParameterGroupBuilder; import org.onap.policy.distribution.reception.parameters.PluginHandlerParameters; @@ -85,13 +83,12 @@ public class CommonTestData { * @return the restServerParameters object */ public RestServerParameters getRestServerParameters(final boolean isEmpty) { - String fileName = "src/test/resources/parameters/" - + (isEmpty ? "RestServerParametersEmpty" : "RestServerParameters") + ".json"; + final String fileName = "src/test/resources/parameters/" + + (isEmpty ? "RestServerParametersEmpty" : "RestServerParameters") + ".json"; try { - String text = new String(Files.readAllBytes(new File(fileName).toPath()), StandardCharsets.UTF_8); - return coder.decode(text, RestServerParameters.class); - } catch (CoderException | IOException e) { - throw new RuntimeException("cannot read/decode " + fileName, e); + return coder.decode(new File(fileName), RestServerParameters.class); + } catch (final CoderException exp) { + throw new RuntimeException("cannot read/decode " + fileName, exp); } } @@ -198,11 +195,13 @@ public class CommonTestData { final Map<String, PolicyForwarderConfigurationParameterGroup> policyForwarderConfigurationParameters = new HashMap<String, PolicyForwarderConfigurationParameterGroup>(); if (!isEmpty) { - final DummyPolicyForwarderParameterGroup dummyPolicyForwarderParameterGroup = - new DummyPolicyForwarderParameterGroupBuilder().setUseHttps(true).setHostname(FORWARDER_HOST) - .setPort(1234).setUserName("myUser").setPassword("myPassword").setIsManaged(true).build(); - policyForwarderConfigurationParameters.put(FORWARDER_CONFIGURATION_PARAMETERS, - dummyPolicyForwarderParameterGroup); + final String fileName = "src/test/resources/parameters/DummyPolicyForwarderParameters.json"; + try { + policyForwarderConfigurationParameters.put(FORWARDER_CONFIGURATION_PARAMETERS, + coder.decode(new File(fileName), DummyPolicyForwarderParameterGroup.class)); + } catch (final CoderException exp) { + throw new RuntimeException("cannot read/decode " + fileName, exp); + } } return policyForwarderConfigurationParameters; } diff --git a/main/src/test/java/org/onap/policy/distribution/main/testclasses/DummyPolicyForwarderParameterGroup.java b/main/src/test/java/org/onap/policy/distribution/main/testclasses/DummyPolicyForwarderParameterGroup.java index 66217d18..5c7dfcf0 100644 --- a/main/src/test/java/org/onap/policy/distribution/main/testclasses/DummyPolicyForwarderParameterGroup.java +++ b/main/src/test/java/org/onap/policy/distribution/main/testclasses/DummyPolicyForwarderParameterGroup.java @@ -1,131 +1,50 @@ /*- * ============LICENSE_START======================================================= * Copyright (C) 2018 Ericsson. All rights reserved. + * Modifications 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.main.testclasses; -import org.onap.policy.common.parameters.GroupValidationResult; +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; /** * Dummy policy forwarder parameter group. */ +@Getter +@NotNull +@NotBlank public class DummyPolicyForwarderParameterGroup extends PolicyForwarderConfigurationParameterGroup { private boolean useHttps; private String hostname; + @Min(value = 1) private int port; private String userName; private String password; private boolean isManaged; - public boolean isUseHttps() { - return useHttps; - } - - public String getHostname() { - return hostname; - } - - public int getPort() { - return port; - } - - public String getUserName() { - return userName; + public DummyPolicyForwarderParameterGroup() { + super(DummyPolicyForwarderParameterGroup.class.getSimpleName()); } - - public String getPassword() { - return password; - } - - public boolean isManaged() { - return isManaged; - } - - /** - * Builder for DummyPolicyForwarderParameterGroup. - */ - public static class DummyPolicyForwarderParameterGroupBuilder { - private boolean useHttps; - private String hostname; - private int port; - private String userName; - private String password; - private boolean isManaged; - - public DummyPolicyForwarderParameterGroupBuilder setUseHttps(final boolean useHttps) { - this.useHttps = useHttps; - return this; - } - - public DummyPolicyForwarderParameterGroupBuilder setHostname(final String hostname) { - this.hostname = hostname; - return this; - } - - public DummyPolicyForwarderParameterGroupBuilder setPort(final int port) { - this.port = port; - return this; - } - - public DummyPolicyForwarderParameterGroupBuilder setUserName(final String userName) { - this.userName = userName; - return this; - } - - public DummyPolicyForwarderParameterGroupBuilder setPassword(final String password) { - this.password = password; - return this; - } - - public DummyPolicyForwarderParameterGroupBuilder setIsManaged(final boolean isManaged) { - this.isManaged = isManaged; - return this; - } - - /** - * Creates a new DummyPolicyForwarderParameterGroup instance. - */ - public DummyPolicyForwarderParameterGroup build() { - return new DummyPolicyForwarderParameterGroup(this); - } - } - - /** - * Construct an instance. - * - * @param builder the builder create the instance from - */ - private DummyPolicyForwarderParameterGroup(final DummyPolicyForwarderParameterGroupBuilder builder) { - this.useHttps = builder.useHttps; - this.hostname = builder.hostname; - this.port = builder.port; - this.userName = builder.userName; - this.password = builder.password; - this.isManaged = builder.isManaged; - } - - @Override - public GroupValidationResult validate() { - final GroupValidationResult validationResult = new GroupValidationResult(this); - return validationResult; - } - } diff --git a/main/src/test/resources/parameters/DummyPolicyForwarderParameters.json b/main/src/test/resources/parameters/DummyPolicyForwarderParameters.json new file mode 100644 index 00000000..60b0d4af --- /dev/null +++ b/main/src/test/resources/parameters/DummyPolicyForwarderParameters.json @@ -0,0 +1,8 @@ +{ + "useHttps": true, + "hostname": "192.168.99.100", + "port": 1234, + "userName": "myUser", + "password": "myPassword", + "isManaged": true +}
\ No newline at end of file |