- public GroupValidationResult validate() {
- final GroupValidationResult validationResult = new GroupValidationResult(this);
- if (!ParameterValidationUtils.validateStringParameter(name)) {
- validationResult.setResult("name", ValidationStatus.INVALID, ERROR_MSG);
- }
- if (!ParameterValidationUtils.validateStringParameter(pdpGroup)) {
- validationResult.setResult("pdpGroup", ValidationStatus.INVALID, ERROR_MSG);
- }
- if (!ParameterValidationUtils.validateStringParameter(pdpType)) {
- validationResult.setResult("pdpType", ValidationStatus.INVALID, ERROR_MSG);
- }
- if (restServerParameters == null) {
- validationResult.setResult(PARAM_REST_SERVER, ValidationStatus.INVALID,
- "must have restServerParameters to configure xacml pdp rest server");
- } else {
- validationResult.setResult(PARAM_REST_SERVER, restServerParameters.validate());
- }
- if (policyApiParameters == null) {
- validationResult.setResult(PARAM_POLICY_API, ValidationStatus.INVALID,
- "must have policyApiParameters to configure xacml pdp rest server");
- } else if (StringUtils.isBlank(policyApiParameters.getHostname())) {
- validationResult.setResult(PARAM_POLICY_API, ValidationStatus.INVALID,
- "must have hostname to configure xacml pdp api client");
- }
- if (topicParameterGroup == null) {
- validationResult.setResult(PARAM_TOPIC_PARAMETER_GROUP, ValidationStatus.INVALID,
- "must have topicParameterGroup to configure xacml pdp topic sink and source");
- } else {
- validationResult.setResult(PARAM_TOPIC_PARAMETER_GROUP, topicParameterGroup.validate());
- }
- //
- // Validate the application path directory
- //
- if (applicationPath == null || applicationPath.isEmpty()) {
- validationResult.setResult(PARAM_APPLICATION_PATH, ValidationStatus.INVALID,
- "must have application path for applications to store policies and data.");
+ public BeanValidationResult validate() {
+ final BeanValidationResult validationResult = super.validate();
+
+ if (policyApiParameters != null && StringUtils.isBlank(policyApiParameters.getHostname())) {
+ BeanValidationResult sub = new BeanValidationResult(PARAM_POLICY_API, policyApiParameters);
+ sub.addResult("hostname", policyApiParameters.getHostname(), ValidationStatus.INVALID, Validated.IS_NULL);
+ validationResult.addResult(sub);