summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page
diff options
context:
space:
mode:
authorralph isenmann2020-11-05 14:43:56 +0100
committerralph isenmann2020-11-05 14:52:51 +0100
commitb9c93240a820613df1fd93255d959effd94427c7 (patch)
treed1ca97d172d1524b3d249219a55f4fb61691ce25 /dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page
parent[client] FIX image update (diff)
downloadtutor-module-b9c93240a820613df1fd93255d959effd94427c7.tar.gz
tutor-module-b9c93240a820613df1fd93255d959effd94427c7.tar.xz
tutor-module-b9c93240a820613df1fd93255d959effd94427c7.zip
[client] move BindMountConfigurator to ImageMetaDataPage
- move creation of UploadInitiator into ImageCreationWizard (initUpload).
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page')
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ContainerUploadPage.java60
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageMetaDataPage.java20
2 files changed, 33 insertions, 47 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ContainerUploadPage.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ContainerUploadPage.java
index 9004a957..3ce75f37 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ContainerUploadPage.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ContainerUploadPage.java
@@ -4,8 +4,6 @@ import org.apache.commons.io.FileUtils;
import org.apache.log4j.Logger;
import org.openslx.bwlp.thrift.iface.ImageDetailsRead;
import org.openslx.dozmod.Config;
-import org.openslx.dozmod.gui.Gui;
-import org.openslx.dozmod.gui.helper.MessageType;
import org.openslx.dozmod.gui.helper.QFileChooser;
import org.openslx.dozmod.gui.helper.TextChangeListener;
import org.openslx.dozmod.gui.wizard.Wizard;
@@ -14,10 +12,6 @@ import org.openslx.dozmod.model.ContainerBuildContextMethod;
import org.openslx.dozmod.model.ContainerDefinition;
import org.openslx.dozmod.model.ContainerMeta;
import org.openslx.dozmod.state.UploadWizardState;
-import org.openslx.dozmod.thrift.ThriftActions;
-import org.openslx.dozmod.thrift.ThriftError;
-import org.openslx.dozmod.thrift.UploadInitiator;
-import org.openslx.dozmod.thrift.WrappedException;
import org.openslx.dozmod.thrift.cache.MetaDataCache;
import org.openslx.util.vm.DockerMetaDataDummy;
@@ -41,12 +35,15 @@ public class ContainerUploadPage extends ContainerUploadPageLayout {
*/
private final UploadWizardState state;
private final ImageDetailsRead existingImage;
+ private final ContainerDefinition containerDefinition;
- public ContainerUploadPage(Wizard wizard, final UploadWizardState state_) {
+ public ContainerUploadPage(Wizard wizard, final UploadWizardState state,
+ ContainerDefinition containerDefinition) {
super(wizard);
+ this.containerDefinition = containerDefinition;
+ this.state = state;
canComeBack = false;
- state = state_;
existingImage = null;
// HACK set dummy os
@@ -55,6 +52,8 @@ public class ContainerUploadPage extends ContainerUploadPageLayout {
init();
}
+ // TODO this constructor is currently used in case if user wants do upload a new version.
+ // This makes no currently no sens in context of docker container and this is used.
public ContainerUploadPage(Wizard wizard, UploadWizardState uploadWizardState,
ImageDetailsRead imageDetailsRead) {
super(wizard);
@@ -62,6 +61,9 @@ public class ContainerUploadPage extends ContainerUploadPageLayout {
state = uploadWizardState;
existingImage = imageDetailsRead;
+ // TODO fix this!
+ containerDefinition = null;
+
lblImageName.setEnabled(existingImage == null);
txtImageName.setEnabled(existingImage == null);
txtInfoText.setVisible(existingImage == null);
@@ -114,7 +116,6 @@ public class ContainerUploadPage extends ContainerUploadPageLayout {
});
btnBrowseForImage.requestFocus();
- txtInfoText.setText("Many Text");
}
private void browseFile() {
@@ -211,24 +212,21 @@ public class ContainerUploadPage extends ContainerUploadPageLayout {
private DockerMetaDataDummy createVmMeta() {
- ContainerDefinition cd = null;
- ContainerMeta containerMeta = new ContainerMeta();
+ ContainerMeta containerMeta = containerDefinition.getContainerMeta();
containerMeta.setBuildContextMethod(getBuildContextMethod().ordinal());
containerMeta.setImageName(txtImageName.getText());
containerMeta.setRunOptions(txtContainerRun.getText());
- containerMeta.setBindMountConfig(bindMountConfigurator.getData());
- switch (getBuildContextMethod()) {
+ switch (containerDefinition.getBuildContextMethod()) {
case FILE:
- cd = new ContainerDefinition(state.descriptionFile, containerMeta);
+ containerDefinition.setContainerRecipe(state.descriptionFile);
break;
case GIT_REPOSITORY:
containerMeta.setBuildContextUrl(txtGitRepo.getText());
- cd = new ContainerDefinition(containerMeta);
state.diskFile = getDummyFile();
state.descriptionFile = getDummyFile();
break;
}
- return cd.createVmMeta();
+ return containerDefinition.createVmMeta();
}
@Override protected boolean wantNextOrFinish() {
@@ -238,36 +236,6 @@ public class ContainerUploadPage extends ContainerUploadPageLayout {
state.name = existingImage != null ? existingImage.getImageName() : txtImageName.getText();
state.meta = createVmMeta();
- // -- create image to get uuid --
- if (existingImage == null) {
- if (state.uuid == null) {
- state.uuid = ThriftActions.createImage(JOptionPane.getFrameForComponent(this), state.name);
- if (state.uuid == null)
- return false;
- txtImageName.setEnabled(false);
- btnBrowseForImage.setEnabled(false);
- txtImageFile.setEnabled(false);
- }
- } else {
- state.uuid = existingImage.getImageBaseId();
- }
- // Create upload initiator that will manage requesting a token, hashing the
- // file, connecting for upload...
- if (state.upload == null) {
- try {
- 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, "Upload-Initialisierung fehlgeschlagen", MessageType.ERROR, LOGGER,
- e);
- return false;
- }
- }
- // Start the hash check now
- state.upload.startHashing();
return true;
}
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 1ec57fce..785e3289 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
@@ -12,12 +12,14 @@ import org.openslx.dozmod.gui.Gui;
import org.openslx.dozmod.gui.helper.TextChangeListener;
import org.openslx.dozmod.gui.wizard.Wizard;
import org.openslx.dozmod.gui.wizard.layout.ImageMetaDataPageLayout;
+import org.openslx.dozmod.model.ContainerDefinition;
import org.openslx.dozmod.state.UploadWizardState;
import org.openslx.dozmod.thrift.Session;
import org.openslx.dozmod.thrift.cache.MetaDataCache;
import org.openslx.thrifthelper.Comparators;
import org.openslx.util.QuickTimer;
import org.openslx.util.QuickTimer.Task;
+import org.openslx.util.vm.DockerMetaDataDummy;
import org.openslx.util.vm.QemuMetaData;
/**
@@ -29,10 +31,12 @@ public class ImageMetaDataPage extends ImageMetaDataPageLayout {
private final static Logger LOGGER = Logger.getLogger(ImageMetaDataPage.class);
private UploadWizardState state;
+ private final ContainerDefinition containerDefinition;
- public ImageMetaDataPage(Wizard wizard, UploadWizardState uploadWizardState) {
+ public ImageMetaDataPage(Wizard wizard, UploadWizardState uploadWizardState, ContainerDefinition containerDefinition) {
super(wizard);
this.state = uploadWizardState;
+ this.containerDefinition = containerDefinition;
setPageComplete(false);
// HACK set fixed uploadWizardState to test functions
uploadWizardState.shareMode = ShareMode.LOCAL;
@@ -92,6 +96,11 @@ public class ImageMetaDataPage extends ImageMetaDataPageLayout {
state.selectedOs = (OperatingSystem) cboOperatingSystem.getSelectedItem();
state.isTemplate = chkIsTemplate.isSelected();
state.isRestricted = chkLicenseRestricted.isSelected();
+
+ if (state.meta instanceof DockerMetaDataDummy) {
+ containerDefinition.getContainerMeta().setBindMountConfig(bindMountConfigurator.getData());
+ state.meta = containerDefinition.createVmMeta();
+ }
return state.selectedOs != null && state.description != null;
}
@@ -123,6 +132,15 @@ public class ImageMetaDataPage extends ImageMetaDataPageLayout {
startCommandPane.setVisible(true);
}
+ if (state.meta instanceof DockerMetaDataDummy) {
+ bindMountConfigurator.setVisible(true);
+
+ // TODO do we need to check license restrictions in container?
+ chkLicenseRestricted.setVisible(false);
+ // TODO currently no Container Template!
+ chkIsTemplate.setVisible(false);
+ }
+
// evaluate description field
state.description = txtDescription.getText();
if (state.description == null || state.description.isEmpty()) {