Update of
/var/cvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib/typehandler
In directory james.mmbase.org:/tmp/cvs-serv20233/typehandler
Modified Files:
BinaryHandler.java
Log Message:
MMB-1810
See also:
http://cvs.mmbase.org/viewcvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib/typehandler
See also: http://www.mmbase.org/jira/browse/MMB-1810
Index: BinaryHandler.java
===================================================================
RCS file:
/var/cvs/applications/taglib/src/org/mmbase/bridge/jsp/taglib/typehandler/BinaryHandler.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- BinaryHandler.java 12 Jan 2009 12:48:20 -0000 1.15
+++ BinaryHandler.java 24 Apr 2009 19:58:44 -0000 1.16
@@ -25,7 +25,7 @@
import org.mmbase.datatypes.*;
import javax.servlet.jsp.PageContext;
import javax.servlet.http.*;
-import org.apache.commons.fileupload.FileItem;
+
/**
* @javadoc
@@ -33,7 +33,7 @@
* @author Gerard van de Looi
* @author Michiel Meeuwissen
* @since MMBase-1.8 (was named ByteHandler previously)
- * @version $Id: BinaryHandler.java,v 1.15 2009/01/12 12:48:20 michiel Exp $
+ * @version $Id: BinaryHandler.java,v 1.16 2009/04/24 19:58:44 michiel Exp $
*/
public class BinaryHandler extends AbstractTypeHandler {
@@ -74,11 +74,11 @@
/**
* Returns the field value as specified by the client's post.
*/
- @Override protected Object getFieldValue(Node node, Field field) throws
JspTagException {
+ @Override
+ protected Object getFieldValue(Node node, Field field) throws
JspTagException {
if (MultiPart.isMultipart(tag.getPageContext())) {
ContextTag ct = tag.getContextTag();
- FileItem bytes = ct.getFileItem(prefix(field.getName()));
- return bytes;
+ return ct.getInputStream(prefix(field.getName()));
} else {
return null;
}
@@ -94,7 +94,7 @@
// do actually set the field, because some datatypes need
cross-field checking
// also in an mm:form, you can simply commit.
if (node != null && ! field.isReadOnly()) {
- setValue(node, field.getName(), (FileItem) fieldValue);
+ setValue(node, field.getName(), (SerializableInputStream)
fieldValue);
}
if (errors) {
return "<div id=\"" + prefixError(field.getName()) + "\"
class=\"mm_check_noerror\"> </div>";
@@ -134,13 +134,17 @@
* @see TypeHandler#useHtmlInput(Node, Field)
*/
@Override public boolean useHtmlInput(Node node, Field field) throws
JspTagException {
- FileItem bytes = (FileItem) getFieldValue(node, field);
- if (bytes == null){
+ SerializableInputStream bytes = (SerializableInputStream)
getFieldValue(node, field);
+ if (bytes == null) {
throw new BridgeException("getBytes(" + prefix(field.getName()) +
") returned null (node= " + node.getNumber() +") field=(" + field + ") (Was
your form enctype='multipart/form-data' ?");
}
+ if ("".equals(bytes.getName())) {
+ return false;
+ } else {
node.setValue(field.getName(), bytes);
return true;
}
+ }
/**
* @see TypeHandler#whereHtmlInput(Field)
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs