From: Aron Roberts Date: Wed, 28 Apr 2010 22:34:00 +0000 (+0000) Subject: CSPACE-1660: Summary lists of ID Generators now include display names with each ID... X-Git-Url: https://git.aero2k.de/?a=commitdiff_plain;h=e3cb17a66f96329d6df4217ddfa2d750ced24410;p=tmp%2Fjakarta-migration.git CSPACE-1660: Summary lists of ID Generators now include display names with each ID Generator item in the list, along with CSIDs and relative URLs. --- diff --git a/services/id/service/src/main/java/org/collectionspace/services/id/IDResource.java b/services/id/service/src/main/java/org/collectionspace/services/id/IDResource.java index d19444e78..d2673165d 100644 --- a/services/id/service/src/main/java/org/collectionspace/services/id/IDResource.java +++ b/services/id/service/src/main/java/org/collectionspace/services/id/IDResource.java @@ -263,8 +263,13 @@ public class IDResource { new Namespace(ID_SERVICE_NAMESPACE_PREFIX, ID_SERVICE_NAMESPACE); doc.getRootElement().add(namespace); - // Make a new element for the components of this ID generator - // instance, and attach it to the root element. + // Make new elements for each of the components of this ID generator + // instance, and attach them to the root element. + + // Append display name information for this ID generator instance. + String displayname = instance.getDisplayName(); + root = appendDisplayNameIDGeneratorInformation(root, displayname); + // Append detailed information for this ID generator instance. root = appendDetailedIDGeneratorInformation(root, instance); resourceRepresentation = prettyPrintXML(doc); @@ -489,13 +494,18 @@ public class IDResource { Document doc = baseListDocument(); Element listitem = null; + String displayname = ""; // Retrieve the CSIDs from each ID generator instance, // and use these in summary information returned about // each instance. - for (String csid : generators.keySet() ) + for (String csid : generators.keySet()) { + // Add a new element for each item in the list. listitem = doc.getRootElement().addElement(ID_GENERATOR_LIST_ITEM_NAME); + // Append display name information for this ID generator instance. + displayname = generators.get(csid).getDisplayName(); + listitem = appendDisplayNameIDGeneratorInformation(listitem, displayname); // Append summary information about this ID generator instance. listitem = appendSummaryIDGeneratorInformation(listitem, csid); } @@ -518,10 +528,15 @@ public class IDResource { Document doc = baseListDocument(); Element listitem = null; - for (String csid : generators.keySet() ) + String displayname = ""; + for (String csid : generators.keySet()) { + // Add a new element for each item in the list. listitem = doc.getRootElement().addElement(ID_GENERATOR_LIST_ITEM_NAME); + // Append display name information for this ID generator instance. + displayname = generators.get(csid).getDisplayName(); + listitem = appendDisplayNameIDGeneratorInformation(listitem, displayname); // Append summary information about this ID generator instance. listitem = appendSummaryIDGeneratorInformation(listitem, csid); // Append details of this ID generator instance. @@ -532,6 +547,29 @@ public class IDResource { return prettyPrintXML(doc); } + + ////////////////////////////////////////////////////////////////////// + /** + * Appends a display name to an element representing + * an ID generator instance. + * + * @param instanceElement An XML element representing an + * ID generator instance. + * + * @param displayname A displayname for the resource representing that instance. + * + * @return The XML element representing an ID generator instance, + * with the display name appended. + */ + private Element appendDisplayNameIDGeneratorInformation(Element instanceElement, + String displaynameValue) { + + Element displayname = instanceElement.addElement("displayname"); + displayname.addText(displaynameValue); + + return instanceElement; + } + ////////////////////////////////////////////////////////////////////// /** @@ -574,9 +612,7 @@ public class IDResource { private Element appendDetailedIDGeneratorInformation( Element instanceElement, IDGeneratorInstance generatorInstance) { - // Append naming and description information. - Element displayname = instanceElement.addElement("displayname"); - displayname.addText(generatorInstance.getDisplayName()); + // Append description information. Element description = instanceElement.addElement("description"); description.addText(generatorInstance.getDescription());