Author: jflesch
Date: 2006-12-29 20:25:00 +0000 (Fri, 29 Dec 2006)
New Revision: 11527
Modified:
trunk/apps/Thaw/src/thaw/core/Core.java
trunk/apps/Thaw/src/thaw/plugins/index/File.java
trunk/apps/Thaw/src/thaw/plugins/index/FileManagementHelper.java
Log:
Don't allow file transfer from an index when it's not possible or when another
transfer is already running
Modified: trunk/apps/Thaw/src/thaw/core/Core.java
===================================================================
--- trunk/apps/Thaw/src/thaw/core/Core.java 2006-12-29 19:20:07 UTC (rev
11526)
+++ trunk/apps/Thaw/src/thaw/core/Core.java 2006-12-29 20:25:00 UTC (rev
11527)
@@ -421,7 +421,10 @@
int nmbReconnect = 0;
- warningDialog = new
JDialog(getMainWindow().getMainFrame());
+ if (getMainWindow() != null) /* disconnection can
happen when starting */
+ warningDialog = new
JDialog(getMainWindow().getMainFrame());
+ else
+ warningDialog = new JDialog();
warningDialog.setTitle("Thaw - reconnection");
warningDialog.setModal(false);
warningDialog.setSize(500, 100);
Modified: trunk/apps/Thaw/src/thaw/plugins/index/File.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/File.java 2006-12-29 19:20:07 UTC
(rev 11526)
+++ trunk/apps/Thaw/src/thaw/plugins/index/File.java 2006-12-29 20:25:00 UTC
(rev 11527)
@@ -30,7 +30,7 @@
private long size = -1;
private String category;
- private String localPath;
+ private String localPath = null;
private FCPTransferQuery transfer = null; /* can be null */
private Index parent;
@@ -234,6 +234,16 @@
}
public void download(final String targetPath, final FCPQueueManager
queueManager) {
+ if (!FreenetURIHelper.isAKey(getPublicKey())) {
+ Logger.warning(this, "Can't start download: file key is
unknown");
+ return;
+ }
+
+ if (getTransfer() != null) {
+ Logger.warning(this, "Can't download: a transfer is
already running");
+ return;
+ }
+
final FCPClientGet clientGet = new FCPClientGet(getPublicKey(),
4, 0, true, -1, targetPath);
queueManager.addQueryToThePendingQueue(clientGet);
@@ -243,6 +253,11 @@
public void insertOnFreenet(final FCPQueueManager queueManager) {
+ if (getTransfer() != null) {
+ Logger.warning(this, "Another transfer is already
running : can't insert");
+ return;
+ }
+
final FCPClientPut clientPut = new FCPClientPut(new
java.io.File(getLocalPath()),
0, 0, null, null, 4,
true, 0);
queueManager.addQueryToThePendingQueue(clientPut);
Modified: trunk/apps/Thaw/src/thaw/plugins/index/FileManagementHelper.java
===================================================================
--- trunk/apps/Thaw/src/thaw/plugins/index/FileManagementHelper.java
2006-12-29 19:20:07 UTC (rev 11526)
+++ trunk/apps/Thaw/src/thaw/plugins/index/FileManagementHelper.java
2006-12-29 20:25:00 UTC (rev 11527)
@@ -115,7 +115,8 @@
final thaw.plugins.index.File file =
(thaw.plugins.index.File)it.next();
if ((file.getLocalPath() == null)
- || !file.isModifiable()) {
+ || !file.isModifiable()
+ || file.getTransfer() != null) {
isOk = false;
break;
}