]> git.aero2k.de Git - tmp/jakarta-migration.git/commitdiff
CSPACE-4328 Added support for createdBy and updatedBy to the collectionspace_core...
authorPatrick Schmitz <pschmitz@berkeley.edu>
Wed, 17 Aug 2011 21:05:05 +0000 (21:05 +0000)
committerPatrick Schmitz <pschmitz@berkeley.edu>
Wed, 17 Aug 2011 21:05:05 +0000 (21:05 +0000)
3rdparty/nuxeo/nuxeo-platform-collectionspace/src/main/resources/schemas/collectionspace_core.xsd
services/common/src/main/java/org/collectionspace/services/nuxeo/client/java/DocumentModelHandler.java

index 7e5416d303bec589bffda0eb2386abe4e5bfa339..3a557f64e4f342b7a0391a81738c2f440c385292 100644 (file)
@@ -20,4 +20,6 @@
     <!--<xs:element name="createdAt" type="xs:string"/>-->\r
     <xs:element name="createdAt" type="xs:dateTime"/>\r
     <xs:element name="updatedAt" type="xs:dateTime"/>\r
+    <xs:element name="createdBy" type="xs:string"/>\r
+    <xs:element name="updatedBy" type="xs:string"/>\r
 </xs:schema>\r
index 3f518cfbd3c2259045e0d3ea08842043c108713f..54e9db8f7419e793ea33b8f3d37f9a83aac784ac 100644 (file)
@@ -65,6 +65,8 @@ public abstract class DocumentModelHandler<T, TL>
     public final static String COLLECTIONSPACE_CORE_URI = "uri";
     public final static String COLLECTIONSPACE_CORE_CREATED_AT = "createdAt";
     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";
 
     /*
      * We're using the "name" field of Nuxeo's DocumentModel to store
@@ -181,14 +183,15 @@ public abstract class DocumentModelHandler<T, TL>
                Action action)  throws ClientException {
        DocumentModel documentModel = docWrapper.getWrappedObject();
         String now = GregorianCalendarDateTimeUtils.timestampUTC();
+       ServiceContext ctx = getServiceContext();
+       String userId = ctx.getUserId();
        if(action==Action.CREATE) {
-               String tenantId = getServiceContext().getTenantId();
             //
             // Add the tenant ID value to the new entity
             //
+               String tenantId = ctx.getTenantId();
             documentModel.setProperty(COLLECTIONSPACE_CORE_SCHEMA,
-                    COLLECTIONSPACE_CORE_TENANTID,
-                    getServiceContext().getTenantId());
+                    COLLECTIONSPACE_CORE_TENANTID, tenantId);
             //
             // Add the uri value to the new entity
             //
@@ -209,10 +212,14 @@ public abstract class DocumentModelHandler<T, TL>
                }
             documentModel.setProperty(COLLECTIONSPACE_CORE_SCHEMA,
                     COLLECTIONSPACE_CORE_CREATED_AT, now);
+            documentModel.setProperty(COLLECTIONSPACE_CORE_SCHEMA,
+                    COLLECTIONSPACE_CORE_CREATED_BY, userId);
        }
        if(action==Action.CREATE || action==Action.UPDATE) {
             documentModel.setProperty(COLLECTIONSPACE_CORE_SCHEMA,
                     COLLECTIONSPACE_CORE_UPDATED_AT, now);
+            documentModel.setProperty(COLLECTIONSPACE_CORE_SCHEMA,
+                    COLLECTIONSPACE_CORE_UPDATED_BY, userId);
        }
     }