Update of /var/cvs/src/org/mmbase/module/builders
In directory james.mmbase.org:/tmp/cvs-serv4782

Modified Files:
      Tag: MMBase-1_8
        AbstractServletBuilder.java 
Log Message:
  MMB-1750


See also: http://cvs.mmbase.org/viewcvs/src/org/mmbase/module/builders
See also: http://www.mmbase.org/jira/browse/MMB-1750


Index: AbstractServletBuilder.java
===================================================================
RCS file: /var/cvs/src/org/mmbase/module/builders/AbstractServletBuilder.java,v
retrieving revision 1.42.2.6
retrieving revision 1.42.2.7
diff -u -b -r1.42.2.6 -r1.42.2.7
--- AbstractServletBuilder.java 15 Nov 2008 11:00:45 -0000      1.42.2.6
+++ AbstractServletBuilder.java 9 Dec 2008 16:05:19 -0000       1.42.2.7
@@ -30,7 +30,7 @@
  *
  *
  * @author Michiel Meeuwissen
- * @version $Id: AbstractServletBuilder.java,v 1.42.2.6 2008/11/15 11:00:45 
michiel Exp $
+ * @version $Id: AbstractServletBuilder.java,v 1.42.2.7 2008/12/09 16:05:19 
michiel Exp $
  * @since   MMBase-1.6
  */
 public abstract class AbstractServletBuilder extends MMObjectBuilder {
@@ -440,6 +440,7 @@
                                              new Parameter("field",    
String.class), // The field to use as argument, defaults to number unless 
'argument' is specified.
                                              new Parameter("context",  
String.class), // Path to the context root, defaults to "/" (but can specify 
something relative).
                                              new Parameter("argument", 
String.class), // Parameter to use for the argument, overrides 'field'
+                                             new Parameter("disposition", 
String.class),
                                              Parameter.REQUEST,
                                              Parameter.CLOUD
                                          },
@@ -497,14 +498,23 @@
                     if (usesBridgeServlet &&  session != null) {
                         servlet.append("session=" + session + "+");
                     }
+                    servlet.append(argument);
 
-                    if (! addFileName) {
-                        return servlet.append(argument).toString();
-                    } else {
-                        servlet.append(argument).append('/');
+                    String disposition = (String) a.get("disposition");
+                    if (disposition != null) {
+                        String defaultDisposition = 
node.getNodeManager().getProperty("Content-Disposition");
+                        if (! disposition.equals(defaultDisposition)) {
+                            servlet.append('/');
+                            servlet.append(disposition);
+                            addFileName = true;
+                        }
+                    }
+
+                    if (addFileName) {
+                        servlet.append('/');
                         getFileName(mmnode, servlet);
-                        return servlet.toString();
                     }
+                    return servlet.toString();
                 }
 
                 public Object getFunctionValue(Parameters a) {
_______________________________________________
Cvs mailing list
Cvs@lists.mmbase.org
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to