- if (key.getParentConceptKey().isNullKey()) {
- result.addValidationMessage(new PfValidationMessage(key, this.getClass(), ValidationResult.INVALID,
- "parent of key is a null key"));
- }
-
- if (currentInstanceCount < 0) {
- result.addValidationMessage(new PfValidationMessage(key, this.getClass(), ValidationResult.INVALID,
- "the current instance count of a PDP group may not be negative"));
- }
-
- if (desiredInstanceCount < 0) {
- result.addValidationMessage(new PfValidationMessage(key, this.getClass(), ValidationResult.INVALID,
- "the desired instance count of a PDP group may not be negative"));
- }
-
- if (properties != null) {
- for (Entry<String, String> propertyEntry : properties.entrySet()) {
- if (!ParameterValidationUtils.validateStringParameter(propertyEntry.getKey())) {
- result.addValidationMessage(new PfValidationMessage(key, this.getClass(), ValidationResult.INVALID,
- "a property key may not be null or blank"));
- }
- if (!ParameterValidationUtils.validateStringParameter(propertyEntry.getValue())) {
- result.addValidationMessage(new PfValidationMessage(key, this.getClass(), ValidationResult.INVALID,
- "a property value may not be null or blank"));
- }
- }
- }
-
-
- return validateSubConcepts(result);
- }
-
- /**
- * Validate collections of sub concepts.
- *
- * @param result the result in which to store the validation result
- * @return the validation result including the results of this method
- */
- private PfValidationResult validateSubConcepts(PfValidationResult result) {
- if (supportedPolicyTypes == null || supportedPolicyTypes.isEmpty()) {
- result.addValidationMessage(new PfValidationMessage(key, this.getClass(), ValidationResult.INVALID,
- "a PDP subgroup must support at least one policy type"));
- } else {
- for (PfConceptKey supportedPolicyType : supportedPolicyTypes) {
- result = supportedPolicyType.validate(result);
- }
- }
-
- if (policies == null) {
- result.addValidationMessage(new PfValidationMessage(key, this.getClass(), ValidationResult.INVALID,
- "a PDP subgroup must have a list of policies"));
- } else {
- for (PfConceptKey policyKey : policies) {
- result = policyKey.validate(result);
- }
- }
-
- if (pdpInstances == null) {
- result.addValidationMessage(new PfValidationMessage(key, this.getClass(), ValidationResult.INVALID,
- "a PDP subgroup must have a list of PDPs"));
- } else {
- for (JpaPdp jpaPdp : pdpInstances) {
- result = jpaPdp.validate(result);
- }