public void checkArchetypeTermBindingsValidity(Archetype archetype, List<ValidationError> errors) { List<OntologyBinding> termBindings = archetype.getOntology().getTermBindingList(); ValidationError error = null; if (termBindings != null) { for (OntologyBinding binding : termBindings) { for (OntologyBindingItem obi : binding.getBindingList()) { if (obi.getCode().startsWith("at")) { // bound to an atcode if (archetype.getOntology().termDefinition(archetype.getOriginalLanguage().getCodeString(), obi.getCode()) == null) { error = new ValidationError(ErrorType.WITB, "ATCODE", obi.getCode()); errors.add(error); } } else { // bound to a complete path if (!archetype.physicalPaths().contains(obi.getCode())) { error = new ValidationError(ErrorType.WITB, "PATH", obi.getCode()); errors.add(error); } } } } } }