[exo-jcr-commits] exo-jcr SVN: r3684 - jcr/branches/1.12.x/exo.jcr.component.webdav/src/main/java/org/exoplatform/services/jcr/webdav/command.
do-not-reply at jboss.org
do-not-reply at jboss.org
Mon Dec 20 07:54:25 EST 2010
Author: dkuleshov
Date: 2010-12-20 07:54:25 -0500 (Mon, 20 Dec 2010)
New Revision: 3684
Modified:
jcr/branches/1.12.x/exo.jcr.component.webdav/src/main/java/org/exoplatform/services/jcr/webdav/command/GetCommand.java
Log:
JCR-1540: The Last-modified property in the HTTP header is now passed correctly
Modified: jcr/branches/1.12.x/exo.jcr.component.webdav/src/main/java/org/exoplatform/services/jcr/webdav/command/GetCommand.java
===================================================================
--- jcr/branches/1.12.x/exo.jcr.component.webdav/src/main/java/org/exoplatform/services/jcr/webdav/command/GetCommand.java 2010-12-20 12:41:58 UTC (rev 3683)
+++ jcr/branches/1.12.x/exo.jcr.component.webdav/src/main/java/org/exoplatform/services/jcr/webdav/command/GetCommand.java 2010-12-20 12:54:25 UTC (rev 3684)
@@ -18,6 +18,27 @@
*/
package org.exoplatform.services.jcr.webdav.command;
+import org.exoplatform.common.http.HTTPStatus;
+import org.exoplatform.common.util.HierarchicalProperty;
+import org.exoplatform.services.jcr.webdav.Range;
+import org.exoplatform.services.jcr.webdav.WebDavConst;
+import org.exoplatform.services.jcr.webdav.resource.CollectionResource;
+import org.exoplatform.services.jcr.webdav.resource.FileResource;
+import org.exoplatform.services.jcr.webdav.resource.Resource;
+import org.exoplatform.services.jcr.webdav.resource.ResourceUtil;
+import org.exoplatform.services.jcr.webdav.resource.VersionResource;
+import org.exoplatform.services.jcr.webdav.resource.VersionedFileResource;
+import org.exoplatform.services.jcr.webdav.resource.VersionedResource;
+import org.exoplatform.services.jcr.webdav.util.MultipartByterangesEntity;
+import org.exoplatform.services.jcr.webdav.util.RangedInputStream;
+import org.exoplatform.services.jcr.webdav.util.TextUtil;
+import org.exoplatform.services.jcr.webdav.xml.WebDavNamespaceContext;
+import org.exoplatform.services.log.ExoLogger;
+import org.exoplatform.services.log.Log;
+import org.exoplatform.services.rest.ExtHttpHeaders;
+import org.exoplatform.services.rest.ext.provider.XSLTStreamingOutput;
+import org.exoplatform.services.rest.impl.header.MediaTypeHelper;
+
import java.io.InputStream;
import java.net.URI;
import java.text.DateFormat;
@@ -39,27 +60,6 @@
import javax.ws.rs.core.Response;
import javax.xml.transform.stream.StreamSource;
-import org.exoplatform.common.http.HTTPStatus;
-import org.exoplatform.common.util.HierarchicalProperty;
-import org.exoplatform.services.jcr.webdav.Range;
-import org.exoplatform.services.jcr.webdav.WebDavConst;
-import org.exoplatform.services.jcr.webdav.resource.CollectionResource;
-import org.exoplatform.services.jcr.webdav.resource.FileResource;
-import org.exoplatform.services.jcr.webdav.resource.Resource;
-import org.exoplatform.services.jcr.webdav.resource.ResourceUtil;
-import org.exoplatform.services.jcr.webdav.resource.VersionResource;
-import org.exoplatform.services.jcr.webdav.resource.VersionedFileResource;
-import org.exoplatform.services.jcr.webdav.resource.VersionedResource;
-import org.exoplatform.services.jcr.webdav.util.MultipartByterangesEntity;
-import org.exoplatform.services.jcr.webdav.util.RangedInputStream;
-import org.exoplatform.services.jcr.webdav.util.TextUtil;
-import org.exoplatform.services.jcr.webdav.xml.WebDavNamespaceContext;
-import org.exoplatform.services.log.ExoLogger;
-import org.exoplatform.services.log.Log;
-import org.exoplatform.services.rest.ExtHttpHeaders;
-import org.exoplatform.services.rest.ext.provider.XSLTStreamingOutput;
-import org.exoplatform.services.rest.impl.header.MediaTypeHelper;
-
/**
* Created by The eXo Platform SAS Author : <a
* href="gavrikvetal at gmail.com">Vitaly Guly</a>.
@@ -190,10 +190,12 @@
RangedInputStream rangedInputStream = new RangedInputStream(istream, start, end);
- return Response.status(HTTPStatus.PARTIAL).header(HttpHeaders.CONTENT_LENGTH,
- Long.toString(returnedContentLength)).header(ExtHttpHeaders.ACCEPT_RANGES, "bytes").header(
- ExtHttpHeaders.CONTENTRANGE, "bytes " + start + "-" + end + "/" + contentLength).entity(
- rangedInputStream).type(contentType).build();
+ return Response.status(HTTPStatus.PARTIAL)
+ .header(HttpHeaders.CONTENT_LENGTH, Long.toString(returnedContentLength))
+ .header(ExtHttpHeaders.ACCEPT_RANGES, "bytes")
+ .header(ExtHttpHeaders.LAST_MODIFIED, lastModifiedProperty.getValue())
+ .header(ExtHttpHeaders.CONTENTRANGE, "bytes " + start + "-" + end + "/" + contentLength)
+ .entity(rangedInputStream).type(contentType).build();
}
// multipart byte ranges as byte:0-100,80-150,210-300
@@ -209,8 +211,9 @@
MultipartByterangesEntity mByterangesEntity =
new MultipartByterangesEntity(resource, ranges, contentType, contentLength);
- return Response.status(HTTPStatus.PARTIAL).header(ExtHttpHeaders.ACCEPT_RANGES, "bytes").entity(
- mByterangesEntity).type(ExtHttpHeaders.MULTIPART_BYTERANGES + WebDavConst.BOUNDARY).build();
+ return Response.status(HTTPStatus.PARTIAL).header(ExtHttpHeaders.ACCEPT_RANGES, "bytes")
+ .header(ExtHttpHeaders.LAST_MODIFIED, lastModifiedProperty.getValue()).entity(mByterangesEntity)
+ .type(ExtHttpHeaders.MULTIPART_BYTERANGES + WebDavConst.BOUNDARY).build();
}
else
{
More information about the exo-jcr-commits
mailing list