Author: fmui
Date: Thu Oct 23 16:47:54 2014
New Revision: 1633878

URL: http://svn.apache.org/r1633878
Log:
CMIS-860: fixed change tokens in browser binding client

Modified:
    
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/AbstractBrowserBindingService.java
    
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/ObjectServiceImpl.java

Modified: 
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/AbstractBrowserBindingService.java
URL: 
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/AbstractBrowserBindingService.java?rev=1633878&r1=1633877&r2=1633878&view=diff
==============================================================================
--- 
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/AbstractBrowserBindingService.java
 (original)
+++ 
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/AbstractBrowserBindingService.java
 Thu Oct 23 16:47:54 2014
@@ -32,7 +32,11 @@ import org.apache.chemistry.opencmis.cli
 import org.apache.chemistry.opencmis.client.bindings.spi.http.HttpInvoker;
 import org.apache.chemistry.opencmis.client.bindings.spi.http.Output;
 import org.apache.chemistry.opencmis.client.bindings.spi.http.Response;
+import org.apache.chemistry.opencmis.commons.PropertyIds;
 import org.apache.chemistry.opencmis.commons.SessionParameter;
+import org.apache.chemistry.opencmis.commons.data.ObjectData;
+import org.apache.chemistry.opencmis.commons.data.PropertyData;
+import org.apache.chemistry.opencmis.commons.data.PropertyString;
 import org.apache.chemistry.opencmis.commons.data.RepositoryInfo;
 import org.apache.chemistry.opencmis.commons.definitions.TypeDefinition;
 import org.apache.chemistry.opencmis.commons.enums.DateTimeFormat;
@@ -63,6 +67,7 @@ import org.apache.chemistry.opencmis.com
 import org.apache.chemistry.opencmis.commons.impl.json.parser.ContainerFactory;
 import 
org.apache.chemistry.opencmis.commons.impl.json.parser.JSONParseException;
 import org.apache.chemistry.opencmis.commons.impl.json.parser.JSONParser;
+import org.apache.chemistry.opencmis.commons.spi.Holder;
 
 /**
  * Base class for all Browser Binding client services.
@@ -214,6 +219,23 @@ public abstract class AbstractBrowserBin
         return dateTimeFormat == null || dateTimeFormat == 
DateTimeFormat.SIMPLE ? null : dateTimeFormat.value();
     }
 
+    protected void setChangeToken(Holder<String> changeToken, ObjectData obj) {
+        if (changeToken == null) {
+            return;
+        }
+
+        changeToken.setValue(null);
+
+        if (obj == null || obj.getProperties() == null || 
obj.getProperties().getProperties() == null) {
+            return;
+        }
+
+        PropertyData<?> ct = 
obj.getProperties().getProperties().get(PropertyIds.CHANGE_TOKEN);
+        if (ct instanceof PropertyString) {
+            changeToken.setValue(((PropertyString) ct).getFirstValue());
+        }
+    }
+
     // ---- exceptions ----
 
     /**

Modified: 
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/ObjectServiceImpl.java
URL: 
http://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/ObjectServiceImpl.java?rev=1633878&r1=1633877&r2=1633878&view=diff
==============================================================================
--- 
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/ObjectServiceImpl.java
 (original)
+++ 
chemistry/opencmis/trunk/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/ObjectServiceImpl.java
 Thu Oct 23 16:47:54 2014
@@ -30,7 +30,6 @@ import java.util.Map;
 import org.apache.chemistry.opencmis.client.bindings.spi.BindingSession;
 import org.apache.chemistry.opencmis.client.bindings.spi.http.Output;
 import org.apache.chemistry.opencmis.client.bindings.spi.http.Response;
-import org.apache.chemistry.opencmis.commons.PropertyIds;
 import org.apache.chemistry.opencmis.commons.SessionParameter;
 import org.apache.chemistry.opencmis.commons.data.Acl;
 import org.apache.chemistry.opencmis.commons.data.AllowableActions;
@@ -411,10 +410,7 @@ public class ObjectServiceImpl extends A
 
         objectId.setValue(newObj == null ? null : newObj.getId());
 
-        if (changeToken != null && newObj != null && newObj.getProperties() != 
null) {
-            Object ct = 
newObj.getProperties().getProperties().get(PropertyIds.CHANGE_TOKEN);
-            changeToken.setValue(ct == null ? null : ct.toString());
-        }
+        setChangeToken(changeToken, newObj);
     }
 
     public List<BulkUpdateObjectIdAndChangeToken> bulkUpdateProperties(String 
repositoryId,
@@ -561,10 +557,7 @@ public class ObjectServiceImpl extends A
 
         objectId.setValue(newObj == null ? null : newObj.getId());
 
-        if (changeToken != null && newObj != null && newObj.getProperties() != 
null) {
-            Object ct = 
newObj.getProperties().getProperties().get(PropertyIds.CHANGE_TOKEN);
-            changeToken.setValue(ct == null ? null : ct.toString());
-        }
+        setChangeToken(changeToken, newObj);
     }
 
     public void appendContentStream(String repositoryId, Holder<String> 
objectId, Holder<String> changeToken,
@@ -600,10 +593,7 @@ public class ObjectServiceImpl extends A
 
         objectId.setValue(newObj == null ? null : newObj.getId());
 
-        if (changeToken != null && newObj != null && newObj.getProperties() != 
null) {
-            Object ct = 
newObj.getProperties().getProperties().get(PropertyIds.CHANGE_TOKEN);
-            changeToken.setValue(ct == null ? null : ct.toString());
-        }
+        setChangeToken(changeToken, newObj);
     }
 
     public void deleteContentStream(String repositoryId, Holder<String> 
objectId, Holder<String> changeToken,
@@ -638,9 +628,6 @@ public class ObjectServiceImpl extends A
 
         objectId.setValue(newObj == null ? null : newObj.getId());
 
-        if (changeToken != null && newObj != null && newObj.getProperties() != 
null) {
-            Object ct = 
newObj.getProperties().getProperties().get(PropertyIds.CHANGE_TOKEN);
-            changeToken.setValue(ct == null ? null : ct.toString());
-        }
+        setChangeToken(changeToken, newObj);
     }
 }


Reply via email to