summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java
diff options
context:
space:
mode:
authorStephan Schwär2020-11-25 03:59:15 +0100
committerStephan Schwär2020-11-25 03:59:15 +0100
commitd4e18495ef9fec31ea430cf0acb1cc725292dcc1 (patch)
tree80ea1a9ccb5c80100840522e5041a8f3d172b6ae /dozentenmodul/src/main/java
parent[client] Remove unused code of earlier solution (diff)
downloadtutor-module-d4e18495ef9fec31ea430cf0acb1cc725292dcc1.tar.gz
tutor-module-d4e18495ef9fec31ea430cf0acb1cc725292dcc1.tar.xz
tutor-module-d4e18495ef9fec31ea430cf0acb1cc725292dcc1.zip
[client] English support for ovf convert feature
Diffstat (limited to 'dozentenmodul/src/main/java')
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/ImageOvfConversionPageLayout.java19
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageOvfConversionPage.java40
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadPage.java52
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/util/ConversionTaskWorker.java18
4 files changed, 71 insertions, 58 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/ImageOvfConversionPageLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/ImageOvfConversionPageLayout.java
index f9d8213c..7f42fd9d 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/ImageOvfConversionPageLayout.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/ImageOvfConversionPageLayout.java
@@ -11,6 +11,7 @@ import javax.swing.JTextField;
import org.openslx.dozmod.gui.control.QLabel;
import org.openslx.dozmod.gui.helper.GridManager;
+import org.openslx.dozmod.gui.helper.I18n;
import org.openslx.dozmod.gui.wizard.Wizard;
import org.openslx.dozmod.gui.wizard.WizardPage;
@@ -27,8 +28,8 @@ public abstract class ImageOvfConversionPageLayout extends WizardPage {
* Page converting an ovf to a vmx image.
*/
public ImageOvfConversionPageLayout(Wizard wizard) {
- super(wizard, "ovf konvertieren");
- setDescription("Ovf zu vmx konvertieren.");
+ super(wizard, I18n.PAGE_LAYOUT.getString("ImageOvfConversion.WizardPage.title"));
+ setDescription(I18n.PAGE_LAYOUT.getString("ImageOvfConversion.WizardPage.description"));
GridManager grid = new GridManager(this, 3);
txtInfoText = new JTextArea();
@@ -38,18 +39,17 @@ public abstract class ImageOvfConversionPageLayout extends WizardPage {
txtInfoText.setEditable(false);
txtInfoText.setFocusable(false);
txtInfoText.setOpaque(false);
- txtInfoText.setText("Mit dem Betätigen des konvertieren Buttons wird das OVF Tool von VMware gestarted.\n"
- + "Je nach Geschwindigkeit Ihres Computers "
- + "und der Größe der Virtuellen Maschine kann die Konvertierung einige Zeit in Anspruch nehmen.");
+ txtInfoText.setText(I18n.PAGE_LAYOUT.getString("ImageOvfConversion.WizardPage.InformationBox.text"));
grid.add(txtInfoText, 3).fill(true, false).expand(true, false);
grid.nextRow();
// -- Browse for ovfTool --
- QLabel imageFileCaption = new QLabel("OVF Tool Pfad");
+ QLabel imageFileCaption = new QLabel(I18n.PAGE_LAYOUT.getString("ImageOvfConversion.Toolpath.text"));
ovfToolFile = new JTextField();
ovfToolFile.setEditable(false);
- ovfToolFile.setText("Standardpfad");
- btnBrowseForOvftool = new JButton("Durchsuchen");
+ ovfToolFile.setText(I18n.PAGE_LAYOUT.getString("ImageOvfConversion.Toolpath.defaultpath.text"));
+ btnBrowseForOvftool = new JButton(
+ I18n.PAGE_LAYOUT.getString("ImageOvfConversion.Toolpath.BrowseButton.text"));
btnBrowseForOvftool.setMnemonic(KeyEvent.VK_B);
grid.add(imageFileCaption);
grid.add(ovfToolFile).fill(true, false).expand(true, false);
@@ -59,7 +59,8 @@ public abstract class ImageOvfConversionPageLayout extends WizardPage {
grid.add(Box.createVerticalGlue(), 3).expand(true, true);
grid.nextRow();
- btnStartConversion = new JButton("Konvertierung starten");
+ btnStartConversion = new JButton(
+ I18n.PAGE_LAYOUT.getString("ImageOvfConversion.Button.StartConversion.text"));
btnStartConversion.setMnemonic(KeyEvent.VK_B);
grid.add(btnStartConversion, 1).fill(false, false).expand(false, false);
grid.add(Box.createVerticalGlue(), 2).expand(false, false);
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 dc4f057a..774d6a6e 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
@@ -17,6 +17,7 @@ import org.apache.commons.io.FilenameUtils;
import org.apache.log4j.Logger;
import org.openslx.dozmod.Config;
import org.openslx.dozmod.gui.Gui;
+import org.openslx.dozmod.gui.helper.I18n;
import org.openslx.dozmod.gui.helper.MessageType;
import org.openslx.dozmod.gui.helper.QFileChooser;
import org.openslx.dozmod.gui.wizard.Wizard;
@@ -37,7 +38,8 @@ public class ImageOvfConversionPage extends ImageOvfConversionPageLayout {
private ImageOvfConversionPage page;
private File vmxFile;
private ConversionTaskWorker worker;
- private String startConversionButtonString = "Konvertierung starten";
+ private String startConversionButtonString = I18n.PAGE
+ .getString("ImageOvfConversion.StartConversionButton.text");
public boolean conversionStarted = false;
public boolean conversionSuccessful = false;
private String ovfToolPath = "ovftool";
@@ -52,9 +54,11 @@ public class ImageOvfConversionPage extends ImageOvfConversionPageLayout {
// Linux install should have put the ovftool into the path variable.
// Try to set it for windows and macos.
if (os.toLowerCase().contains("windows")) {
- ovfToolPath = System.getenv("ProgramFiles(X86)") + "\\VMware\\VMware Workstation\\OVFTool\\ovftool.exe";
+ ovfToolPath = System.getenv("ProgramFiles(X86)")
+ + "\\VMware\\VMware Workstation\\OVFTool\\ovftool.exe";
if (!(new File(ovfToolPath).exists())) {
- ovfToolPath = System.getenv("ProgramFiles(X86)") + "\\VMware\\VMware Player\\OVFTool\\ovftool.exe";
+ ovfToolPath = System.getenv("ProgramFiles(X86)")
+ + "\\VMware\\VMware Player\\OVFTool\\ovftool.exe";
}
} else if (os.toLowerCase().contains("mac")) {
ovfToolPath = "/Applications/VMware Fusion.app/Contents/Library/VMware OVF Tool";
@@ -69,11 +73,14 @@ public class ImageOvfConversionPage extends ImageOvfConversionPageLayout {
if (worker == null) {
try {
updateConversionProgressbar(0);
- btnStartConversion.setText("Konvertierung abbrechen");
+ btnStartConversion.setText(
+ I18n.PAGE.getString("ImageOvfConversion.AbortConversionButton.text"));
convertOvfToVmx(state.descriptionFile);
} catch (Exception error) {
btnStartConversion.setEnabled(false);
- Gui.showMessageBox(page, "Konvertierung fehlgeschlagen:", MessageType.ERROR, LOGGER, error);
+ Gui.showMessageBox(page,
+ I18n.PAGE.getString("ImageOvfConversion.ErrorMessage.ConversionFailed"),
+ MessageType.ERROR, LOGGER, error);
}
} else {
page.cancelConversionWorker();
@@ -141,7 +148,8 @@ public class ImageOvfConversionPage extends ImageOvfConversionPageLayout {
}
conversionStarted = true;
Files.createDirectories(directoryFile.toPath());
- vmxFile = new File(directoryFile.getPath() + "/" + FilenameUtils.removeExtension((file.getName())) + ".vmx");
+ vmxFile = new File(
+ directoryFile.getPath() + "/" + FilenameUtils.removeExtension((file.getName())) + ".vmx");
worker = new ConversionTaskWorker(file, vmxFile, page, ovfToolPath);
worker.execute();
state.convertedDescriptionFile = vmxFile;
@@ -153,14 +161,13 @@ public class ImageOvfConversionPage extends ImageOvfConversionPageLayout {
int dialogResult;
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);
+ I18n.PAGE.getString("ImageOvfConversion.Dialog.DirectoryExists"),
+ I18n.PAGE.getString("ImageOvfConversion.Dialog.DirectoryExists.title"), 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);
+ I18n.PAGE.getString("ImageOvfConversion.Dialog.RemoveTmpDirectory"),
+ I18n.PAGE.getString("ImageOvfConversion.Dialog.RemoveTmpDirectory.title"),
+ dialogButton);
}
if (dialogResult == 0) {
FileUtils.deleteDirectory(directoryFile);
@@ -190,14 +197,11 @@ public class ImageOvfConversionPage extends ImageOvfConversionPageLayout {
protected void onPageEnter() {
if (!fileContainsKeyword(state.descriptionFile, "vmware")) {
Gui.showMessageBox(this,
- "Die ausgewählte Datei scheint kein mit VMware oder VirtualBox erstelltes Image zu sein.",
+ I18n.PAGE.getString("ImageOvfConversion.MessageBox.notAVmwareOrVboxImage"),
MessageType.WARNING, LOGGER, null);
} else if (fileContainsKeyword(state.descriptionFile, "vbox")) {
- Gui.showMessageBox(this, "Sie haben ein mit VirtualBox erstelltes Image ausgewählt.\n"
- + "Die Umwandlung von mit VirtualBox erstellten OVA"
- + " und OVF images wird momentan nocht nicht unterstützt.\n"
- + "Sie können dennoch versuchen die Konvertierung zu starten, es können aber Fehler auftreten,\n"
- + "da das Konvertierungsprogramm von VMWare verwendet wird.", MessageType.INFO, LOGGER, null);
+ Gui.showMessageBox(this, I18n.PAGE.getString("ImageOvfConversion.MessageBox.VboxDetected"),
+ MessageType.INFO, LOGGER, null);
}
updateConversionProgressbar(0);
updateConversionProgressbarText("");
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 f7ea5540..19ce1429 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
@@ -53,14 +53,18 @@ public class ImageUploadPage extends ImageUploadPageLayout {
private ImageDetailsRead existingImage = null;
private final FileNameExtensionFilter allSupportedFilter;
- private final FileNameExtensionFilter vmxFilter = new FileNameExtensionFilter("VMware Virtual Machine", "vmx");
- private final FileNameExtensionFilter vboxFilter = new FileNameExtensionFilter("VirtualBox Virtual Machine",
- "vbox");
+ private final FileNameExtensionFilter vmxFilter = new FileNameExtensionFilter("VMware Virtual Machine",
+ "vmx");
+ private final FileNameExtensionFilter vboxFilter = new FileNameExtensionFilter(
+ "VirtualBox Virtual Machine", "vbox");
- private final FileNameExtensionFilter ovfFilter = new FileNameExtensionFilter("OVF Virtual Machine Format", "ovf");
- private final FileNameExtensionFilter ovaFilter = new FileNameExtensionFilter("OVA Virtual Machine Format", "ova");
+ private final FileNameExtensionFilter ovfFilter = new FileNameExtensionFilter(
+ "OVF Virtual Machine Format", "ovf");
+ private final FileNameExtensionFilter ovaFilter = new FileNameExtensionFilter(
+ "OVA Virtual Machine Format", "ova");
- public ImageUploadPage(Wizard wizard, UploadWizardState uploadWizardState, final ImageDetailsRead existingImage) {
+ public ImageUploadPage(Wizard wizard, UploadWizardState uploadWizardState,
+ final ImageDetailsRead existingImage) {
super(wizard);
setPageComplete(false);
this.canComeBack = false;
@@ -130,11 +134,8 @@ public class ImageUploadPage extends ImageUploadPageLayout {
private void askForConversion(File file) {
int dialogButton = JOptionPane.YES_NO_OPTION;
int dialogResult = JOptionPane.showConfirmDialog(this,
- "Sie haben ein Image im ovf Format ausgewählt. \n"
- + "Wenn dieses mit dem Programm VMware exportiert wurde sollte es mithilfe\n"
- + "des ovfTool von VMware in ein kompatibles vmx Image umgewandelt werden können. \n"
- + "Möchten sie das Image konvertieren? (Das original Image bleibt unverändert.)",
- "Image konvertieren?", dialogButton);
+ I18n.PAGE.getString("ImageUpload.WizardPage.dialog.OvfOvaDetected"),
+ I18n.PAGE.getString("ImageUpload.WizardPage.dialog.title"), dialogButton);
if (dialogResult == 0) {
// txtImageFile.setText(file.getAbsolutePath());
// txtImageName.setText(state.meta.getDisplayName());
@@ -177,8 +178,8 @@ public class ImageUploadPage extends ImageUploadPageLayout {
final String fileformat = state.meta.getVirtualizer().virtName;
// bail if multiple hypervisors are not supported
if (!(state.meta instanceof VmwareMetaData) && !Session.hasFeature(Feature.MULTIPLE_HYPERVISORS)) {
- setErrorMessage(
- I18n.PAGE.getString("ImageUpload.WizardPage.errorMessage.hypervisorNotSupported", fileformat));
+ setErrorMessage(I18n.PAGE.getString("ImageUpload.WizardPage.errorMessage.hypervisorNotSupported",
+ fileformat));
setPageComplete(false);
return;
}
@@ -201,7 +202,8 @@ public class ImageUploadPage extends ImageUploadPageLayout {
return;
}
if (hdds.size() > 1) {
- setErrorMessage(I18n.PAGE.getString("ImageUpload.WizardPage.errorMessage.moreThanOneHDD", fileformat));
+ setErrorMessage(
+ I18n.PAGE.getString("ImageUpload.WizardPage.errorMessage.moreThanOneHDD", fileformat));
setPageComplete(false);
return;
// Allow to continue!?
@@ -228,8 +230,9 @@ public class ImageUploadPage extends ImageUploadPageLayout {
setPageComplete(false);
return;
} catch (UnknownImageFormatException e) {
- setErrorMessage(I18n.PAGE.getString("ImageUpload.WizardPage.errorMessage.diskImageHasUnknownFormat",
- vmDiskFileInfo.getName()));
+ setErrorMessage(
+ I18n.PAGE.getString("ImageUpload.WizardPage.errorMessage.diskImageHasUnknownFormat",
+ vmDiskFileInfo.getName()));
LOGGER.debug("Selected disk file has unknown format.", e);
setPageComplete(false);
return;
@@ -237,16 +240,17 @@ public class ImageUploadPage extends ImageUploadPageLayout {
// Warn user about snapshot
if (diskImage.isSnapshot || state.meta.isMachineSnapshot()) {
- Gui.showMessageBox(
- I18n.PAGE.getString("ImageUpload.Message.warning.diskImageSnapshot", Branding.getServiceName()),
- MessageType.WARNING, null, null);
+ Gui.showMessageBox(I18n.PAGE.getString("ImageUpload.Message.warning.diskImageSnapshot",
+ Branding.getServiceName()), MessageType.WARNING, null, null);
setErrorMessage(I18n.PAGE.getString("ImageUpload.WizardPage.errorMessage.diskImageSnapshot"));
setPageComplete(false);
return;
}
if (!diskImage.isStandalone) {
- Gui.showMessageBox(I18n.PAGE.getString("ImageUpload.Message.warning.diskImageStandalone",
- diskImage.subFormat, Branding.getApplicationName()), MessageType.WARNING, null, null);
+ Gui.showMessageBox(
+ I18n.PAGE.getString("ImageUpload.Message.warning.diskImageStandalone",
+ diskImage.subFormat, Branding.getApplicationName()),
+ MessageType.WARNING, null, null);
setErrorMessage(I18n.PAGE.getString("ImageUpload.WizardPage.errorMessage.diskImageStandalone"));
setPageComplete(false);
return;
@@ -328,12 +332,14 @@ public class ImageUploadPage extends ImageUploadPageLayout {
// file, connecting for upload...
if (state.upload == null) {
try {
- state.upload = new UploadInitiator(state.uuid, state.diskFile, state.meta.getFilteredDefinition());
+ state.upload = new UploadInitiator(state.uuid, state.diskFile,
+ state.meta.getFilteredDefinition());
} catch (WrappedException e) {
ThriftError.showMessage(this, LOGGER, e.exception, e.displayMessage);
return false;
} catch (IOException e) {
- Gui.showMessageBox(this, I18n.PAGE.getString("ImageUpload.Message.error.uploadInitiatorFailed"),
+ Gui.showMessageBox(this,
+ I18n.PAGE.getString("ImageUpload.Message.error.uploadInitiatorFailed"),
MessageType.ERROR, LOGGER, e);
return false;
}
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 c643e5d0..a4e1be54 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/util/ConversionTaskWorker.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/util/ConversionTaskWorker.java
@@ -11,6 +11,7 @@ import javax.swing.SwingWorker;
import org.apache.log4j.Logger;
import org.openslx.dozmod.gui.Gui;
+import org.openslx.dozmod.gui.helper.I18n;
import org.openslx.dozmod.gui.helper.MessageType;
import org.openslx.dozmod.gui.wizard.page.ImageOvfConversionPage;
@@ -21,7 +22,7 @@ public class ConversionTaskWorker extends SwingWorker<Boolean, String> {
private File destFile;
private ImageOvfConversionPage page;
private Process process = null;
- private String conversionCancelledText = "Konvertierung abgebrochen!";
+ private String conversionCancelledText = I18n.HELPER.getString("OVFConversion.info.aborted.text");
private String ovfToolPath = "ovftool";
/**
@@ -33,7 +34,8 @@ public class ConversionTaskWorker extends SwingWorker<Boolean, String> {
* @param page: Page that creates and starts the worker
* @param ovfToolPath: Path to the OVF Tool on the system
*/
- public ConversionTaskWorker(File srcFile, File destFile, ImageOvfConversionPage page, String ovfToolPath) {
+ public ConversionTaskWorker(File srcFile, File destFile, ImageOvfConversionPage page,
+ String ovfToolPath) {
this.srcFile = srcFile;
this.destFile = destFile;
this.page = page;
@@ -44,7 +46,8 @@ public class ConversionTaskWorker extends SwingWorker<Boolean, String> {
@Override
protected Boolean doInBackground() throws Exception {
- process = new ProcessBuilder(ovfToolPath, srcFile.getAbsolutePath(), destFile.getAbsolutePath()).start();
+ process = new ProcessBuilder(ovfToolPath, srcFile.getAbsolutePath(), destFile.getAbsolutePath())
+ .start();
InputStream is = process.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader br = new BufferedReader(isr);
@@ -93,12 +96,11 @@ public class ConversionTaskWorker extends SwingWorker<Boolean, String> {
page.updateConversionProgressbarText(conversionCancelledText);
} catch (ExecutionException e) {
e.printStackTrace();
- Gui.showMessageBox(page,
- "Beim konvertieren ist ein Fehler aufgetreten. "
- + "Bitte vergewissern Sie sich, dass das OVF Tool korrekt ausgewählt wurde.",
- MessageType.ERROR, LOGGER, e);
+ Gui.showMessageBox(page, I18n.HELPER.getString("OVFConversion.error.text"), MessageType.ERROR,
+ LOGGER, e);
page.btnStartConversion.setEnabled(false);
- page.btnStartConversion.setText("Konvertierung starten");
+ page.btnStartConversion
+ .setText(I18n.PAGE.getString("ImageOvfConversion.StartConversionButton.text"));
}
super.done();
}