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());