Update of /var/cvs/speeltuin/mihxil/streams/src/org/mmbase/streams
In directory james.mmbase.org:/tmp/cvs-serv9184/src/org/mmbase/streams
Modified Files:
BinaryFile.java
Log Message:
See also:
http://cvs.mmbase.org/viewcvs/speeltuin/mihxil/streams/src/org/mmbase/streams
Index: BinaryFile.java
===================================================================
RCS file:
/var/cvs/speeltuin/mihxil/streams/src/org/mmbase/streams/BinaryFile.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- BinaryFile.java 16 Apr 2009 14:47:26 -0000 1.1
+++ BinaryFile.java 23 Apr 2009 10:10:43 -0000 1.2
@@ -13,7 +13,11 @@
import org.mmbase.util.*;
import org.mmbase.datatypes.processors.*;
import java.util.*;
+import java.io.*;
import org.mmbase.util.logging.*;
+import org.mmbase.servlet.FileServlet;
+
+import org.apache.commons.fileupload.FileItem;
/**
* This class constains Setter and Getter method for 'binary' file fields. In
such field you can set
@@ -32,9 +36,23 @@
private static final long serialVersionUID = 1L;
public Object process(Node node, Field field, Object value) {
-
- SerializableInputStream is =
Casting.toSerializableInputStream(value);
- return value;
+ ///SerializableInputStream is =
Casting.toSerializableInputStream(value);
+ StringBuilder buf = new StringBuilder();
+
org.mmbase.storage.implementation.database.DatabaseStorageManager.appendDirectory(buf,
node.getNumber(), "/");
+ buf.append("/").append(node.getNumber()).append(".");
+ if (value instanceof FileItem) {
+ FileItem fi = (FileItem) value;
+ buf.append(fi.getName());
+ File f = new File(FileServlet.getDirectory(),
buf.toString().replace("/", File.separator));
+ try {
+ fi.write(f);
+ } catch (Exception e) {
+ throw new RuntimeException(e);
+ }
+ } else {
+ buf.append(field.getName());
+ }
+ return buf.toString();
}
}
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs