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.distribution.reception.parameters.ReceptionHandlerConfigurationParameterGroup;
+import org.onap.policy.distribution.reception.parameters.ReceptionHandlerParameters;
/**
* Class to hold all parameters needed for Distribution component.
// @formatter:off
private String name;
private RestServerParameters restServerParameters;
+ private Map<String, ReceptionHandlerParameters> receptionHandlerParameters;
+ private Map<String, ReceptionHandlerConfigurationParameterGroup> receptionHandlerConfigurationParameters
+ = new LinkedHashMap<>();
+ private Map<String, ArtifactForwarderConfigurationParameterGroup> artifactForwarderConfigurationParameters
+ = new LinkedHashMap<>();
// @formatter:on
/**
*
* @param name the parameter group name
*/
- public DistributionParameterGroup(final String name, final RestServerParameters restServerParameters) {
+ public DistributionParameterGroup(final String name, final RestServerParameters restServerParameters,
+ final Map<String, ReceptionHandlerParameters> receptionHandlerParameters,
+ final Map<String, ReceptionHandlerConfigurationParameterGroup> receptionHandlerConfigurationParameters,
+ final Map<String, ArtifactForwarderConfigurationParameterGroup> artifactForwarderConfigurationParameters) {
this.name = name;
this.restServerParameters = restServerParameters;
+ this.receptionHandlerParameters = receptionHandlerParameters;
+ this.receptionHandlerConfigurationParameters = receptionHandlerConfigurationParameters;
+ this.artifactForwarderConfigurationParameters = artifactForwarderConfigurationParameters;
}
/**
this.name = name;
}
+ /**
+ * Return the receptionHandlerParameters of this parameter group instance.
+ *
+ * @return the receptionHandlerParameters
+ */
+ public Map<String, ReceptionHandlerParameters> getReceptionHandlerParameters() {
+ return receptionHandlerParameters;
+ }
+
/**
* Return the restServerParameters of this parameter group instance.
*
return restServerParameters;
}
+ /**
+ * Gets the reception handler configuration parameter map.
+ *
+ * @return the reception handler configuration parameter map
+ */
+ public Map<String, ReceptionHandlerConfigurationParameterGroup> getReceptionHandlerConfigurationParameters() {
+ return receptionHandlerConfigurationParameters;
+ }
+
+ /**
+ * Sets the reception handler configuration parameter map.
+ *
+ * @param receptionHandlerConfigurationParameters the reception handler configuration parameters
+ */
+ public void setReceptionHandlerConfigurationParameters(
+ final Map<String, ReceptionHandlerConfigurationParameterGroup> receptionHandlerConfigurationParameters) {
+ this.receptionHandlerConfigurationParameters = receptionHandlerConfigurationParameters;
+ }
+
+ /**
+ * Gets the policy forwarder configuration parameter map.
+ *
+ * @return the policy forwarder configuration parameter map
+ */
+ public Map<String, ArtifactForwarderConfigurationParameterGroup> getArtifactForwarderConfigurationParameters() {
+ return artifactForwarderConfigurationParameters;
+ }
+
+ /**
+ * Sets the policy forwarder configuration parameter map.
+ *
+ * @param artifactForwarderConfigurationParameters the policy forwarder configuration parameters
+ */
+ public void setArtifactForwarderConfigurationParameters(
+ final Map<String, ArtifactForwarderConfigurationParameterGroup> artifactForwarderConfigurationParameters) {
+ this.artifactForwarderConfigurationParameters = artifactForwarderConfigurationParameters;
+ }
+
/**
* Validate the parameter group.
*
} else {
validationResult.setResult("restServerParameters", restServerParameters.validate());
}
+ validateReceptionHandlers(validationResult);
+ validateForwarderConfigurations(validationResult);
return validationResult;
}
+ private void validateReceptionHandlers(final GroupValidationResult validationResult) {
+ if (receptionHandlerParameters == null || receptionHandlerParameters.size() == 0) {
+ validationResult.setResult("receptionHandlerParameters", ValidationStatus.INVALID,
+ "must have at least one reception handler");
+ } else {
+ for (final Entry<String, ReceptionHandlerParameters> nestedGroupEntry : receptionHandlerParameters
+ .entrySet()) {
+ validationResult.setResult("receptionHandlerParameters", nestedGroupEntry.getKey(),
+ nestedGroupEntry.getValue().validate());
+ }
+ }
+ }
+
+ private void validateForwarderConfigurations(final GroupValidationResult validationResult) {
+ // @formatter:off
+ for (final Entry<String, ArtifactForwarderConfigurationParameterGroup> configurationParameters :
+ artifactForwarderConfigurationParameters.entrySet()) {
+ validationResult.setResult("artifactForwarderConfigurationParameters", configurationParameters.getKey(),
+ configurationParameters.getValue().validate());
+ }
+ // @formatter:on
+ }
+
}