diff options
| author | Stephan Schwär | 2020-10-13 16:43:50 +0200 |
|---|---|---|
| committer | Stephan Schwär | 2020-10-13 16:43:50 +0200 |
| commit | ff7cdb5c41a89c7b288ee0b0ceac703dc7159c61 (patch) | |
| tree | ba86878ee1b5baabc89f9ea23998d5e01a557f0f | |
| parent | [client] Call external ovftool to convert ovf to vmx (diff) | |
| download | tutor-module-ff7cdb5c41a89c7b288ee0b0ceac703dc7159c61.tar.gz tutor-module-ff7cdb5c41a89c7b288ee0b0ceac703dc7159c61.tar.xz tutor-module-ff7cdb5c41a89c7b288ee0b0ceac703dc7159c61.zip | |
[client] Automatically select converted vmx after page change
3 files changed, 17 insertions, 2 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 21d96fe7..ec2bb43e 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 @@ -12,6 +12,7 @@ import java.nio.file.Files; import javax.swing.JOptionPane; import org.apache.commons.io.FileUtils; +import org.apache.commons.io.FilenameUtils; import org.apache.log4j.Logger; import org.openslx.dozmod.gui.Gui; import org.openslx.dozmod.gui.helper.MessageType; @@ -26,6 +27,7 @@ public class ImageOvfConversionPage extends ImageOvfConversionPageLayout { private UploadWizardState state; private WizardPage page; + private File vmxFile; public ImageOvfConversionPage(Wizard wizard, UploadWizardState uploadWizardState) { super(wizard); @@ -71,8 +73,10 @@ public class ImageOvfConversionPage extends ImageOvfConversionPageLayout { Process process = null; try { - process = new ProcessBuilder("ovftool", file.getAbsolutePath(), - directoryFile.getPath() + "/" + file.getName()).start(); + vmxFile = new File( + directoryFile.getPath() + "/" + FilenameUtils.removeExtension((file.getName())) + ".vmx"); + process = new ProcessBuilder("ovftool", file.getAbsolutePath(), vmxFile.getAbsolutePath()) + .start(); } catch (IOException e) { Gui.showMessageBox(page, "Conversion failed:", MessageType.ERROR, LOGGER, e); return; @@ -91,6 +95,7 @@ public class ImageOvfConversionPage extends ImageOvfConversionPageLayout { } catch (IOException e) { System.out.println("Error reading output or OVFTool."); } + state.convertedDescriptionFile = vmxFile; } /** 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 fcf4ab99..6175ee3c 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 @@ -352,4 +352,12 @@ public class ImageUploadPage extends ImageUploadPageLayout { return true; } + + @Override + protected void onPageEnter() { + super.onPageEnter(); + // When entering from the conversion page the user probably wants to upload the new vmx file + if (state.convertedDescriptionFile != null) + vmSelected(state.convertedDescriptionFile); + } } diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/state/UploadWizardState.java b/dozentenmodul/src/main/java/org/openslx/dozmod/state/UploadWizardState.java index ec7aa5c0..4ed3d35f 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/state/UploadWizardState.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/state/UploadWizardState.java @@ -38,6 +38,8 @@ public class UploadWizardState { public boolean isTemplate = false; // flag if we the description file is in the ovf format that needs conversion public boolean outOfOrderFlow = false; + public File convertedDescriptionFile; + /** * list of strings for tags */ |
