]> git.aero2k.de Git - tmp/jakarta-migration.git/commitdiff
CSPACE-4924 - Adding support for workflowState to core, and to list result items.
authorPatrick Schmitz <pschmitz@berkeley.edu>
Thu, 5 Apr 2012 05:58:42 +0000 (22:58 -0700)
committerPatrick Schmitz <pschmitz@berkeley.edu>
Thu, 5 Apr 2012 05:58:42 +0000 (22:58 -0700)
services/IntegrationTests/src/test/resources/test-data/xmlreplay/vocabulary/res/GetVocabularyItems.res.xml
services/common/src/main/java/org/collectionspace/services/common/vocabulary/RefNameServiceUtils.java
services/common/src/main/java/org/collectionspace/services/nuxeo/client/java/DocHandlerBase.java
services/common/src/main/java/org/collectionspace/services/nuxeo/client/java/DocumentModelHandler.java
services/common/src/main/java/org/collectionspace/services/nuxeo/client/java/RemoteDocumentModelHandlerImpl.java
services/jaxb/src/main/resources/authorityrefdocs.xsd
services/servicegroup/service/src/main/java/org/collectionspace/services/servicegroup/nuxeo/ServiceGroupDocumentModelHandler.java

index 4a130df47fb3d69bd1556baee4a3cd54647bfb12..0f62c72f118c223f58f05bd0f9f5274ae3624ec1 100644 (file)
@@ -6,7 +6,7 @@
        <pageNum>0</pageNum>
     <itemsInPage>3</itemsInPage>
     <totalItems>3</totalItems>
-    <fieldsReturned>csid|uri|updatedAt|order|displayName|shortIdentifier|refName|termStatus</fieldsReturned>
+    <fieldsReturned>csid|uri|updatedAt|workflowState|order|displayName|shortIdentifier|refName|termStatus</fieldsReturned>
     <list-item>
         <displayName>${Item3DupeOrder.displayName}</displayName>
         <shortIdentifier>${Item3DupeOrder.itemID}</shortIdentifier>
index d26682120bd20038b90abac6c210a08c997b8bff..1e43702328d295205fe7b253b915832927bceb87 100644 (file)
@@ -458,9 +458,10 @@ public class RefNameServiceUtils {
                 ilistItem.setDocId(csid);\r
                 ilistItem.setUri(serviceContextPath + csid);\r
                 try {\r
+                    ilistItem.setWorkflowState(docModel.getCurrentLifeCycleState());\r
                        ilistItem.setUpdatedAt(DocHandlerBase.getUpdatedAtAsString(docModel));\r
                 } catch(Exception e) {\r
-                       logger.error("Error getting udpatedAt value for doc ["+csid+"]: "+e.getLocalizedMessage());\r
+                       logger.error("Error getting core values for doc ["+csid+"]: "+e.getLocalizedMessage());\r
                 }\r
                 // The id and URI are the same on all doctypes\r
                 ilistItem.setDocType(docType);\r
index 8d13e45c7b228a36d37352b040cadb8b9c1abd50..b68b62351489e78e2ee0b30d84029a399eb62bb4 100644 (file)
@@ -68,10 +68,11 @@ public abstract class DocHandlerBase<T> extends RemoteDocumentModelHandlerImpl<T
 \r
     private AbstractCommonList commonList;\r
     \r
-    protected static final int NUM_STANDARD_LIST_RESULT_FIELDS = 3;\r
+    protected static final int NUM_STANDARD_LIST_RESULT_FIELDS = 4;\r
     protected static final String STANDARD_LIST_CSID_FIELD = "csid";\r
-    protected static final String STANDARD_LIST_URI_FIELD = "uri";\r
-    protected static final String STANDARD_LIST_UPDATED_AT_FIELD = "updatedAt";\r
+    protected static final String STANDARD_LIST_URI_FIELD = COLLECTIONSPACE_CORE_URI;\r
+    protected static final String STANDARD_LIST_UPDATED_AT_FIELD = COLLECTIONSPACE_CORE_UPDATED_AT;\r
+    protected static final String STANDARD_LIST_WORKFLOW_FIELD = COLLECTIONSPACE_CORE_WORKFLOWSTATE;\r
 \r
     @Override\r
     public AbstractCommonList getCommonPartList() {\r
@@ -190,6 +191,7 @@ public abstract class DocHandlerBase<T> extends RemoteDocumentModelHandlerImpl<T
         fields[0] = STANDARD_LIST_CSID_FIELD;\r
         fields[1] = STANDARD_LIST_URI_FIELD;\r
         fields[2] = STANDARD_LIST_UPDATED_AT_FIELD;\r
+        fields[3] = STANDARD_LIST_WORKFLOW_FIELD;\r
         for(int i=NUM_STANDARD_LIST_RESULT_FIELDS;i<nFields;i++) {\r
                ListResultField field = resultsFields.get(i-NUM_STANDARD_LIST_RESULT_FIELDS); \r
                fields[i]=field.getElement();\r
@@ -204,6 +206,7 @@ public abstract class DocHandlerBase<T> extends RemoteDocumentModelHandlerImpl<T
             String uri = getUri(docModel);\r
             item.put(STANDARD_LIST_URI_FIELD, uri);\r
             item.put(STANDARD_LIST_UPDATED_AT_FIELD, getUpdatedAtAsString(docModel));\r
+            item.put(STANDARD_LIST_WORKFLOW_FIELD, docModel.getCurrentLifeCycleState());\r
 \r
             for (ListResultField field : resultsFields ){\r
                String schema = field.getSchema();\r
index 9e890cc9ddc1f6ecb8a6c9a0970ba3ee1a7be598..fd43e68efdac6e3ecfd2eb989fc02f64dc56ae2f 100644 (file)
@@ -71,7 +71,7 @@ public abstract class DocumentModelHandler<T, TL>
     public final static String COLLECTIONSPACE_CORE_UPDATED_AT = "updatedAt";
     public final static String COLLECTIONSPACE_CORE_CREATED_BY = "createdBy";
     public final static String COLLECTIONSPACE_CORE_UPDATED_BY = "updatedBy";
-    public final static String COLLECTIONSPACE_CORE_CURRENTLIFECYCLESTATE = "currentLifeCycleState";
+    public final static String COLLECTIONSPACE_CORE_WORKFLOWSTATE = "workflowState";
 
     /*
      * We're using the "name" field of Nuxeo's DocumentModel to store
index 82ec3ad39ab57f78bd94cfa52c119e77df896a45..d39126761ff2c6820649424e05a03baea66ae3de 100644 (file)
@@ -215,7 +215,7 @@ public abstract class   RemoteDocumentModelHandlerImpl<T, TL>
     
     private void addExtraCoreValues(DocumentModel docModel, Map<String, Object> unQObjectProperties)
                throws Exception {
-        unQObjectProperties.put(COLLECTIONSPACE_CORE_CURRENTLIFECYCLESTATE, docModel.getCurrentLifeCycleState());
+        unQObjectProperties.put(COLLECTIONSPACE_CORE_WORKFLOWSTATE, docModel.getCurrentLifeCycleState());
     }
     
     private void addAccountPermissionsPart() throws Exception {
index 6b555c17609cafce9fe6cb2f8c736689b3089329..4a4b155d9ac2611b78bb7dc77de3dae95c610d3f 100644 (file)
@@ -48,6 +48,7 @@
                                                                        <xs:element name="sourceField"     type="xs:string" minOccurs="1" />
                                                                        <xs:element name="uri"             type="xs:anyURI" minOccurs="1" />
                                                                        <xs:element name="updatedAt"       type="xs:string" minOccurs="1" />
+                                                                       <xs:element name="workflowState"   type="xs:string" minOccurs="1" />
                                                                </xs:sequence>
                                                        </xs:complexType>
                                                </xs:element>
index 3eea303d0c9caaffa01b287d385d5f3073d703ec..166c2d84748a3676a99ec754a69ac38fb5a02359 100644 (file)
@@ -200,12 +200,13 @@ public class ServiceGroupDocumentModelHandler
                CommonList list ) {
         int nFields = NUM_META_FIELDS+NUM_STANDARD_LIST_RESULT_FIELDS;
         String fields[] = new String[nFields];
-        fields[0] = "csid";
-        fields[1] = "uri";
-        fields[2] = "updatedAt";
-        fields[3] = DOC_NAME_FIELD;
-        fields[4] = DOC_NUMBER_FIELD;
-        fields[5] = DOC_TYPE_FIELD;
+        fields[0] = STANDARD_LIST_CSID_FIELD;
+        fields[1] = STANDARD_LIST_URI_FIELD;
+        fields[2] = STANDARD_LIST_UPDATED_AT_FIELD;
+        fields[3] = STANDARD_LIST_WORKFLOW_FIELD;
+        fields[4] = DOC_NAME_FIELD;
+        fields[5] = DOC_NUMBER_FIELD;
+        fields[6] = DOC_TYPE_FIELD;
         list.setFieldsReturned(fields);
         Iterator<DocumentModel> iter = docList.iterator();
                HashMap<String,String> item = new HashMap<String,String>();
@@ -224,8 +225,9 @@ public class ServiceGroupDocumentModelHandler
             item.put(STANDARD_LIST_URI_FIELD, getUriFromServiceBinding(sb, csid));
             try {
                item.put(STANDARD_LIST_UPDATED_AT_FIELD, getUpdatedAtAsString(docModel));
+                item.put(STANDARD_LIST_WORKFLOW_FIELD, docModel.getCurrentLifeCycleState());
             } catch(Exception e) {
-               logger.error("Error getting udpatedAt value for doc ["+csid+"]: "+e.getLocalizedMessage());
+               logger.error("Error getting core values for doc ["+csid+"]: "+e.getLocalizedMessage());
             }
 
             String value = ServiceBindingUtils.getMappedFieldInDoc(sb,