Author: jflesch
Date: 2007-05-22 18:03:53 +0000 (Tue, 22 May 2007)
New Revision: 13306

Modified:
   trunk/apps/Thaw/src/thaw/core/Core.java
   trunk/apps/Thaw/src/thaw/fcp/FCPClientGet.java
   trunk/apps/Thaw/src/thaw/fcp/FCPMessage.java
   trunk/apps/Thaw/src/thaw/fcp/FreenetURIHelper.java
   trunk/apps/Thaw/src/thaw/plugins/queueWatcher/QueueTableModel.java
Log:
Should fix the problem due to nameless keys inserted by Frost

Modified: trunk/apps/Thaw/src/thaw/core/Core.java
===================================================================
--- trunk/apps/Thaw/src/thaw/core/Core.java     2007-05-22 17:57:17 UTC (rev 
13305)
+++ trunk/apps/Thaw/src/thaw/core/Core.java     2007-05-22 18:03:53 UTC (rev 
13306)
@@ -684,8 +684,8 @@
                        if ("ProtocolError".equals(m.getMessageName())) {
                                int code = Integer.parseInt(m.getValue("Code"));

-                               if (code == 8 /* Invalid field (?!) */
-                                   || code == 9 /* File not found */
+                               if (code == 8     /* Invalid field (?!) */
+                                   || code == 9  /* File not found */
                                    || code == 10 /* Disk target exists */
                                    || code == 12 /* Couldn't create file */
                                    || code == 13 /* Couldn't write file */

Modified: trunk/apps/Thaw/src/thaw/fcp/FCPClientGet.java
===================================================================
--- trunk/apps/Thaw/src/thaw/fcp/FCPClientGet.java      2007-05-22 17:57:17 UTC 
(rev 13305)
+++ trunk/apps/Thaw/src/thaw/fcp/FCPClientGet.java      2007-05-22 18:03:53 UTC 
(rev 13306)
@@ -99,6 +99,21 @@

                identifier = id;

+               /* FIX : This is a fix for the files inserted by Frost */
+               /* To remove when bback will do his work correctly */
+               if (filename == null && id != null) {
+                       Logger.warning(this, "Fixing Frost key filename");
+                       String[] split = id.split("-");
+
+                       if (split.length >= 2) {
+                               filename = "";
+                               for (int i = 1 ; i < split.length; i++)
+                                       filename += split[i];
+                       }
+               }
+               /* /FIX */
+
+
                successful = true;
                running = true;

@@ -127,8 +142,7 @@


        /**
-        * Entry point:
-        * Only for initial queries : To resume queries, use 
FCPClientGet(FCPQueueManager, Hashmap).
+        * Entry point: Only for initial queries
         * @param destinationDir if null => temporary file
         * @param persistence 0 = Forever ; 1 = Until node reboot ; 2 = Until 
the app disconnect
         */
@@ -153,16 +167,14 @@

                progress = 0;
                fileSize = 0;
-               attempt = 0;
+               attempt  = 0;

                status = "Waiting";

                filename = FreenetURIHelper.getFilenameFromKey(key);

-               try {
-                       filename = java.net.URLDecoder.decode(filename, 
"UTF-8");
-               } catch (final java.io.UnsupportedEncodingException e) {
-                       Logger.warning(this, "UnsupportedEncodingException 
(UTF-8): "+e.toString());
+               if (filename == null) {
+                       Logger.warning(this, "Nameless key !!");
                }

                Logger.debug(this, "Query for getting "+key+" created");

Modified: trunk/apps/Thaw/src/thaw/fcp/FCPMessage.java
===================================================================
--- trunk/apps/Thaw/src/thaw/fcp/FCPMessage.java        2007-05-22 17:57:17 UTC 
(rev 13305)
+++ trunk/apps/Thaw/src/thaw/fcp/FCPMessage.java        2007-05-22 18:03:53 UTC 
(rev 13306)
@@ -63,7 +63,7 @@
                }

                if("ProtocolError".equals( getMessageName() )) {
-                       Logger.notice(this, "PROTOCOL ERROR:\n"+toString());
+                       Logger.warning(this, "PROTOCOL ERROR:\n"+toString());
                }

                return true;

Modified: trunk/apps/Thaw/src/thaw/fcp/FreenetURIHelper.java
===================================================================
--- trunk/apps/Thaw/src/thaw/fcp/FreenetURIHelper.java  2007-05-22 17:57:17 UTC 
(rev 13305)
+++ trunk/apps/Thaw/src/thaw/fcp/FreenetURIHelper.java  2007-05-22 18:03:53 UTC 
(rev 13306)
@@ -61,14 +61,26 @@
                cutcut = key.split("/");

                if ( (!key.startsWith("USK@")) || cutcut.length >= 4) {
-                       filename = cutcut[cutcut.length-1];
+                       if (cutcut.length >= 2)
+                               filename = cutcut[cutcut.length-1];
+                       else /* this key is nameless */
+                               filename = null;
                } else {
-                       if (cutcut.length >= 2)
+                       if (cutcut.length >= 2) {
                                filename = cutcut[cutcut.length-2];
-                       else
+                       } else {
                                filename = cutcut[cutcut.length-1];
+                       }
                }

+               if (filename != null) {
+                       try {
+                               filename = java.net.URLDecoder.decode(filename, 
"UTF-8");
+                       } catch (final java.io.UnsupportedEncodingException e) {
+                               Logger.warning(filename, 
"UnsupportedEncodingException (UTF-8): "+e.toString());
+                       }
+               }
+
                return filename;
        }


Modified: trunk/apps/Thaw/src/thaw/plugins/queueWatcher/QueueTableModel.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/queueWatcher/QueueTableModel.java  
2007-05-22 17:57:17 UTC (rev 13305)
+++ trunk/apps/Thaw/src/thaw/plugins/queueWatcher/QueueTableModel.java  
2007-05-22 18:03:53 UTC (rev 13306)
@@ -96,9 +96,15 @@

                final FCPTransferQuery query = 
(FCPTransferQuery)queries.get(row);

-               if(column == 0)
-                       return query.getFilename();
+               if(column == 0) {
+                       String filename = query.getFilename();

+                       if (filename == null)
+                               return "(null)";
+
+                       return filename;
+               }
+
                if(column == 1)
                        return 
thaw.gui.GUIHelper.getPrintableSize(query.getFileSize());



Reply via email to