summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java
diff options
context:
space:
mode:
authorJonathan Bauer2015-08-26 14:08:01 +0200
committerJonathan Bauer2015-08-26 14:08:01 +0200
commit0a097985a99f244d53c671a9469df10b6768388b (patch)
tree995c370360768a93d8da3bc43211a093e4ca535a /dozentenmodul/src/main/java
parent[client] async upload cancel calls (diff)
downloadtutor-module-0a097985a99f244d53c671a9469df10b6768388b.tar.gz
tutor-module-0a097985a99f244d53c671a9469df10b6768388b.tar.xz
tutor-module-0a097985a99f244d53c671a9469df10b6768388b.zip
[client] InitUploadStatus: returns uploadTask and hashGen when initializing an upload and set them to state when starting it
Diffstat (limited to 'dozentenmodul/src/main/java')
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadPage.java17
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ThriftActions.java20
2 files changed, 31 insertions, 6 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadPage.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadPage.java
index 547e51e0..985544c8 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadPage.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadPage.java
@@ -24,6 +24,7 @@ import org.openslx.dozmod.gui.wizard.Wizard;
import org.openslx.dozmod.gui.wizard.layout.ImageUploadPageLayout;
import org.openslx.dozmod.state.UploadWizardState;
import org.openslx.dozmod.thrift.ThriftActions;
+import org.openslx.dozmod.thrift.ThriftActions.InitUploadStatus;
import org.openslx.dozmod.thrift.cache.MetaDataCache;
import org.openslx.util.vm.VmMetaData.HardDisk;
import org.openslx.util.vm.VmwareMetaData;
@@ -188,10 +189,20 @@ public class ImageUploadPage extends ImageUploadPageLayout {
}
// -- start uploading our diskFile with the transfer information we just received --
if (state.uploadTask == null) {
- state.uploadTask = ThriftActions.initUpload(JOptionPane.getFrameForComponent(this),
+ InitUploadStatus ret = ThriftActions.initUpload(JOptionPane.getFrameForComponent(this),
state.transferInformation, state.diskFile);
- if (state.uploadTask == null)
- return false;
+ if (ret != null) {
+ if (ret.task == null) {
+ return false;
+ } else {
+ state.uploadTask = ret.task;
+ }
+ if (ret.hasher == null) {
+ return false;
+ } else {
+ state.hashGen = ret.hasher;
+ }
+ }
}
MainWindow.addUpload(state);
return true;
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ThriftActions.java b/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ThriftActions.java
index d12b7155..236c8978 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ThriftActions.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ThriftActions.java
@@ -158,7 +158,7 @@ public class ThriftActions {
* @param diskFile the file to upload
* @return UploadTask if the uploading initialized, or null if uploading failed
*/
- public static UploadTask initUpload(final Frame frame, final TransferInformation transferInformation,
+ public static InitUploadStatus initUpload(final Frame frame, final TransferInformation transferInformation,
final File diskFile) {
UploadTask uploadTask = null;
// do actually start the upload now
@@ -197,7 +197,7 @@ public class ThriftActions {
uploadTask.cancel();
uploadTask = null;
}
- return uploadTask;
+ return new InitUploadStatus(uploadTask, hashGen);
}
/**
@@ -505,8 +505,11 @@ public class ThriftActions {
}
questionText += "\nUnd folgende Versionen:\n";
for (ImageVersionDetails version : details.getVersions()) {
+ if (!version.isValid)
+ continue;
questionText += version.getVersionId() + "\n";
}
+ questionText += "\nWollen Sie diese Image samt Veranstaltungen und Versionen löschen?\n";
if (!userConfirmed(frame, questionText))
return;
try {
@@ -780,5 +783,16 @@ public class ThriftActions {
return Gui.showMessageBox(frame, message, MessageType.QUESTION_YESNO, LOGGER, null);
}
-
+ /**
+ * Wrapper class for UploadTask & AsyncHashGenerator
+ *
+ */
+ public static class InitUploadStatus {
+ public final UploadTask task;
+ public final AsyncHashGenerator hasher;
+ public InitUploadStatus(final UploadTask task, final AsyncHashGenerator hasher) {
+ this.task = task;
+ this.hasher = hasher;
+ }
+ }
}