diff options
| author | Stephan Schwär | 2020-10-28 01:54:56 +0100 |
|---|---|---|
| committer | Stephan Schwär | 2020-10-28 01:54:56 +0100 |
| commit | 5bfd0704f7fb73a366661ca8286323cac285121e (patch) | |
| tree | 25d4bf7beb0b8a2ae7d63531cc90686fd44788b3 | |
| parent | [client] Make conversion possible in update wizard (diff) | |
| download | tutor-module-5bfd0704f7fb73a366661ca8286323cac285121e.tar.gz tutor-module-5bfd0704f7fb73a366661ca8286323cac285121e.tar.xz tutor-module-5bfd0704f7fb73a366661ca8286323cac285121e.zip | |
[client] Improve flow to detect started, cancelled and finished konversions.
Feature: #3771
| -rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageOvfConversionPage.java | 24 | ||||
| -rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/util/ConversionTaskWorker.java | 2 |
2 files changed, 14 insertions, 12 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageOvfConversionPage.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageOvfConversionPage.java index 0281ad19..83966486 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageOvfConversionPage.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageOvfConversionPage.java @@ -36,7 +36,8 @@ public class ImageOvfConversionPage extends ImageOvfConversionPageLayout { private File vmxFile; private ConversionTaskWorker worker; private String startConversionButtonString = "Konvertierung starten"; - public boolean danglingConversion = false; + public boolean conversionStarted = false; + public boolean conversionSuccessful = false; private String ovfToolPath = "ovftool"; public ImageOvfConversionPage(Wizard wizard, UploadWizardState uploadWizardState) { @@ -120,7 +121,7 @@ public class ImageOvfConversionPage extends ImageOvfConversionPageLayout { btnStartConversion.setText(startConversionButtonString); return; } - danglingConversion = true; + conversionStarted = true; Files.createDirectories(directoryFile.toPath()); vmxFile = new File(directoryFile.getPath() + "/" + FilenameUtils.removeExtension((file.getName())) + ".vmx"); worker = new ConversionTaskWorker(file, vmxFile, page, ovfToolPath); @@ -132,17 +133,16 @@ public class ImageOvfConversionPage extends ImageOvfConversionPageLayout { if (directoryFile.exists()) { int dialogButton = JOptionPane.YES_NO_OPTION; int dialogResult; - if (danglingConversion) { - dialogResult = JOptionPane - .showConfirmDialog(this, - "Für die abgebrochene Konvertierung wurde ein Verzeichnis erstellt.\n" - + "Soll dieses und dessen Inhalt wieder entfernt werden?", - "Verzeichnis Überschreiben?", dialogButton); - } else { + if (!conversionStarted) { dialogResult = JOptionPane.showConfirmDialog(this, "Das Verzeichnis, in welcher das konvertierte Image gespeichert werden soll existiert bereits. \n" + "Soll dieses ersetzt und die darin enthaltenen Dateien gelöscht werden?", "Verzeichnis Überschreiben?", dialogButton); + } else { + dialogResult = JOptionPane.showConfirmDialog(this, + "Für die abgebrochene Konvertierung wurde ein Verzeichnis erstellt.\n" + + "Soll dieses und dessen Inhalt wieder entfernt werden?", + "Verzeichnis Überschreiben?", dialogButton); } if (dialogResult == 0) { FileUtils.deleteDirectory(directoryFile); @@ -172,13 +172,15 @@ public class ImageOvfConversionPage extends ImageOvfConversionPageLayout { protected void onPageEnter() { updateConversionProgressbar(0); updateConversionProgressbarText(""); + conversionStarted = false; + conversionSuccessful = false; btnStartConversion.setText(startConversionButtonString); } @Override protected void onPageLeave() { // Make sure the worker is stopped when leaving the page. - if (wizard.isCancelled() || danglingConversion) { + if (wizard.isCancelled() || (conversionStarted && !conversionSuccessful)) { page.cancelConversionWorker(); if (state.convertedDescriptionFile != null) { try { @@ -188,7 +190,7 @@ public class ImageOvfConversionPage extends ImageOvfConversionPageLayout { } } state.convertedDescriptionFile = null; - danglingConversion = false; + conversionStarted = false; } super.onPageLeave(); } diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/util/ConversionTaskWorker.java b/dozentenmodul/src/main/java/org/openslx/dozmod/util/ConversionTaskWorker.java index 94d0da38..c643e5d0 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/util/ConversionTaskWorker.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/util/ConversionTaskWorker.java @@ -81,7 +81,7 @@ public class ConversionTaskWorker extends SwingWorker<Boolean, String> { try { get(); page.setPageComplete(true); - page.danglingConversion = false; + page.conversionSuccessful = true; page.updateConversionProgressbar(100); } catch (InterruptedException e) { LOGGER.debug("Conversion execution interrupted", e); |
