]> git.aero2k.de Git - tmp/jakarta-migration.git/commitdiff
CSPACE-5681 Added refName to refObjs return schema
authorPatrick Schmitz <pschmitz@berkeley.edu>
Wed, 21 Nov 2012 01:27:21 +0000 (17:27 -0800)
committerPatrick Schmitz <pschmitz@berkeley.edu>
Wed, 21 Nov 2012 01:27:21 +0000 (17:27 -0800)
services/common/src/main/java/org/collectionspace/services/common/vocabulary/RefNameServiceUtils.java
services/jaxb/src/main/resources/authorityrefdocs.xsd

index 58c5788e1dac3488e35753b2902ce98c5629095a..bd60deed5c1cc48e48aa2ef180e842c64aa09fb3 100644 (file)
@@ -283,11 +283,12 @@ public class RefNameServiceUtils {
              * <xs:element name="docName" type="xs:string" minOccurs="0" />\r
              * <xs:element name="sourceField" type="xs:string" minOccurs="1" />\r
              * <xs:element name="uri" type="xs:anyURI" minOccurs="1" />\r
+             * <xs:element name="refName" type="xs:String" minOccurs="1" />\r
              * <xs:element name="updatedAt" type="xs:string" minOccurs="1" />\r
              * <xs:element name="workflowState" type="xs:string" minOccurs="1"\r
              * />\r
              */\r
-            String fieldList = "docType|docId|docNumber|docName|sourceField|uri|updatedAt|workflowState";\r
+            String fieldList = "docType|docId|docNumber|docName|sourceField|uri|refName|updatedAt|workflowState";\r
             commonList.setFieldsReturned(fieldList);\r
 \r
             // As a side-effect, the method called below modifies the value of\r
@@ -557,6 +558,14 @@ public class RefNameServiceUtils {
 \r
         return whereClauseStr;\r
     }\r
+    \r
+    // TODO there are multiple copies of this that should be put somewhere common.\r
+       protected static String getRefname(DocumentModel docModel) throws ClientException {\r
+               String result = (String)docModel.getProperty(CollectionSpaceClient.COLLECTIONSPACE_CORE_SCHEMA,\r
+                               CollectionSpaceClient.COLLECTIONSPACE_CORE_REFNAME);\r
+               return result;\r
+       }\r
+\r
 \r
     /*\r
      * Runs through the list of found docs, processing them. If list is\r
@@ -600,6 +609,14 @@ public class RefNameServiceUtils {
                 }\r
                 ilistItem = new AuthorityRefDocList.AuthorityRefDocItem();\r
                 String csid = NuxeoUtils.getCsid(docModel);//NuxeoUtils.extractId(docModel.getPathAsString());\r
+                try {\r
+                       String itemRefName = getRefname(docModel);\r
+                       ilistItem.setRefName(itemRefName);\r
+                } catch (ClientException ce) {\r
+                    throw new RuntimeException(\r
+                            "processRefObjsDocList: Problem fetching refName from item Object: " \r
+                                       + ce.getLocalizedMessage());\r
+                }\r
                 ilistItem.setDocId(csid);\r
                 String uri = "";\r
                 UriTemplateRegistry registry = ServiceMain.getInstance().getUriTemplateRegistry();\r
index 4a4b155d9ac2611b78bb7dc77de3dae95c610d3f..fdce838edbf4ed02bae027317a6ebaaf83b1195e 100644 (file)
@@ -47,6 +47,7 @@
                                                                        <xs:element name="docName"         type="xs:string" minOccurs="0" />
                                                                        <xs:element name="sourceField"     type="xs:string" minOccurs="1" />
                                                                        <xs:element name="uri"             type="xs:anyURI" minOccurs="1" />
+                                                                       <xs:element name="refName"         type="xs:string" minOccurs="1" />
                                                                        <xs:element name="updatedAt"       type="xs:string" minOccurs="1" />
                                                                        <xs:element name="workflowState"   type="xs:string" minOccurs="1" />
                                                                </xs:sequence>