Author: dashorst
Date: Tue Jul  5 15:13:18 2011
New Revision: 1143096

URL: http://svn.apache.org/viewvc?rev=1143096&view=rev
Log:
Always set content-disposition, but when none is set on the handler, use 
attachment for files (when a filename is set) or inline for inline resources 
(when no filename is set).
Issue: WICKET-3871

Modified:
    
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/resource/ResourceStreamRequestHandler.java

Modified: 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/resource/ResourceStreamRequestHandler.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/resource/ResourceStreamRequestHandler.java?rev=1143096&r1=1143095&r2=1143096&view=diff
==============================================================================
--- 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/resource/ResourceStreamRequestHandler.java
 (original)
+++ 
wicket/trunk/wicket-core/src/main/java/org/apache/wicket/request/handler/resource/ResourceStreamRequestHandler.java
 Tue Jul  5 15:13:18 2011
@@ -23,6 +23,7 @@ import org.apache.wicket.request.resourc
 import org.apache.wicket.request.resource.ResourceStreamResource;
 import org.apache.wicket.util.lang.Args;
 import org.apache.wicket.util.resource.IResourceStream;
+import org.apache.wicket.util.string.Strings;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -41,7 +42,7 @@ public class ResourceStreamRequestHandle
         * with web requests.
         */
        private String fileName;
-       private ContentDisposition contentDisposition = 
ContentDisposition.INLINE;
+       private ContentDisposition contentDisposition;
 
        /** the resource stream for the response. */
        private final IResourceStream resourceStream;
@@ -74,7 +75,6 @@ public class ResourceStreamRequestHandle
 
        public void detach(IRequestCycle requestCycle)
        {
-
        }
 
        /**
@@ -108,7 +108,12 @@ public class ResourceStreamRequestHandle
 
                ResourceStreamResource resource = new 
ResourceStreamResource(resourceStream);
                resource.setFileName(fileName);
-               resource.setContentDisposition(contentDisposition);
+               if (contentDisposition != null)
+                       resource.setContentDisposition(contentDisposition);
+               else
+                       
resource.setContentDisposition(Strings.isEmpty(fileName) ? 
ContentDisposition.INLINE
+                               : ContentDisposition.ATTACHMENT);
+
                resource.respond(attributes);
        }
 
@@ -189,6 +194,4 @@ public class ResourceStreamRequestHandle
                this.contentDisposition = contentDisposition;
                return this;
        }
-
-
 }


Reply via email to