Author: toad
Date: 2006-03-26 00:16:14 +0000 (Sun, 26 Mar 2006)
New Revision: 8324

Modified:
   trunk/freenet/src/freenet/client/Metadata.java
   trunk/freenet/src/freenet/client/async/SimpleManifestPutter.java
   trunk/freenet/src/freenet/node/Version.java
   trunk/freenet/src/freenet/node/fcp/ClientPutComplexDirMessage.java
   trunk/freenet/src/freenet/node/fcp/DirPutFile.java
Log:
576: Fix: subdirs were broken in ClientPutComplexDir.

Modified: trunk/freenet/src/freenet/client/Metadata.java
===================================================================
--- trunk/freenet/src/freenet/client/Metadata.java      2006-03-26 00:00:59 UTC 
(rev 8323)
+++ trunk/freenet/src/freenet/client/Metadata.java      2006-03-26 00:16:14 UTC 
(rev 8324)
@@ -408,7 +408,7 @@
                for(Iterator i = dir.keySet().iterator();i.hasNext();) {
                        String key = (String) i.next();
                        if(key.indexOf('/') != -1)
-                               throw new IllegalArgumentException("Slashes in 
simple redirect manifest filenames! (slashes denote sub-manifests)");
+                               throw new IllegalArgumentException("Slashes in 
simple redirect manifest filenames! (slashes denote sub-manifests): "+key);
                        count++;
                        Object o = dir.get(key);
                        if(o instanceof byte[]) {

Modified: trunk/freenet/src/freenet/client/async/SimpleManifestPutter.java
===================================================================
--- trunk/freenet/src/freenet/client/async/SimpleManifestPutter.java    
2006-03-26 00:00:59 UTC (rev 8323)
+++ trunk/freenet/src/freenet/client/async/SimpleManifestPutter.java    
2006-03-26 00:16:14 UTC (rev 8324)
@@ -14,7 +14,6 @@
 import freenet.client.Metadata;
 import freenet.client.events.SplitfileProgressEvent;
 import freenet.keys.BaseClientKey;
-import freenet.keys.ClientKey;
 import freenet.keys.FreenetURI;
 import freenet.support.Bucket;
 import freenet.support.BucketTools;

Modified: trunk/freenet/src/freenet/node/Version.java
===================================================================
--- trunk/freenet/src/freenet/node/Version.java 2006-03-26 00:00:59 UTC (rev 
8323)
+++ trunk/freenet/src/freenet/node/Version.java 2006-03-26 00:16:14 UTC (rev 
8324)
@@ -20,7 +20,7 @@
        public static final String protocolVersion = "1.0";

        /** The build number of the current revision */
-       private static final int buildNumber = 575;
+       private static final int buildNumber = 576;

        /** Oldest build of Fred we will talk to */
        private static final int lastGoodBuild = 507;

Modified: trunk/freenet/src/freenet/node/fcp/ClientPutComplexDirMessage.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/ClientPutComplexDirMessage.java  
2006-03-26 00:00:59 UTC (rev 8323)
+++ trunk/freenet/src/freenet/node/fcp/ClientPutComplexDirMessage.java  
2006-03-26 00:16:14 UTC (rev 8324)
@@ -96,6 +96,10 @@
                                } else {
                                        throw new 
MessageInvalidException(ProtocolErrorMessage.INVALID_MESSAGE, "Cannot be both a 
file and a directory: "+before, identifier);
                                }
+                       } else {
+                               o = new HashMap();
+                               byName.put(before, o);
+                               addFile((HashMap)o, after, f);
                        }
                }
        }

Modified: trunk/freenet/src/freenet/node/fcp/DirPutFile.java
===================================================================
--- trunk/freenet/src/freenet/node/fcp/DirPutFile.java  2006-03-26 00:00:59 UTC 
(rev 8323)
+++ trunk/freenet/src/freenet/node/fcp/DirPutFile.java  2006-03-26 00:16:14 UTC 
(rev 8324)
@@ -5,6 +5,7 @@
 import freenet.client.async.ManifestElement;
 import freenet.support.Bucket;
 import freenet.support.BucketFactory;
+import freenet.support.Logger;
 import freenet.support.SimpleFieldSet;

 /**
@@ -60,7 +61,11 @@
        public abstract Bucket getData();

        public ManifestElement getElement() {
-               return new ManifestElement(name, getData(), getMIMEType(), 
getData().size());
+               String n = name;
+               int idx = n.lastIndexOf('/');
+               if(idx != -1) n = n.substring(idx+1);
+               Logger.minor(this, "Element name: "+name+" -> "+n);
+               return new ManifestElement(n, getData(), getMIMEType(), 
getData().size());
        }

 }


Reply via email to