bloritsch    01/03/07 07:52:53

  Modified:    src/org/apache/cocoon/acting Tag: xml-cocoon2
                        AbstractDatabaseAction.java
  Log:
  Added functionality to import from a really long string, or an Ascii File.
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.11  +18 -4     
xml-cocoon/src/org/apache/cocoon/acting/Attic/AbstractDatabaseAction.java
  
  Index: AbstractDatabaseAction.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon/src/org/apache/cocoon/acting/Attic/AbstractDatabaseAction.java,v
  retrieving revision 1.1.2.10
  retrieving revision 1.1.2.11
  diff -u -r1.1.2.10 -r1.1.2.11
  --- AbstractDatabaseAction.java       2001/03/06 21:17:23     1.1.2.10
  +++ AbstractDatabaseAction.java       2001/03/07 15:52:51     1.1.2.11
  @@ -18,7 +18,9 @@
   import java.sql.Types;
   import java.net.URL;
   import java.io.File;
  +import java.io.InputStream;
   import java.io.FileInputStream;
  +import java.io.StringBufferInputStream;
   import java.math.BigDecimal;
   import java.util.ArrayList;
   import java.util.Collections;
  @@ -166,7 +168,7 @@
    * </table>
    *
    * @author <a href="mailto:[EMAIL PROTECTED]">Berin Loritsch</a>
  - * @version CVS $Revision: 1.1.2.10 $ $Date: 2001/03/06 21:17:23 $
  + * @version CVS $Revision: 1.1.2.11 $ $Date: 2001/03/07 15:52:51 $
    */
   public abstract class AbstractDatabaseAction extends 
AbstractComplimentaryConfigurableAction implements Configurable {
       protected Map files = new HashMap();
  @@ -235,9 +237,21 @@
   
           switch (typeObject.intValue()) {
               case Types.CLOB:
  -                File asciiFile = (File) request.get(attribute);
  -                FileInputStream asciiStream = new FileInputStream(asciiFile);
  -                statement.setAsciiStream(position, asciiStream, (int) 
asciiFile.length());
  +                Object attr = request.get(attribute);
  +                int length = -1;
  +                InputStream asciiStream = null;
  +
  +                if (attr instanceof File) {
  +                    File asciiFile = (File) attr;
  +                    asciiStream = new FileInputStream(asciiFile);
  +                    length = (int) asciiFile.length();
  +                } else {
  +                    String asciiText = (String) attr;
  +                    asciiStream = new StringBufferInputStream(asciiText);
  +                    length = asciiText.length();
  +                }
  +
  +                statement.setAsciiStream(position, asciiStream, length);
                   break;
               case Types.BIGINT:
                   statement.setBigDecimal(position, new BigDecimal((String) 
value));
  
  
  

Reply via email to