[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