summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2015-07-20 12:33:05 +0200
committerSimon Rettberg2015-07-20 12:33:05 +0200
commitf2d463f3c4a6ad76d4a530185eadde7a5858cf7d (patch)
tree26b10dd3d5b33dbc7f75bd68165d8030c53eb366
parent[server] Simplified db schema a bit (diff)
downloadtutor-module-f2d463f3c4a6ad76d4a530185eadde7a5858cf7d.tar.gz
tutor-module-f2d463f3c4a6ad76d4a530185eadde7a5858cf7d.tar.xz
tutor-module-f2d463f3c4a6ad76d4a530185eadde7a5858cf7d.zip
[client] Adapt to file transfer constructor changes
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/Config.java2
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/filetransfer/DownloadTask.java7
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/filetransfer/UploadTask.java7
3 files changed, 9 insertions, 7 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/Config.java b/dozentenmodul/src/main/java/org/openslx/dozmod/Config.java
index c15c6bb1..df1894bc 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/Config.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/Config.java
@@ -25,6 +25,8 @@ public class Config {
* Logger for this class
*/
private final static Logger LOGGER = Logger.getLogger(Config.class);
+
+ public static final int TRANSFER_TIMEOUT = 20 * 1000; // 20s timeout for hung transfers
public static interface ErrorCallback {
void writeError(Throwable t);
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/filetransfer/DownloadTask.java b/dozentenmodul/src/main/java/org/openslx/dozmod/filetransfer/DownloadTask.java
index a2cfcba7..2acd40e4 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/filetransfer/DownloadTask.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/filetransfer/DownloadTask.java
@@ -5,6 +5,7 @@ import java.io.IOException;
import java.io.RandomAccessFile;
import org.apache.log4j.Logger;
+import org.openslx.dozmod.Config;
import org.openslx.filetransfer.DataReceivedCallback;
import org.openslx.filetransfer.Downloader;
import org.openslx.filetransfer.FileRange;
@@ -33,7 +34,6 @@ public class DownloadTask implements Runnable {
private final String downloadToken;
private final String saveDir;
private final long fileSize;
- private boolean success = false;
public DownloadTask(String host, int port, String downloadToken, String saveDir, long fileSize) {
this.host = host;
@@ -107,7 +107,7 @@ public class DownloadTask implements Runnable {
Downloader download = null;
RandomAccessFile file = null;
try {
- download = new Downloader(host, port, null, downloadToken); // TODO: SSL
+ download = new Downloader(host, port, Config.TRANSFER_TIMEOUT, null, downloadToken); // TODO: SSL
try {
file = new RandomAccessFile(new File(saveDir), "rw");
} catch (Exception e2) {
@@ -129,14 +129,13 @@ public class DownloadTask implements Runnable {
}
}
if (download != null)
- download.close(null);
+ download.cancel();
}
// if the download succeeded, set the progress to 100% manually again here to make
// sure the GUI knows about it.
if (ret) {
LOGGER.debug("successul download.");
- success = true;
}
return;
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/filetransfer/UploadTask.java b/dozentenmodul/src/main/java/org/openslx/dozmod/filetransfer/UploadTask.java
index 87e8845c..ad7a3eab 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/filetransfer/UploadTask.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/filetransfer/UploadTask.java
@@ -10,6 +10,7 @@ import org.apache.thrift.TException;
import org.openslx.bwlp.thrift.iface.TInvalidTokenException;
import org.openslx.bwlp.thrift.iface.TransferState;
import org.openslx.bwlp.thrift.iface.TransferStatus;
+import org.openslx.dozmod.Config;
import org.openslx.filetransfer.UploadStatusCallback;
import org.openslx.filetransfer.Uploader;
import org.openslx.thrifthelper.ThriftManager;
@@ -67,7 +68,7 @@ public class UploadTask implements Runnable {
synchronized (this) {
if (upload != null)
throw new IllegalStateException("Cannot launch UploadTask twice!");
- upload = new Uploader(host, port, null, uploadToken); // TODO: SSL
+ upload = new Uploader(host, port, Config.TRANSFER_TIMEOUT, null, uploadToken); // TODO: SSL
}
final Uploader uploader = upload;
final long fileSize = uploadFile.length();
@@ -164,7 +165,7 @@ public class UploadTask implements Runnable {
LOGGER.error("Upload of " + uploadFile.getAbsolutePath() + " failed: ", e);
} finally {
if (upload != null)
- upload.close(null);
+ upload.cancel();
}
return;
}
@@ -191,6 +192,6 @@ public class UploadTask implements Runnable {
public void cancel() {
if (upload != null)
- upload.close("Cancelled by user");
+ upload.cancel();
}
}