public static SlotType1 addSlot(RegistryObjectType ro, String name, String type, String...values) { SlotType1 slot = createSlot(name, type, values); ro.getSlot().add(slot); return slot; } public static SlotType1 setSlot(RegistryObjectType ro, String name, String type, Collection<String> values) {
private Author(String id, String classificationScheme, RegistryObjectType ro) { this.id = id; author = Util.createClassification(id, classificationScheme, ro.getId(), ""); ro.getClassification().add(author); }
private static void checkExternalIdentifiers(RegistryObjectType roType, List<String> requiredExternalIdentifiers) throws XDSException { List<ExternalIdentifierType> eiList = roType.getExternalIdentifier(); for (ExternalIdentifierType ei : eiList) { requiredExternalIdentifiers.remove(ei.getIdentificationScheme()); } if (requiredExternalIdentifiers.size() > 0) throw new XDSException(XDSException.XDS_ERR_REGISTRY_METADATA_ERROR, "Missing attributes in '"+roType.getId()+"'! codes:"+requiredExternalIdentifiers, null); }
public void toPersistenceObj(RegistryObjectType roType, RegistryObject ro) throws XDSException { toPersistenceIdentifiable(roType, ro); ro.setClassifications(new HashSet<Classification>()); ro.setDescription(new HashSet<Description>()); ro.setExternalIdentifiers(new HashSet<ExternalIdentifier>()); ro.setLid(roType.getLid() == null ? ro.getId() : roType.getLid());//TODO if no LID, check if older RegistryObject exists and use this Lid! ro.setObjectType(roType.getObjectType()); ro.setStatus("urn:oasis:names:tc:ebxml-regrep:StatusType:Approved"); copyName(roType.getName(), ro); copyDescriptions(roType.getDescription(), ro); copyClassifications(roType.getClassification(), ro); copyExternalIdentifier(roType.getExternalIdentifier(), ro); //TODO VersionInfo ro.setVersionName("1.0"); ro.setComment("Initial Version"); } public void toPersistenceIdentifiable(IdentifiableType roType, Identifiable ro) {
public static String getExternalIdentifierValue(String urn, RegistryObjectType ro) { List<ExternalIdentifierType> list = ro.getExternalIdentifier(); ExternalIdentifierType ei; for ( int i = 0, len = list.size() ; i < len ; i++ ) { ei = list.get(i); if ( ei.getIdentificationScheme().equals(urn)) { return ei.getValue(); } } return null; } public static String setExternalIdentifierValue(String urn, String value, RegistryObjectType ro) {
public static List<ClassificationType> getClassifications(RegistryObjectType ro, String scheme) { List<ClassificationType> result = new ArrayList<ClassificationType>(); List<ClassificationType> classifications = ro.getClassification(); for (int i = 0, len = classifications.size() ; i < len ; i++) { if (classifications.get(i).getClassificationScheme().equals(scheme)) { result.add(classifications.get(i)); } } return result; }
public static void setDescription(RegistryObjectType ro, String value) { LocalizedStringType lst = rimFactory.createLocalizedStringType(); lst.setValue(value); InternationalStringType is = rimFactory.createInternationalStringType(); is.getLocalizedString().add(lst); ro.setDescription(is); } public static void setName(RegistryObjectType ro, String value) {
public static void setName(RegistryObjectType ro, String value) { LocalizedStringType lst = rimFactory.createLocalizedStringType(); lst.setValue(value); InternationalStringType is = rimFactory.createInternationalStringType(); is.getLocalizedString().add(lst); ro.setName(is); }
/** * Create an instance of {@link RegistryObjectType } * */ public RegistryObjectType createRegistryObjectType() { return new RegistryObjectType(); }
public static String setExternalIdentifierValue(String urn, String value, RegistryObjectType ro) { List<ExternalIdentifierType> list = ro.getExternalIdentifier(); ExternalIdentifierType ei; for ( int i = 0, len = list.size() ; i < len ; i++ ) { ei = list.get(i); if ( ei.getIdentificationScheme().equals(urn)) { String oldValue = ei.getValue(); ei.setValue(value); return oldValue; } } ei = new ExternalIdentifierType(); ei.setIdentificationScheme(urn); ei.setValue(value); list.add(ei); return null; }
private void copyClassificationType(Set<Classification> classifications, RegistryObjectType roType) { if (classifications != null) { List<ClassificationType> classificationTypes = roType.getClassification(); ClassificationType clType; for (Classification cl: classifications) { clType = toClassificationType(cl); classificationTypes.add(clType); } } }
private void copyDescriptionType(Set<Description> descriptions, RegistryObjectType roType) { InternationalStringType is = factory.createInternationalStringType(); List<LocalizedStringType> values = is.getLocalizedString(); LocalizedStringType value; for (Description n : descriptions) { value = factory.createLocalizedStringType(); value.setCharset(n.getCharset()); value.setLang(n.getLang()); value.setValue(n.getValue()); values.add(value); } roType.setDescription(is); }
private void copyNameType(Set<Name> name, RegistryObjectType roType) { InternationalStringType is = factory.createInternationalStringType(); List<LocalizedStringType> values = is.getLocalizedString(); LocalizedStringType value; for (Name n : name) { value = factory.createLocalizedStringType(); value.setCharset(n.getCharset()); value.setLang(n.getLang()); value.setValue(n.getValue()); values.add(value); } roType.setName(is); }
public static void addCode(String id, RegistryObjectType ro, String type, Code code) { ro.getClassification().add(createCodeClassification(id, ro.getId(), type, code)); } public static void addCodes(String id, RegistryObjectType ro, String type, List<Code> codes) {
public static Map<String, SlotType1> getSlotsFromRegistryObject(RegistryObjectType ro) throws JAXBException { List<SlotType1> slots = ro.getSlot(); Map<String, SlotType1> slotByName = new HashMap<String, SlotType1>(slots == null ? 0 : slots.size()); if (slots != null) { SlotType1 slot; for (int i = 0, len = slots.size() ; i < len ; i++) { slot = slots.get(i); slotByName.put(slot.getName(), slot); } } return slotByName; }
private void copyExternalIdentifierType(Set<ExternalIdentifier> externalIdentifiers, RegistryObjectType roType) { if (externalIdentifiers != null) { List<ExternalIdentifierType> eiTypes = roType.getExternalIdentifier(); ExternalIdentifierType eiType; for (ExternalIdentifier ei : externalIdentifiers) { eiType = factory.createExternalIdentifierType(); toEbXmlObj(ei, eiType); if (ei.getIdentificationScheme() != null) { eiType.setIdentificationScheme(ei.getIdentificationScheme().getId()); } else { log.error("IdentificationScheme is null! ExternalIdentifier id:"+ei.getId()); eiType.setIdentificationScheme("urn:willi:12345-abcd-123"); } eiType.setValue(ei.getValue()); if (ei.getRegistryObject() != null) { eiType.setRegistryObject(ei.getRegistryObject().getId()); } else { log.error("RegistryObject is null! ExternalIdentifier id:"+ei.getId()); eiType.setRegistryObject("urn:willi:12345-abcd-456"); } eiTypes.add(eiType); } } }
public static ClassificationType removeClassification(RegistryObjectType ro, String id) { List<ClassificationType> list = ro.getClassification(); for (int i = 0, len = list.size() ; i < len ; i++) { if (list.get(i).getId().equals(id)) { return list.remove(i); } } return null; }
public static void addCodes(String id, RegistryObjectType ro, String type, List<Code> codes) { String objID = ro.getId(); for (int i = 0, len = codes.size() ; i < len ; i++) { ro.getClassification().add(createCodeClassification(id, objID, type, codes.get(i))); } } public static ClassificationType createCodeClassification(String id, String classifiedObjectID, String type, Code code) {
public static SlotType1 removeSlot(RegistryObjectType ro, String name) { List<SlotType1> slots = ro.getSlot(); for (int i = 0, len = slots.size() ; i < len ; i++) { if (name.equals(slots.get(i).getName())) { return slots.remove(i); } } return null; }
list = ((RegistryObjectType)obj).getExternalIdentifier(); if (list != null) { for (ExternalIdentifierType eiType : list) {