public static RegistryPackageType getRegistryPackage(SubmitObjectsRequest sor, String classificationUUID) { List<JAXBElement<? extends IdentifiableType>> list = sor.getRegistryObjectList().getIdentifiable(); String id = null; IdentifiableType identifiable; if ( classificationUUID != null ) { ClassificationType ct; for ( int i = 0, len = list.size() ; i < len ; i++) { identifiable = list.get(i).getValue(); if ( identifiable instanceof ClassificationType) { ct = (ClassificationType) identifiable; if ( classificationUUID.equals( ct.getClassificationNode())) { id = ct.getClassifiedObject(); break; } } } } RegistryPackageType rp; for ( int i = 0, len = list.size() ; i < len ; i++ ) { identifiable = list.get(i).getValue(); if ( identifiable instanceof RegistryPackageType) { rp = (RegistryPackageType) identifiable; if ( id == null || id.equals( rp.getId())) { return rp; } } } return null; }
private static void checkCodes(RegistryObjectType roType, List<String> requiredCodes) throws XDSException { List<ClassificationType> clList = roType.getClassification(); String objId = roType.getId(); for (ClassificationType cl : clList) { if( objId.equals(cl.getClassifiedObject())) { if (requiredCodes.remove(cl.getClassificationScheme())) { if (cl.getName() == null || cl.getName().getLocalizedString() == null || cl.getName().getLocalizedString().isEmpty()) { throw new XDSException(XDSException.XDS_ERR_REGISTRY_METADATA_ERROR, "Missing code display name in code '"+cl.getNodeRepresentation()+ "(code classification:"+cl.getClassificationScheme(), null); } } } } if (requiredCodes.size() > 0) throw new XDSException(XDSException.XDS_ERR_REGISTRY_METADATA_ERROR, "Missing code values in '"+objId+"'! codes:"+requiredCodes, null); }
"Classification has neither Node nor Scheme specified! Classification id:"+cl.getId(), null); log.debug("######clType.getClassifiedObject:{}", clType.getClassifiedObject()); if (clType.getClassifiedObject() != null) { cl.setClassifiedObject(getRegistryObject(clType.getClassifiedObject()));