summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java
diff options
context:
space:
mode:
authorJonathan Bauer2015-08-26 14:07:44 +0200
committerJonathan Bauer2015-08-26 14:07:44 +0200
commit008fd73e6e8c50f35d83371813242e4321ed6507 (patch)
tree06400f81806b3910179369a99338726d75e4c550 /dozentenmodul/src/main/java
parent[client] do not enable download button when en invalid image is selected (diff)
downloadtutor-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.java37
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;
}