diff options
| author | Jonathan Bauer | 2015-08-26 14:07:44 +0200 |
|---|---|---|
| committer | Jonathan Bauer | 2015-08-26 14:07:44 +0200 |
| commit | 008fd73e6e8c50f35d83371813242e4321ed6507 (patch) | |
| tree | 06400f81806b3910179369a99338726d75e4c550 /dozentenmodul/src/main/java | |
| parent | [client] do not enable download button when en invalid image is selected (diff) | |
| download | tutor-module-008fd73e6e8c50f35d83371813242e4321ed6507.tar.gz tutor-module-008fd73e6e8c50f35d83371813242e4321ed6507.tar.xz tutor-module-008fd73e6e8c50f35d83371813242e4321ed6507.zip | |
[client] async upload cancel calls
Diffstat (limited to 'dozentenmodul/src/main/java')
| -rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/ImageWizard.java | 37 |
1 files changed, 19 insertions, 18 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/ImageWizard.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/ImageWizard.java index ebad4dbe..a7f440d4 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/ImageWizard.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/ImageWizard.java @@ -8,9 +8,6 @@ import org.apache.log4j.Logger; import org.apache.thrift.TException; import org.openslx.bwlp.thrift.iface.ImageBaseWrite; import org.openslx.bwlp.thrift.iface.ImageVersionWrite; -import org.openslx.bwlp.thrift.iface.TAuthorizationException; -import org.openslx.bwlp.thrift.iface.TInternalServerError; -import org.openslx.bwlp.thrift.iface.TNotFoundException; import org.openslx.dozmod.gui.Gui; import org.openslx.dozmod.gui.helper.MessageType; import org.openslx.dozmod.gui.helper.UiFeedback; @@ -20,8 +17,9 @@ import org.openslx.dozmod.gui.wizard.page.ImageUploadPage; import org.openslx.dozmod.state.UploadWizardState; import org.openslx.dozmod.thrift.Session; import org.openslx.dozmod.thrift.ThriftActions; -import org.openslx.dozmod.thrift.ThriftError; import org.openslx.thrifthelper.ThriftManager; +import org.openslx.util.QuickTimer; +import org.openslx.util.QuickTimer.Task; @SuppressWarnings("serial") public class ImageWizard extends Wizard implements UiFeedback { @@ -149,21 +147,24 @@ public class ImageWizard extends Wizard implements UiFeedback { boolean confirmed = Gui.showMessageBox(this, "Möchten Sie den Vorgang wirklich abbrechen?", MessageType.QUESTION_YESNO, null, null); if (confirmed) { - try { - if (uploadWizardState.uuid != null) { - ThriftManager.getSatClient().deleteImageBase(Session.getSatelliteToken(), uploadWizardState.uuid); - if (uploadWizardState.transferInformation != null) - ThriftManager.getSatClient().deleteImageVersion(Session.getSatelliteToken(), uploadWizardState.transferInformation.getToken()); + QuickTimer.scheduleOnce(new Task() { + @Override + public void fire() { + try { + if (uploadWizardState.uuid != null) + ThriftManager.getSatClient().deleteImageBase(Session.getSatelliteToken(), + uploadWizardState.uuid); + } catch (TException e) { + LOGGER.debug("Error canceling upload on sat: ", e); + } + if (uploadWizardState.uploadTask != null) { + uploadWizardState.uploadTask.cancel(); + } + if (uploadWizardState.hashGen != null) { + uploadWizardState.hashGen.cancel(); + } } - } catch (TException e) { - ThriftError.showMessage(this, LOGGER, e, "Fehler beim Abbruch!"); - return false; - } - if (uploadWizardState.uploadTask != null) { - uploadWizardState.uploadTask.cancel(); - // TODO how to cancel AsyncGen? - // Maybe: save the ref in uploadTask to be able to get it here? - } + }); } return confirmed; } |
