package org.onap.policy.api.main.parameters;
+import java.util.List;
+import lombok.Getter;
+import lombok.Setter;
+import org.onap.policy.common.endpoints.parameters.RestServerParameters;
import org.onap.policy.common.parameters.GroupValidationResult;
import org.onap.policy.common.parameters.ParameterGroup;
import org.onap.policy.common.parameters.ValidationStatus;
import org.onap.policy.common.utils.validation.ParameterValidationUtils;
+import org.onap.policy.models.provider.PolicyModelsProviderParameters;
/**
* Class to hold all parameters needed for Api component.
*
*/
+@Getter
public class ApiParameterGroup implements ParameterGroup {
+
+ @Setter
private String name;
- private RestServerParameters restServerParameters;
+ private final RestServerParameters restServerParameters;
+ private final PolicyModelsProviderParameters databaseProviderParameters;
+ private final List<String> preloadPolicyTypes;
+ private final List<String> preloadPolicies;
/**
* Create the api parameter group.
*
* @param name the parameter group name
+ * @param restServerParameters the parameters for instantiating API rest server
+ * @param databaseProviderParameters the parameters for instantiating database provider
+ * @param preloadPolicyTypes the list of preloaded policy types
+ * @param preloadPolicies the list of preloaded policies
*/
- public ApiParameterGroup(final String name, final RestServerParameters restServerParameters) {
+ public ApiParameterGroup(final String name, final RestServerParameters restServerParameters,
+ final PolicyModelsProviderParameters databaseProviderParameters, final List<String> preloadPolicyTypes,
+ final List<String> preloadPolicies) {
this.name = name;
this.restServerParameters = restServerParameters;
- }
-
- /**
- * Return the name of this parameter group instance.
- *
- * @return name the parameter group name
- */
- @Override
- public String getName() {
- return name;
- }
-
- /**
- * Set the name of this parameter group instance.
- *
- * @param name the parameter group name
- */
- @Override
- public void setName(String name) {
- this.name = name;
- }
-
- /**
- * Return the restServerParameters of this parameter group instance.
- *
- * @return the restServerParameters
- */
- public RestServerParameters getRestServerParameters() {
- return restServerParameters;
+ this.databaseProviderParameters = databaseProviderParameters;
+ this.preloadPolicyTypes = preloadPolicyTypes;
+ this.preloadPolicies = preloadPolicies;
}
/**
} else {
validationResult.setResult("restServerParameters", restServerParameters.validate());
}
+ if (databaseProviderParameters == null) {
+ validationResult.setResult("databaseProviderParameters", ValidationStatus.INVALID,
+ "must have databaseProviderParameters to configure api rest server");
+ } else {
+ validationResult.setResult("databaseProviderParameters", databaseProviderParameters.validate());
+ }
return validationResult;
}
}