X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=aai-core%2Fsrc%2Fmain%2Fjava%2Forg%2Fopenecomp%2Faai%2Fintrospection%2Ftools%2FIntrospectorValidator.java;h=6d451cdf869c3be290808a66e8aacf454eb28647;hb=a93b19450f6fb966afa1c30a6795e8e670d2aee7;hp=cbe16b4e9ed9c5d37e5d8b97e99ff43069837651;hpb=c2fddaed33f9f7bbec3feca7bf905f0a1e56b3ed;p=aai%2Faai-common.git diff --git a/aai-core/src/main/java/org/openecomp/aai/introspection/tools/IntrospectorValidator.java b/aai-core/src/main/java/org/openecomp/aai/introspection/tools/IntrospectorValidator.java index cbe16b4e..6d451cdf 100644 --- a/aai-core/src/main/java/org/openecomp/aai/introspection/tools/IntrospectorValidator.java +++ b/aai-core/src/main/java/org/openecomp/aai/introspection/tools/IntrospectorValidator.java @@ -165,14 +165,22 @@ public class IntrospectorValidator implements Wanderer { } final Optional visibility = obj.getPropertyMetadata(prop, PropertyMetadata.VISIBILITY); - if(visibility.isPresent() && Visibility.internal.equals(Visibility.valueOf(visibility.get()))) { + if(visibility.isPresent() && Visibility.internal.equals(Visibility.valueOf(visibility.get())) && obj.getValue(prop) != null) { Issue message = this.buildMessage(Severity.ERROR, IssueType.PROPERTY_NOT_VISIBLE, "client attemptted to set property not visible: " + prop); message.setIntrospector(obj); message.setPropName(prop); issues.add(message); - } + } + final Optional requires = obj.getPropertyMetadata(prop, PropertyMetadata.REQUIRES); + if (requires.isPresent() && (obj.getValue(prop) != null && obj.getValue(requires.get()) == null)) { + Issue message = + this.buildMessage(Severity.CRITICAL, IssueType.DEPENDENT_PROP_NOT_FOUND, prop + " requires " + requires.get() + " to also be popluated."); + message.setIntrospector(obj); + message.setPropName(prop); + issues.add(message); + } } if (!relationshipChain.contains(obj.getDbName())) {