diff options
| author | Jonathan Bauer | 2015-08-26 14:08:01 +0200 |
|---|---|---|
| committer | Jonathan Bauer | 2015-08-26 14:08:01 +0200 |
| commit | 0a097985a99f244d53c671a9469df10b6768388b (patch) | |
| tree | 995c370360768a93d8da3bc43211a093e4ca535a /dozentenmodul/src/main/java | |
| parent | [client] async upload cancel calls (diff) | |
| download | tutor-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.java | 17 | ||||
| -rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/thrift/ThriftActions.java | 20 |
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; + } + } } |
