summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephan Schwär2020-10-13 16:43:50 +0200
committerStephan Schwär2020-10-13 16:43:50 +0200
commitff7cdb5c41a89c7b288ee0b0ceac703dc7159c61 (patch)
treeba86878ee1b5baabc89f9ea23998d5e01a557f0f
parent[client] Call external ovftool to convert ovf to vmx (diff)
downloadtutor-module-ff7cdb5c41a89c7b288ee0b0ceac703dc7159c61.tar.gz
tutor-module-ff7cdb5c41a89c7b288ee0b0ceac703dc7159c61.tar.xz
tutor-module-ff7cdb5c41a89c7b288ee0b0ceac703dc7159c61.zip
[client] Automatically select converted vmx after page change
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageOvfConversionPage.java9
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadPage.java8
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/state/UploadWizardState.java2
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
*/