aboutsummaryrefslogtreecommitdiffstats
path: root/main/src
diff options
context:
space:
mode:
authorramverma <ram.krishna.verma@est.tech>2019-08-02 08:57:40 +0000
committerramverma <ram.krishna.verma@est.tech>2019-08-02 08:57:40 +0000
commit039cd619bc102865d664bbf6b003cd33b243eaf1 (patch)
tree6880401fdb251cf7c0ddf266117dad5dc15d8099 /main/src
parent75191319d88b94e4fc3b0151f8009419165e1c59 (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')
-rw-r--r--main/src/main/java/org/onap/policy/distribution/main/parameters/PolicyForwarderConfigurationParameterGroup.java12
-rw-r--r--main/src/test/java/org/onap/policy/distribution/main/parameters/CommonTestData.java29
-rw-r--r--main/src/test/java/org/onap/policy/distribution/main/testclasses/DummyPolicyForwarderParameterGroup.java111
-rw-r--r--main/src/test/resources/parameters/DummyPolicyForwarderParameters.json8
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