aboutsummaryrefslogtreecommitdiffstats
path: root/main/src/main/java/org/onap/policy/pap/main/parameters
diff options
context:
space:
mode:
Diffstat (limited to 'main/src/main/java/org/onap/policy/pap/main/parameters')
-rw-r--r--main/src/main/java/org/onap/policy/pap/main/parameters/PapParameterGroup.java18
-rw-r--r--main/src/main/java/org/onap/policy/pap/main/parameters/PapParameterHandler.java86
-rw-r--r--main/src/main/java/org/onap/policy/pap/main/parameters/PdpParameters.java3
-rw-r--r--main/src/main/java/org/onap/policy/pap/main/parameters/PdpRequestParameters.java3
4 files changed, 21 insertions, 89 deletions
diff --git a/main/src/main/java/org/onap/policy/pap/main/parameters/PapParameterGroup.java b/main/src/main/java/org/onap/policy/pap/main/parameters/PapParameterGroup.java
index f89e156c..4f08069f 100644
--- a/main/src/main/java/org/onap/policy/pap/main/parameters/PapParameterGroup.java
+++ b/main/src/main/java/org/onap/policy/pap/main/parameters/PapParameterGroup.java
@@ -24,14 +24,17 @@ package org.onap.policy.pap.main.parameters;
import java.util.List;
import lombok.Getter;
+import lombok.Setter;
import org.onap.policy.common.endpoints.parameters.RestClientParameters;
-import org.onap.policy.common.endpoints.parameters.RestServerParameters;
import org.onap.policy.common.endpoints.parameters.TopicParameterGroup;
import org.onap.policy.common.parameters.ParameterGroupImpl;
import org.onap.policy.common.parameters.annotations.NotBlank;
import org.onap.policy.common.parameters.annotations.NotNull;
import org.onap.policy.common.parameters.annotations.Valid;
+import org.onap.policy.common.parameters.validation.ParameterGroupConstraint;
import org.onap.policy.models.provider.PolicyModelsProviderParameters;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.context.annotation.Configuration;
/**
* Class to hold all parameters needed for pap component.
@@ -41,19 +44,28 @@ import org.onap.policy.models.provider.PolicyModelsProviderParameters;
@NotNull
@NotBlank
@Getter
+@Setter
+@Configuration
+@ConfigurationProperties(prefix = "pap")
public class PapParameterGroup extends ParameterGroupImpl {
@Valid
- private RestServerParameters restServerParameters;
- @Valid
+ @ParameterGroupConstraint
private PdpParameters pdpParameters;
@Valid
+ @ParameterGroupConstraint
private PolicyModelsProviderParameters databaseProviderParameters;
private boolean savePdpStatisticsInDb;
@Valid
+ @ParameterGroupConstraint
private TopicParameterGroup topicParameterGroup;
// API, Distribution Health Check REST client parameters.
+ @ParameterGroupConstraint
private List<@NotNull @Valid RestClientParameters> healthCheckRestClientParameters;
+ public PapParameterGroup() {
+ super();
+ }
+
/**
* Create the pap parameter group.
*
diff --git a/main/src/main/java/org/onap/policy/pap/main/parameters/PapParameterHandler.java b/main/src/main/java/org/onap/policy/pap/main/parameters/PapParameterHandler.java
deleted file mode 100644
index 2f53b9bc..00000000
--- a/main/src/main/java/org/onap/policy/pap/main/parameters/PapParameterHandler.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * Copyright (C) 2019-2020 Nordix Foundation.
- * Modifications Copyright (C) 2019, 2021 AT&T Intellectual Property.
- * ================================================================================
- * 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.pap.main.parameters;
-
-import java.io.File;
-import org.onap.policy.common.parameters.ValidationResult;
-import org.onap.policy.common.utils.coder.Coder;
-import org.onap.policy.common.utils.coder.CoderException;
-import org.onap.policy.common.utils.coder.StandardCoder;
-import org.onap.policy.pap.main.PolicyPapException;
-import org.onap.policy.pap.main.startstop.PapCommandLineArguments;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * This class handles reading, parsing and validating of policy pap parameters from JSON files.
- *
- * @author Ram Krishna Verma (ram.krishna.verma@est.tech)
- */
-public class PapParameterHandler {
-
- private static final Logger LOGGER = LoggerFactory.getLogger(PapParameterHandler.class);
-
- private static final Coder CODER = new StandardCoder();
-
- /**
- * Read the parameters from the parameter file.
- *
- * @param arguments the arguments passed to policy pap
- * @return the parameters read from the configuration file
- * @throws PolicyPapException on parameter exceptions
- */
- public PapParameterGroup getParameters(final PapCommandLineArguments arguments) throws PolicyPapException {
- PapParameterGroup papParameterGroup = null;
-
- // Read the parameters
- try {
- // Read the parameters from JSON
- var file = new File(arguments.getFullConfigurationFilePath());
- papParameterGroup = CODER.decode(file, PapParameterGroup.class);
- } catch (final CoderException e) {
- final String errorMessage = "error reading parameters from \"" + arguments.getConfigurationFilePath()
- + "\"\n" + "(" + e.getClass().getSimpleName() + ")";
- throw new PolicyPapException(errorMessage, e);
- }
-
- // The JSON processing returns null if there is an empty file
- if (papParameterGroup == null) {
- final String errorMessage = "no parameters found in \"" + arguments.getConfigurationFilePath() + "\"";
- LOGGER.error(errorMessage);
- throw new PolicyPapException(errorMessage);
- }
-
- // validate the parameters
- final ValidationResult validationResult = papParameterGroup.validate();
- if (!validationResult.isValid()) {
- String returnMessage =
- "validation error(s) on parameters from \"" + arguments.getConfigurationFilePath() + "\"\n";
- returnMessage += validationResult.getResult();
-
- LOGGER.error(returnMessage);
- throw new PolicyPapException(returnMessage);
- }
-
- return papParameterGroup;
- }
-}
diff --git a/main/src/main/java/org/onap/policy/pap/main/parameters/PdpParameters.java b/main/src/main/java/org/onap/policy/pap/main/parameters/PdpParameters.java
index 2f89eedd..b62acb68 100644
--- a/main/src/main/java/org/onap/policy/pap/main/parameters/PdpParameters.java
+++ b/main/src/main/java/org/onap/policy/pap/main/parameters/PdpParameters.java
@@ -3,6 +3,7 @@
* ONAP PAP
* ================================================================================
* Copyright (C) 2019-2021 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2021 Bell Canada. 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.
@@ -22,6 +23,7 @@ package org.onap.policy.pap.main.parameters;
import java.util.concurrent.TimeUnit;
import lombok.Getter;
+import lombok.Setter;
import org.onap.policy.common.parameters.ParameterGroupImpl;
import org.onap.policy.common.parameters.annotations.Min;
import org.onap.policy.common.parameters.annotations.NotBlank;
@@ -34,6 +36,7 @@ import org.onap.policy.common.parameters.annotations.Valid;
@NotNull
@NotBlank
@Getter
+@Setter
public class PdpParameters extends ParameterGroupImpl {
/**
diff --git a/main/src/main/java/org/onap/policy/pap/main/parameters/PdpRequestParameters.java b/main/src/main/java/org/onap/policy/pap/main/parameters/PdpRequestParameters.java
index 2df20fb3..44563a89 100644
--- a/main/src/main/java/org/onap/policy/pap/main/parameters/PdpRequestParameters.java
+++ b/main/src/main/java/org/onap/policy/pap/main/parameters/PdpRequestParameters.java
@@ -3,6 +3,7 @@
* ONAP PAP
* ================================================================================
* Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ * Modifications Copyright (C) 2021 Bell Canada. 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,6 +22,7 @@
package org.onap.policy.pap.main.parameters;
import lombok.Getter;
+import lombok.Setter;
import org.onap.policy.common.parameters.ParameterGroupImpl;
import org.onap.policy.common.parameters.annotations.Min;
import org.onap.policy.common.parameters.annotations.NotBlank;
@@ -32,6 +34,7 @@ import org.onap.policy.common.parameters.annotations.NotNull;
@NotNull
@NotBlank
@Getter
+@Setter
public class PdpRequestParameters extends ParameterGroupImpl {
// NOTE: these fields must not be "private" or the validator will skip them