summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java
diff options
context:
space:
mode:
authorJonathan Bauer2015-07-23 15:49:35 +0200
committerJonathan Bauer2015-07-23 15:49:35 +0200
commitf068347d653491ef12bfce5cdaf249b9ecbbb758 (patch)
tree4937dcf23f923379fdf544d4c0c7b3e834aeec49 /dozentenmodul/src/main/java
parent[client] push permissions to sat when wizard finishes (diff)
parent[client] Cleaned up layout code of gui a bit. (diff)
downloadtutor-module-f068347d653491ef12bfce5cdaf249b9ecbbb758.tar.gz
tutor-module-f068347d653491ef12bfce5cdaf249b9ecbbb758.tar.xz
tutor-module-f068347d653491ef12bfce5cdaf249b9ecbbb758.zip
Merge branch 'v1.1' of git.openslx.org:openslx-ng/tutor-module into v1.1
Diffstat (limited to 'dozentenmodul/src/main/java')
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageListWindowLayout.java7
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LectureListWindowLayout.java8
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LoginWindowLayout.java3
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/MainMenuWindowLayout.java18
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/VirtualizerNoticeWindowLayout.java15
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/ImageWizard.java21
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/ImageCustomPermissionPageLayout.java1
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/ImageMetaDataPageLayout.java1
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageMetaDataPage.java21
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageUploadPage.java83
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/state/UploadWizardState.java9
11 files changed, 75 insertions, 112 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageListWindowLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageListWindowLayout.java
index be0f74ca..6397c820 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageListWindowLayout.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageListWindowLayout.java
@@ -63,9 +63,7 @@ public abstract class ImageListWindowLayout extends CompositePage {
// -- info group with title and text --
Composite infoComposite = new Composite(this, SWT.BORDER);
- GridData infoGridData = new GridData(SWT.FILL, SWT.FILL, true, false);
- infoGridData.horizontalSpan = 2;
- infoComposite.setLayoutData(infoGridData);
+ infoComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 2, 1));
// layout for the items of the group
infoComposite.setLayout(new GridLayout(1, false));
@@ -94,10 +92,9 @@ public abstract class ImageListWindowLayout extends CompositePage {
// -- group for the filter --
Group filterGroup = new Group(tableGroup, SWT.BORDER);
filterGroup.setText(filterGroupLabel);
- GridData fgGridData = new GridData(SWT.FILL, SWT.TOP, true, false);
+ GridData fgGridData = new GridData(SWT.FILL, SWT.TOP, true, false, 2, 1);
fgGridData.minimumWidth = 400;
fgGridData.widthHint = 800;
- fgGridData.horizontalSpan = 2;
filterGroup.setLayoutData(fgGridData);
filterGroup.setLayout(new GridLayout());
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LectureListWindowLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LectureListWindowLayout.java
index 9bfbe3ee..6ce50dc2 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LectureListWindowLayout.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LectureListWindowLayout.java
@@ -62,9 +62,7 @@ public abstract class LectureListWindowLayout extends CompositePage {
// -- info group with title and text --
Composite infoComposite = new Composite(this, SWT.BORDER);
- GridData infoGridData = new GridData(SWT.FILL, SWT.FILL, true, false);
- infoGridData.horizontalSpan = 2;
- infoComposite.setLayoutData(infoGridData);
+ infoComposite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false, 2, 1));
// layout for the items of the group
infoComposite.setLayout(new GridLayout(1, false));
@@ -93,10 +91,9 @@ public abstract class LectureListWindowLayout extends CompositePage {
// -- group for the filter --
Group filterGroup = new Group(tableGroup, SWT.BORDER);
filterGroup.setText(filterGroupLabel);
- GridData fgGridData = new GridData(SWT.FILL, SWT.TOP, true, false);
+ GridData fgGridData = new GridData(SWT.FILL, SWT.TOP, true, false, 2, 1);
fgGridData.minimumWidth = 400;
fgGridData.widthHint = 800;
- fgGridData.horizontalSpan = 2;
filterGroup.setLayoutData(fgGridData);
filterGroup.setLayout(new GridLayout());
@@ -117,7 +114,6 @@ public abstract class LectureListWindowLayout extends CompositePage {
tableViewer.setContentProvider(ArrayContentProvider.getInstance());
-
// create, modify and delete buttons
Composite buttonComposite = new Composite(tableGroup, SWT.NONE);
GridData buttonCompositeGridData = new GridData(SWT.FILL, SWT.FILL, true, false);
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LoginWindowLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LoginWindowLayout.java
index 14a88860..ae665e23 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LoginWindowLayout.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/LoginWindowLayout.java
@@ -71,8 +71,7 @@ public abstract class LoginWindowLayout extends Composite {
Label titlePicture = new Label(this, SWT.NONE);
titlePicture.setImage(loadImage());
- GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
- gridData.horizontalSpan = 2;
+ GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true, 2, 1);
gridData.horizontalAlignment = SWT.CENTER;
titlePicture.setLayoutData(gridData);
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/MainMenuWindowLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/MainMenuWindowLayout.java
index 46656667..92708cad 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/MainMenuWindowLayout.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/MainMenuWindowLayout.java
@@ -55,35 +55,29 @@ public abstract class MainMenuWindowLayout extends CompositePage {
Group vmGroup = new Group(this, SWT.NONE);
vmGroup.setLayout(new GridLayout());
vmGroup.setText("VMs");
- GridData gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
- vmGroup.setLayoutData(gridData);
+ vmGroup.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
vmButton = new Button(vmGroup, SWT.PUSH);
vmButton.setText("VM - Übersicht");
- gridData = new GridData(SWT.CENTER, SWT.CENTER, true, true);
- vmButton.setLayoutData(gridData);
+ vmButton.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, true, true));
Label vmInfoLabel = new Label(vmGroup, SWT.NONE);
vmInfoLabel.setText(vmInfo);
- gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
- vmInfoLabel.setLayoutData(gridData);
+ vmInfoLabel.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
//g group for the lecture selection
Group lecturesGroup = new Group(this, SWT.NONE);
lecturesGroup.setLayout(new GridLayout());
lecturesGroup.setText("Veranstaltungen");
- gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
- lecturesGroup.setLayoutData(gridData);
+ lecturesGroup.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
lecturesButton = new Button(lecturesGroup, SWT.PUSH);
lecturesButton.setText("Veranstanstaltungen");
- gridData = new GridData(SWT.CENTER, SWT.CENTER, true, true);
- lecturesButton.setLayoutData(gridData);
+ lecturesButton.setLayoutData(new GridData(SWT.CENTER, SWT.CENTER, true, true));
Label lecturesInfoLabel = new Label(lecturesGroup, SWT.NONE);
lecturesInfoLabel.setText(lecturesInfo);
- gridData = new GridData(SWT.FILL, SWT.FILL, true, true);
- lecturesInfoLabel.setLayoutData(gridData);
+ lecturesInfoLabel.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true));
}
}
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/VirtualizerNoticeWindowLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/VirtualizerNoticeWindowLayout.java
index ef6818d7..0227d701 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/VirtualizerNoticeWindowLayout.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/VirtualizerNoticeWindowLayout.java
@@ -44,14 +44,12 @@ public abstract class VirtualizerNoticeWindowLayout extends Composite {
// infotext
Label infoLabel = new Label(this, SWT.NONE | SWT.WRAP);
infoLabel.setText(infoText);
- GridData gridData = new GridData(GridData.FILL, GridData.BEGINNING, true, false);
- infoLabel.setLayoutData(gridData);
+ infoLabel.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, true, false));
// composite for the windows vmware-download button
Composite windowsComposite = new Composite(this, SWT.NONE);
windowsComposite.setLayout(new GridLayout());
- gridData = new GridData(GridData.FILL, GridData.BEGINNING, true, false);
- windowsComposite.setLayoutData(gridData);
+ windowsComposite.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, true, false));
new Label(windowsComposite, SWT.NONE).setText("Windows:");
windowsDLButton = new Button(windowsComposite, SWT.PUSH);
@@ -60,8 +58,7 @@ public abstract class VirtualizerNoticeWindowLayout extends Composite {
// composite for the linux vmware-download button
Composite linuxComposite = new Composite(this, SWT.NONE);
linuxComposite.setLayout(new GridLayout());
- gridData = new GridData(GridData.FILL, GridData.BEGINNING, true, false);
- linuxComposite.setLayoutData(gridData);
+ linuxComposite.setLayoutData(new GridData(GridData.FILL, GridData.BEGINNING, true, false));
new Label(windowsComposite, SWT.NONE).setText("Linux:");
linuxDLButton = new Button(windowsComposite, SWT.PUSH);
@@ -69,13 +66,11 @@ public abstract class VirtualizerNoticeWindowLayout extends Composite {
readCheck = new Button(this, SWT.CHECK);
readCheck.setText("Diese Benachrichtigung nicht mehr anzeigen.");
- gridData = new GridData(GridData.BEGINNING, GridData.END, false, false);
- readCheck.setLayoutData(gridData);
+ readCheck.setLayoutData(new GridData(GridData.BEGINNING, GridData.END, false, false));
continueButton = new Button(this, SWT.PUSH);
continueButton.setText("Weiter");
- gridData = new GridData(GridData.BEGINNING, GridData.END, false, false);
- continueButton.setLayoutData(gridData);
+ continueButton.setLayoutData(new GridData(GridData.BEGINNING, GridData.END, false, false));
}
} \ No newline at end of file
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 1ae87ce0..2cc21ec4 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
@@ -75,7 +75,6 @@ public class ImageWizard extends Wizard {
LOGGER.error("Invalid state!");
return false;
} else {
- LOGGER.debug(uploadWizardState.toString());
// TODO run the actually request over external threaded class
try {
// push to sat
@@ -175,27 +174,13 @@ public class ImageWizard extends Wizard {
return false;
}
}
- if (uploadWizardState.virtualizer == null) {
- LOGGER.error("No virtualizer set in state!");
+ if (uploadWizardState.meta == null) {
+ LOGGER.error("No vm meta data set in state!");
return false;
- } else {
- if (!(uploadWizardState.virtualizer.isSetVirtId()
- && uploadWizardState.virtualizer.isSetVirtName())) {
- LOGGER.error("Virtualizer has missing fields: " + uploadWizardState.virtualizer.toString());
- return false;
- }
}
if (uploadWizardState.permissions == null) {
LOGGER.error("No permissions set in state!");
return false;
- } else {
- if (!(uploadWizardState.permissions.isSetAdmin()
- && uploadWizardState.permissions.isSetDownload()
- && uploadWizardState.permissions.isSetEdit()
- && uploadWizardState.permissions.isSetLink())) {
- LOGGER.error("Virtualizer has missing fields: " + uploadWizardState.selectedOs.toString());
- return false;
- }
}
if (uploadWizardState.permissionList == null) {
LOGGER.error("No share mode set in state!");
@@ -219,7 +204,7 @@ public class ImageWizard extends Wizard {
uploadWizardState.name,
uploadWizardState.description,
uploadWizardState.selectedOs.getOsId(),
- uploadWizardState.virtualizer.getVirtId(),
+ uploadWizardState.meta.getVirtualizer().getVirtId(),
uploadWizardState.isTemplate,
uploadWizardState.permissions,
uploadWizardState.shareMode);
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/ImageCustomPermissionPageLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/ImageCustomPermissionPageLayout.java
index 7a56b016..311f6684 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/ImageCustomPermissionPageLayout.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/ImageCustomPermissionPageLayout.java
@@ -1,6 +1,5 @@
package org.openslx.dozmod.gui.wizard.layout;
-import org.eclipse.jface.viewers.ArrayContentProvider;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.swt.SWT;
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/ImageMetaDataPageLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/ImageMetaDataPageLayout.java
index b9b6c211..ccc66190 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/ImageMetaDataPageLayout.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/ImageMetaDataPageLayout.java
@@ -58,7 +58,6 @@ public abstract class ImageMetaDataPageLayout extends WizardPage {
Label descriptionCation = new Label(container, SWT.NONE);
descriptionCation.setText("Beschreibung:");
descriptionText = new Text(container, SWT.BORDER | SWT.MULTI | SWT.V_SCROLL);
- gd = new GridData(GridData.FILL_HORIZONTAL);
gd.heightHint = 80;
descriptionText.setLayoutData(gd);
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageMetaDataPage.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageMetaDataPage.java
index 686c98aa..33195398 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageMetaDataPage.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageMetaDataPage.java
@@ -22,18 +22,17 @@ public class ImageMetaDataPage extends ImageMetaDataPageLayout {
private final static Logger LOGGER = Logger.getLogger(ImageMetaDataPage.class);
- private UploadWizardState uploadWizardState;
+ private UploadWizardState state;
public ImageMetaDataPage(UploadWizardState uploadWizardState) {
super();
- this.uploadWizardState = uploadWizardState;
+ this.state = uploadWizardState;
setPageComplete(false);
setMessage("Bitte wählen Sie das Betriebssystem aus und fügen Sie eine Beschreibung hinzu.");
// HACK set fixed uploadWizardState to test functions
uploadWizardState.isTemplate = false;
uploadWizardState.permissions = new ImagePermissions(true, false, true, false);
uploadWizardState.shareMode = ShareMode.LOCAL;
- uploadWizardState.virtualizer = MetaDataCache.getVirtualizers().get(0);
}
@Override
@@ -93,25 +92,25 @@ public class ImageMetaDataPage extends ImageMetaDataPageLayout {
readPermissionsCheck.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
- uploadWizardState.permissions.download = readPermissionsCheck.getSelection();
+ state.permissions.download = readPermissionsCheck.getSelection();
}
});
linkPermissionsCheck.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
- uploadWizardState.permissions.link = linkPermissionsCheck.getSelection();
+ state.permissions.link = linkPermissionsCheck.getSelection();
}
});
writePermissionsCheck.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
- uploadWizardState.permissions.edit = writePermissionsCheck.getSelection();
+ state.permissions.edit = writePermissionsCheck.getSelection();
}
});
adminPermissionsCheck.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
- uploadWizardState.permissions.admin = adminPermissionsCheck.getSelection();
+ state.permissions.admin = adminPermissionsCheck.getSelection();
}
});
// -- end checkboxes for permissions --
@@ -128,9 +127,9 @@ public class ImageMetaDataPage extends ImageMetaDataPageLayout {
if (!currentlyVisible && visible) {
LOGGER.debug("Entering page...");
// Preselect OS if possible
- if (uploadWizardState.selectedOs == null && uploadWizardState.detectedOs != null) {
+ if (state.selectedOs == null && state.detectedOs != null) {
for (int i = 0; i < osCombo.getItemCount(); ++i) {
- if (uploadWizardState.detectedOs.getOsName().equals(osCombo.getItem(i))) {
+ if (state.detectedOs.getOsName().equals(osCombo.getItem(i))) {
osCombo.select(i);
break;
}
@@ -178,7 +177,7 @@ public class ImageMetaDataPage extends ImageMetaDataPageLayout {
}
} else {
// OS selected, save it to state
- uploadWizardState.selectedOs = (OperatingSystem) osCombo.getData(osCombo.getItem(selectionIndex));
+ state.selectedOs = (OperatingSystem) osCombo.getData(osCombo.getItem(selectionIndex));
if (descriptionInput.isEmpty()) {
// OS set, no description
setMessage("Fügen Sie eine Beschreibung hinzu.");
@@ -188,7 +187,7 @@ public class ImageMetaDataPage extends ImageMetaDataPageLayout {
}
}
// always save the description input, even if empty.
- uploadWizardState.description = descriptionInput;
+ state.description = descriptionInput;
// final step: check if we can continue or not
setPageComplete(selectionIndex != -1 && !descriptionInput.isEmpty());
}
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 4f9ed944..041627d9 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
@@ -36,7 +36,7 @@ public class ImageUploadPage extends ImageUploadPageLayout {
private final static Logger LOGGER = Logger.getLogger(ImageUploadPage.class);
- private UploadWizardState uploadWizardState;
+ private UploadWizardState state;
protected final boolean editExistingImage;
private String lastDetectedName = null;
@@ -44,7 +44,7 @@ public class ImageUploadPage extends ImageUploadPageLayout {
super();
setPageComplete(false);
this.editExistingImage = editExistingImage;
- this.uploadWizardState = uploadWizardState;
+ this.state = uploadWizardState;
setMessage("Bitte wählen Sie eine virtuelle Maschine zum Hochladen aus.");
}
@@ -56,9 +56,8 @@ public class ImageUploadPage extends ImageUploadPageLayout {
@Override
public void keyReleased(KeyEvent e) {
if (!imageNameTextField.getText().isEmpty()) {
- setPageComplete(uploadWizardState.descriptionFile != null
- && uploadWizardState.uuid != null
- && uploadWizardState.transferInformation != null);
+ setPageComplete(state.descriptionFile != null && state.uuid != null
+ && state.transferInformation != null);
} else
setPageComplete(false);
}
@@ -113,21 +112,20 @@ public class ImageUploadPage extends ImageUploadPageLayout {
private void vmxSelected(File file) {
Config.setUploadPath(file.getParent());
- VmwareMetaData meta = null;
try {
- meta = new VmwareMetaData(MetaDataCache.getOperatingSystems(), file);
+ state.meta = new VmwareMetaData(MetaDataCache.getOperatingSystems(), file);
} catch (IOException e) {
MainWindow.showMessageBox("Konnte " + file.getPath() + " nicht lesen", MessageType.ERROR, LOGGER,
e);
setPageComplete(false);
return;
}
- if (meta == null || meta.getDisplayName() == null) {
+ if (state.meta == null || state.meta.getDisplayName() == null) {
setErrorMessage("Keine gültige vmx-Datei ausgewählt!");
setPageComplete(false);
return;
}
- List<HardDisk> hdds = meta.getHdds();
+ List<HardDisk> hdds = state.meta.getHdds();
if (hdds.size() == 0 || hdds.get(0).diskImage == null) {
setErrorMessage("Die gewählte VM enthält keine HDD");
setPageComplete(false);
@@ -148,7 +146,7 @@ public class ImageUploadPage extends ImageUploadPageLayout {
vmDiskFileInfo = new File(vmxBaseDirectory, hdds.get(0).diskImage);
}
if (vmDiskFileInfo.canRead()) {
- uploadWizardState.diskFile = vmDiskFileInfo;
+ state.diskFile = vmDiskFileInfo;
} else {
setErrorMessage("'" + vmDiskFileInfo.getPath() + "' kann nicht gelesen werden!");
setPageComplete(false);
@@ -156,18 +154,19 @@ public class ImageUploadPage extends ImageUploadPageLayout {
}
// vmx ok, set it as our description file
- uploadWizardState.descriptionFile = file;
+ state.descriptionFile = file;
// User didn't enter a name yet or didn't change it -> set
String txtName = imageNameTextField.getText();
if (txtName.isEmpty() || txtName.equals(lastDetectedName)) {
- imageNameTextField.setText(meta.getDisplayName());
+ imageNameTextField.setText(state.meta.getDisplayName());
}
- lastDetectedName = meta.getDisplayName();
+ lastDetectedName = state.meta.getDisplayName();
- uploadWizardState.detectedOs = meta.getOs();
+ state.detectedOs = state.meta.getOs();
imageFileTextField.setText(file.getAbsolutePath());
// let the user know the upload is ready
+ setErrorMessage(null);
setMessage("Sie können jetzt den Upload starten!");
startUploadButton.setEnabled(true);
startUploadButton.setFocus();
@@ -207,7 +206,7 @@ public class ImageUploadPage extends ImageUploadPageLayout {
private void createAndUploadImage() {
// first get the image name from the field
// (either auto filled by VmwareMetaData or by user)
- uploadWizardState.name = imageNameTextField.getText();
+ state.name = imageNameTextField.getText();
// schedule task to create the image if we have no UUID
// and to request the upload once we received that UUID.
@@ -215,41 +214,40 @@ public class ImageUploadPage extends ImageUploadPageLayout {
@Override
public void fire() {
// -- create image --
- if (uploadWizardState.uuid == null) {
+ if (state.uuid == null) {
LOGGER.debug("Creating image...");
try {
- uploadWizardState.uuid = ThriftManager.getSatClient().createImage(
- Session.getSatelliteToken(), uploadWizardState.name);
+ state.uuid = ThriftManager.getSatClient().createImage(Session.getSatelliteToken(),
+ state.name);
} catch (Exception e) {
LOGGER.error("Error while creating image: ", e);
}
}
- if (uploadWizardState.transferInformation == null && uploadWizardState.uuid != null) {
+ if (state.transferInformation == null && state.uuid != null) {
// -- request upload --
LOGGER.debug("Requesting upload...");
try {
- uploadWizardState.transferInformation = ThriftManager.getSatClient()
- .requestImageVersionUpload(Session.getSatelliteToken(),
- uploadWizardState.uuid, uploadWizardState.diskFile.length(), null);
+ state.transferInformation = ThriftManager.getSatClient().requestImageVersionUpload(
+ Session.getSatelliteToken(), state.uuid, state.diskFile.length(), null,
+ state.meta.getFilteredDefinition());
} catch (Exception e) {
- LOGGER.error("Error while requesting download for: " + uploadWizardState.uuid, e);
+ LOGGER.error("Error while requesting download for: " + state.uuid, e);
}
}
- if (uploadWizardState.uploadTask == null && uploadWizardState.transferInformation != null
- && uploadWizardState.uuid != null) {
+ if (state.uploadTask == null && state.transferInformation != null && state.uuid != null) {
// do actually start the upload now
- LOGGER.debug("Starting upload for : " + uploadWizardState.diskFile.toPath());
+ LOGGER.debug("Starting upload for : " + state.diskFile.toPath());
try {
- uploadWizardState.uploadTask = new UploadTask(Session.getSatelliteAddress(),
- uploadWizardState.transferInformation.getPlainPort(),
- uploadWizardState.transferInformation.getToken(), uploadWizardState.diskFile);
+ state.uploadTask = new UploadTask(Session.getSatelliteAddress(),
+ state.transferInformation.getPlainPort(),
+ state.transferInformation.getToken(), state.diskFile);
} catch (FileNotFoundException e) {
MainWindow.showMessageBox("Cannot upload file: Not found", MessageType.ERROR, LOGGER,
e);
return;
}
// -- add listener for upload status/progress --
- uploadWizardState.uploadTask.addListener(new TransferEventListener() {
+ state.uploadTask.addListener(new TransferEventListener() {
@Override
public void update(final TransferEvent event) {
final TransferEventListener listener = this;
@@ -262,7 +260,7 @@ public class ImageUploadPage extends ImageUploadPageLayout {
});
}
});
- new Thread(uploadWizardState.uploadTask).start();
+ new Thread(state.uploadTask).start();
}
Gui.display.asyncExec(new Runnable() {
@Override
@@ -296,18 +294,18 @@ public class ImageUploadPage extends ImageUploadPageLayout {
imageFileBrowseButton.setEnabled(false);
imageFileTextField.setEnabled(false);
// -- check image creation --
- if (uploadWizardState.uuid == null) {
+ if (state.uuid == null) {
LOGGER.debug("No UUID in upload state!");
setErrorMessage("Konnte das Image nicht auf dem Satelliten erstellen!");
- } else if (uploadWizardState.transferInformation == null) {
+ } else if (state.transferInformation == null) {
LOGGER.debug("No transfer information in upload state!");
setErrorMessage("Fehler bei der Upload-Anfrage!");
- } else if (uploadWizardState.uploadTask != null) {
+ } else if (state.uploadTask != null) {
cancelUpload.setVisible(true);
blockProgressBar.setVisible(true);
setMessage("Der Upload wurde gestartet");
}
- setPageComplete(uploadWizardState.uploadTask != null);
+ setPageComplete(state.uploadTask != null);
}
/**
@@ -318,8 +316,8 @@ public class ImageUploadPage extends ImageUploadPageLayout {
*/
private void processTransferStatus(TransferEventListener listener, TransferEvent event) {
if (getControl().isDisposed()) {
- if (uploadWizardState.uploadTask != null) {
- uploadWizardState.uploadTask.removeListener(listener);
+ if (state.uploadTask != null) {
+ state.uploadTask.removeListener(listener);
}
return;
}
@@ -337,12 +335,12 @@ public class ImageUploadPage extends ImageUploadPageLayout {
MainWindow.showMessageBox("Upload abgeschlossen.", MessageType.INFO, LOGGER, null);
break;
case ERROR:
- if (uploadWizardState.uploadTask != null && uploadWizardState.uploadTask.isCanceled())
+ if (state.uploadTask != null && state.uploadTask.isCanceled())
return;
if (MainWindow.showMessageBox("Fehler beim Upload: " + event.errorMessage
+ "\nNochmal versuchen?", MessageType.ERROR_RETRY, LOGGER, null)) {
// user wants to try again, just reset transferInformation ...
- uploadWizardState.uploadTask = null;
+ state.uploadTask = null;
// ... since this function will then do the upload process again.
createAndUploadImage();
}
@@ -363,13 +361,12 @@ public class ImageUploadPage extends ImageUploadPageLayout {
@Override
public void fire() {
try {
- ThriftManager.getSatClient().cancelUpload(
- uploadWizardState.transferInformation.getToken());
+ ThriftManager.getSatClient().cancelUpload(state.transferInformation.getToken());
} catch (Exception e) {
- LOGGER.debug("Remote error while canceling upload for " + uploadWizardState.uuid, e);
+ LOGGER.debug("Remote error while canceling upload for " + state.uuid, e);
}
// Then cancel the task
- uploadWizardState.uploadTask.cancel();
+ state.uploadTask.cancel();
Gui.asyncExec(new Runnable() {
@Override
public void run() {
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 35494c83..22dffd88 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/state/UploadWizardState.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/state/UploadWizardState.java
@@ -7,8 +7,8 @@ import org.openslx.bwlp.thrift.iface.ImagePermissions;
import org.openslx.bwlp.thrift.iface.OperatingSystem;
import org.openslx.bwlp.thrift.iface.ShareMode;
import org.openslx.bwlp.thrift.iface.TransferInformation;
-import org.openslx.bwlp.thrift.iface.Virtualizer;
import org.openslx.dozmod.filetransfer.UploadTask;
+import org.openslx.util.vm.VmMetaData;
public class UploadWizardState {
// -- Objects of the GUI itself --
@@ -26,8 +26,6 @@ public class UploadWizardState {
public File diskFile = null;
// flags an image as a template
public Boolean isTemplate = null;
- // virtualizer for this image (vmware, vbox..)
- public Virtualizer virtualizer = null;
// permissions assigned to that image by the user
// TODO: defaults per sat
public ImagePermissions permissions = null;
@@ -49,4 +47,9 @@ public class UploadWizardState {
* The upload task representing this new VM
*/
public UploadTask uploadTask = null;
+
+ /**
+ * Meta data (description file content) of this VM
+ */
+ public VmMetaData meta = null;
}