package org.onap.policy.api.main.parameters;
+import java.util.ArrayList;
+import java.util.List;
+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.
*
*/
public class ApiParameterGroup implements ParameterGroup {
+
private String name;
private RestServerParameters restServerParameters;
+ private PolicyModelsProviderParameters databaseProviderParameters;
+ private List<String> preloadPolicyTypes;
/**
* 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
*/
- public ApiParameterGroup(final String name, final RestServerParameters restServerParameters) {
+ public ApiParameterGroup(final String name, final RestServerParameters restServerParameters,
+ final PolicyModelsProviderParameters databaseProviderParameters, final List<String> preloadPolicyTypes) {
this.name = name;
this.restServerParameters = restServerParameters;
+ this.databaseProviderParameters = databaseProviderParameters;
+ this.preloadPolicyTypes = preloadPolicyTypes;
}
/**
*/
@Override
public void setName(String name) {
- this.name=name;
+ this.name = name;
}
/**
return restServerParameters;
}
+ /**
+ * Return the databaseProviderParameters of this parameter group instance.
+ *
+ * @return the databaseProviderParameters
+ */
+ public PolicyModelsProviderParameters getDatabaseProviderParameters() {
+ return databaseProviderParameters;
+ }
+
+ /**
+ * Return the preloadPolicyTypes of this parameter group instance.
+ *
+ * @return the preloadPolicyTypes
+ */
+ public List<String> getPreloadPolicyTypes() {
+ return preloadPolicyTypes;
+ }
+
/**
* Validate the parameter group.
*
} 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;
}
}