You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@chemistry.apache.org by "Achim Derigs (JIRA)" <ji...@apache.org> on 2014/03/25 23:35:20 UTC
[jira] [Issue Comment Deleted] (CMIS-771) deleteTree via compressed
(gzipped) JSON fails with: Unexpected token END OF FILE at position 0.
[ https://issues.apache.org/jira/browse/CMIS-771?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Achim Derigs updated CMIS-771:
------------------------------
Comment: was deleted
(was: diff --git a/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/AbstractBrowserBindingService.java b/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/AbstractBrowserBindingService.java
index 7658673..e85c8a7 100644
--- a/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/AbstractBrowserBindingService.java
+++ b/chemistry-opencmis-client/chemistry-opencmis-client-bindings/src/main/java/org/apache/chemistry/opencmis/client/bindings/spi/browser/AbstractBrowserBindingService.java
@@ -290,6 +290,8 @@ public abstract class AbstractBrowserBindingService implements LinkAccess {
if (obj instanceof Map) {
return (Map<String, Object>) obj;
+ } else if (obj == null) {
+ return null;
}
throw new CmisConnectionException("Unexpected object!");
diff --git a/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/json/parser/JSONParser.java b/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/json/parser/JSONParser.java
index a3cf9c1..6ba9dd5 100644
--- a/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/json/parser/JSONParser.java
+++ b/chemistry-opencmis-commons/chemistry-opencmis-commons-impl/src/main/java/org/apache/chemistry/opencmis/commons/impl/json/parser/JSONParser.java
@@ -152,6 +152,8 @@ public class JSONParser {
statusStack.addFirst(Integer.valueOf(status));
valueStack.addFirst(createArrayContainer(containerFactory));
break;
+ case Yytoken.TYPE_EOF:
+ return null;
default:
status = S_IN_ERROR;
}// inner switch)
> deleteTree via compressed (gzipped) JSON fails with: Unexpected token END OF FILE at position 0.
> ------------------------------------------------------------------------------------------------
>
> Key: CMIS-771
> URL: https://issues.apache.org/jira/browse/CMIS-771
> Project: Chemistry
> Issue Type: Bug
> Components: opencmis-client
> Affects Versions: OpenCMIS 0.10.0
> Environment: (Apache) Web server configured to compress (gzip) responses for (Android) clients
> Reporter: Achim Derigs
> Priority: Minor
> Labels: patch
> Fix For: OpenCMIS 1.0.0, OpenCMIS 0.11.0
>
> Attachments: patch
>
>
> Since HTTP's Content-Length header returns the compressed size, it is an error to use getContentLength() to size buffers for the uncompressed data. Instead, read bytes from the response until InputStream.read() returns -1. See: http://android-developers.blogspot.de/2011/09/androids-http-clients.html
> If the Web Server decides to compress the response of the deleteTree request you will get a Content-Length of 20 for a compressed (gzipped) empty body. This makes no sense but is valid. ;-)
> org.apache.chemistry.opencmis.commons.exceptions.CmisConnectionException: Parsing exception!
> at org.apache.chemistry.opencmis.client.bindings.spi.browser.AbstractBrowserBindingService.parse(AbstractBrowserBindingService.java:325)
> at org.apache.chemistry.opencmis.client.bindings.spi.browser.AbstractBrowserBindingService.parseObject(AbstractBrowserBindingService.java:289)
> at org.apache.chemistry.opencmis.client.bindings.spi.browser.ObjectServiceImpl.deleteTree(ObjectServiceImpl.java:506)
> at org.alfresco.mobile.android.api.services.impl.AbstractDocumentFolderServiceImpl.delete(AbstractDocumentFolderServiceImpl.java:684)
> at org.alfresco.mobile.android.api.services.impl.AbstractDocumentFolderServiceImpl.deleteNode(AbstractDocumentFolderServiceImpl.java:646)
> ... 2 more
> Caused by: Unexpected token END OF FILE at position 0.
> at org.apache.chemistry.opencmis.commons.impl.json.parser.JSONParser.parse(JSONParser.java:273)
> at org.apache.chemistry.opencmis.client.bindings.spi.browser.AbstractBrowserBindingService.parse(AbstractBrowserBindingService.java:323)
> ... 6 more
--
This message was sent by Atlassian JIRA
(v6.2#6252)