diff --git a/src/main/java/org/gcube/gcat/oldutils/Validator.java b/src/main/java/org/gcube/gcat/oldutils/Validator.java index 020750d..4d16ed2 100644 --- a/src/main/java/org/gcube/gcat/oldutils/Validator.java +++ b/src/main/java/org/gcube/gcat/oldutils/Validator.java @@ -23,6 +23,7 @@ import org.gcube.datacatalogue.metadatadiscovery.bean.jaxb.MetadataField; import org.gcube.datacatalogue.metadatadiscovery.bean.jaxb.MetadataFormat; import org.gcube.datacatalogue.metadatadiscovery.bean.jaxb.MetadataGrouping; import org.gcube.datacatalogue.metadatadiscovery.bean.jaxb.MetadataTagging; +import org.gcube.datacatalogue.metadatadiscovery.bean.jaxb.MetadataVocabulary; import org.gcube.datacatalogue.metadatadiscovery.bean.jaxb.NamespaceCategory; import org.gcube.gcat.persistence.ckan.CKANGroup; import org.gcube.gcat.persistence.ckan.CKANPackage; @@ -465,7 +466,14 @@ public class Validator { DataType dataType = metadataField.getDataType(); String regex = metadataField.getValidator() != null ? metadataField.getValidator().getRegularExpression() : null; - boolean hasControlledVocabulary = metadataField.getVocabulary() != null; + boolean hasControlledVocabulary = false; + MetadataVocabulary metadataVocabulary = metadataField.getVocabulary(); + if(metadataVocabulary!=null) { + List vocabularyFields = metadataVocabulary.getVocabularyFields(); + if(vocabularyFields!=null && vocabularyFields.size()>0) { + hasControlledVocabulary = true; + } + } String value = fieldToValidate.getValue(); String key = fieldToValidate.getKey(); String defaultValue = metadataField.getDefaultValue();