Author: nextgens
Date: 2007-04-11 18:33:07 +0000 (Wed, 11 Apr 2007)
New Revision: 12582

Modified:
   trunk/freenet/src/freenet/node/NodeClientCore.java
   trunk/freenet/src/freenet/support/io/FileUtil.java
Log:
move NodeClientCore.isParent(File, File) to where it belongs => FileUtil

Modified: trunk/freenet/src/freenet/node/NodeClientCore.java
===================================================================
--- trunk/freenet/src/freenet/node/NodeClientCore.java  2007-04-11 17:04:47 UTC 
(rev 12581)
+++ trunk/freenet/src/freenet/node/NodeClientCore.java  2007-04-11 18:33:07 UTC 
(rev 12582)
@@ -48,6 +48,7 @@
 import freenet.support.api.BucketFactory;
 import freenet.support.api.StringArrCallback;
 import freenet.support.api.StringCallback;
+import freenet.support.io.FileUtil;
 import freenet.support.io.FilenameGenerator;
 import freenet.support.io.PaddedEphemerallyEncryptedBucketFactory;
 import freenet.support.io.PersistentEncryptedTempBucketFactory;
@@ -974,10 +975,10 @@
        public boolean allowDownloadTo(File filename) {
                if(downloadAllowedEverywhere) return true;
                if(includeDownloadDir) {
-                       if(isParent(downloadDir, filename)) return true;
+                       if(FileUtil.isParent(downloadDir, filename)) return 
true;
                }
                for(int i=0;i<downloadAllowedDirs.length;i++) {
-                       if(isParent(downloadAllowedDirs[i], filename)) return 
true;
+                       if(FileUtil.isParent(downloadAllowedDirs[i], filename)) 
return true;
                }
                return false;
        }
@@ -985,42 +986,11 @@
        public boolean allowUploadFrom(File filename) {
                if(uploadAllowedEverywhere) return true;
                for(int i=0;i<uploadAllowedDirs.length;i++) {
-                       if(isParent(uploadAllowedDirs[i], filename)) return 
true;
+                       if(FileUtil.isParent(uploadAllowedDirs[i], filename)) 
return true;
                }
                return false;
        }

-       /** Is possParent a parent of filename?
-        * FIXME Move somewhere generic. 
-        * Why doesn't java provide this? :( */
-       private boolean isParent(File possParent, File filename) {
-               File canonParent;
-               File canonFile;
-               try {
-                       canonParent = possParent.getCanonicalFile();
-               } catch (IOException e) {
-                       canonParent = possParent.getAbsoluteFile();
-               }
-               try {
-                       canonFile = filename.getCanonicalFile();
-               } catch (IOException e) {
-                       canonFile = filename.getAbsoluteFile();
-               }
-               if(isParentInner(possParent, filename)) return true;
-               if(isParentInner(possParent, canonFile)) return true;
-               if(isParentInner(canonParent, filename)) return true;
-               if(isParentInner(canonParent, canonFile)) return true;
-               return false;
-       }
-
-       private boolean isParentInner(File possParent, File filename) {
-               while(true) {
-                       if(filename.equals(possParent)) return true;
-                       filename = filename.getParentFile();
-                       if(filename == null) return false;
-               }
-       }
-
        public SimpleFieldSet persistThrottlesToFieldSet() {
                return requestStarters.persistToFieldSet();
        }

Modified: trunk/freenet/src/freenet/support/io/FileUtil.java
===================================================================
--- trunk/freenet/src/freenet/support/io/FileUtil.java  2007-04-11 17:04:47 UTC 
(rev 12581)
+++ trunk/freenet/src/freenet/support/io/FileUtil.java  2007-04-11 18:33:07 UTC 
(rev 12582)
@@ -4,6 +4,7 @@
 package freenet.support.io;

 import java.io.File;
+import java.io.IOException;

 final public class FileUtil {

@@ -12,7 +13,7 @@
                int mask=blocksize-1;
                return (val+mask)&~mask;
        }
-       
+
        /**
         * Guesstimate real disk usage for a file with a given filename, of a 
given length.
         */
@@ -31,4 +32,35 @@
                long extra = (roundup_2n(flen, 1024) / 1024) * 50;
                return blockUsage + filenameUsage + extra;
        }
+
+       /** Is possParent a parent of filename?
+        * FIXME Move somewhere generic. 
+        * Why doesn't java provide this? :( */
+       public static boolean isParent(File possParent, File filename) {
+               File canonParent;
+               File canonFile;
+               try {
+                       canonParent = possParent.getCanonicalFile();
+               } catch (IOException e) {
+                       canonParent = possParent.getAbsoluteFile();
+               }
+               try {
+                       canonFile = filename.getCanonicalFile();
+               } catch (IOException e) {
+                       canonFile = filename.getAbsoluteFile();
+               }
+               if(isParentInner(possParent, filename)) return true;
+               if(isParentInner(possParent, canonFile)) return true;
+               if(isParentInner(canonParent, filename)) return true;
+               if(isParentInner(canonParent, canonFile)) return true;
+               return false;
+       }
+
+       private static boolean isParentInner(File possParent, File filename) {
+               while(true) {
+                       if(filename.equals(possParent)) return true;
+                       filename = filename.getParentFile();
+                       if(filename == null) return false;
+               }
+       }
 }


Reply via email to