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);
}
}