Author: bombe
Date: 2008-02-02 21:21:16 +0000 (Sat, 02 Feb 2008)
New Revision: 17481

Modified:
   trunk/apps/jSite/src/de/todesbaum/jsite/main/Version.java
   trunk/apps/jSite/src/de/todesbaum/util/freenet/fcp2/ClientPutComplexDir.java
Log:
version 0.4.9.5: fix redirect inserting

Modified: trunk/apps/jSite/src/de/todesbaum/jsite/main/Version.java
===================================================================
--- trunk/apps/jSite/src/de/todesbaum/jsite/main/Version.java   2008-02-02 
20:45:33 UTC (rev 17480)
+++ trunk/apps/jSite/src/de/todesbaum/jsite/main/Version.java   2008-02-02 
21:21:16 UTC (rev 17481)
@@ -25,7 +25,7 @@
  */
 public class Version {

-       private static final String VERSION = "0.4.9.4";
+       private static final String VERSION = "0.4.9.5";

        public static final String getVersion() {
                return VERSION;

Modified: 
trunk/apps/jSite/src/de/todesbaum/util/freenet/fcp2/ClientPutComplexDir.java
===================================================================
--- 
trunk/apps/jSite/src/de/todesbaum/util/freenet/fcp2/ClientPutComplexDir.java    
    2008-02-02 20:45:33 UTC (rev 17480)
+++ 
trunk/apps/jSite/src/de/todesbaum/util/freenet/fcp2/ClientPutComplexDir.java    
    2008-02-02 21:21:16 UTC (rev 17481)
@@ -1,5 +1,5 @@
 /*
- * todesbaum-lib - 
+ * todesbaum-lib -
  * Copyright (C) 2006 David Roden
  *
  * This program is free software; you can redistribute it and/or modify
@@ -34,7 +34,7 @@
 /**
  * Implementation of the <code>ClientPutComplexDir</code> command. This
  * command can be used to insert directories that do not exist on disk.
- * 
+ *
  * @author David Roden &lt;droden at gmail.com&gt;
  * @version $Id$
  */
@@ -42,13 +42,13 @@

        /** The file entries of this directory. */
        private List<FileEntry> fileEntries = new ArrayList<FileEntry>();
-       
+
        /** Whether this request has payload. */
        private boolean hasPayload = false;
-       
+
        /** The input streams for the payload. */
        private File payloadFile;
-       
+
        /** The total number of bytes of the payload. */
        private long payloadLength = 0;

@@ -66,31 +66,35 @@
         * @param fileEntry The file entry to add to the directory
         */
        public void addFileEntry(FileEntry fileEntry) {
-               if (payloadFile == null){
-                       try {
-                               payloadFile = File.createTempFile("payload", 
".dat");
-                               payloadFile.deleteOnExit();
-                       } catch (IOException e) {
+               if (fileEntry instanceof DirectFileEntry) {
+                       if (payloadFile == null){
+                               try {
+                                       payloadFile = 
File.createTempFile("payload", ".dat");
+                                       payloadFile.deleteOnExit();
+                               } catch (IOException e) {
+                               }
                        }
-               }
-               if (payloadFile != null) {
-                       InputStream payloadInputStream = ((DirectFileEntry) 
fileEntry).getDataInputStream();
-                       FileOutputStream payloadOutputStream = null;
-                       try {
-                               payloadOutputStream = new 
FileOutputStream(payloadFile, true);
-                               byte[] buffer = new byte[65536];
-                               int read = 0;
-                               while ((read = payloadInputStream.read(buffer)) 
!= -1) {
-                                       payloadOutputStream.write(buffer, 0, 
read);
+                       if (payloadFile != null) {
+                               InputStream payloadInputStream = 
((DirectFileEntry) fileEntry).getDataInputStream();
+                               FileOutputStream payloadOutputStream = null;
+                               try {
+                                       payloadOutputStream = new 
FileOutputStream(payloadFile, true);
+                                       byte[] buffer = new byte[65536];
+                                       int read = 0;
+                                       while ((read = 
payloadInputStream.read(buffer)) != -1) {
+                                               
payloadOutputStream.write(buffer, 0, read);
+                                       }
+                                       payloadOutputStream.flush();
+                                       fileEntries.add(fileEntry);
+                               } catch (IOException ioe1) {
+                                       /* hmm, ignore? */
+                               } finally {
+                                       Closer.close(payloadOutputStream);
+                                       Closer.close(payloadInputStream);
                                }
-                               payloadOutputStream.flush();
-                               fileEntries.add(fileEntry);
-                       } catch (IOException ioe1) {
-                               /* hmm, ignore? */
-                       } finally {
-                               Closer.close(payloadOutputStream);
-                               Closer.close(payloadInputStream);
                        }
+               } else {
+                       fileEntries.add(fileEntry);
                }
        }



Reply via email to