summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/org/openslx/dozmod/gui/panel/ContainerPanel.java
diff options
context:
space:
mode:
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/gui/panel/ContainerPanel.java')
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/panel/ContainerPanel.java60
1 files changed, 35 insertions, 25 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/panel/ContainerPanel.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/panel/ContainerPanel.java
index 8b79d064..a3b5ee3b 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/panel/ContainerPanel.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/panel/ContainerPanel.java
@@ -25,21 +25,24 @@ public class ContainerPanel extends JPanel {
* Version for serialization.
*/
private static final long serialVersionUID = -3335320345960410582L;
-
- // TODO Set the height of txtContainerRecipe dependent of the Context. Full height for IMAGE_CONTEXT.
+
+ // TODO Set the height of txtContainerRecipe to a proper Value
public static final String IMAGE_CONTEXT = "IMAGE";
public static final String CONTAINER_CONTEXT = "CONTAINER";
private final Logger LOGGER = Logger.getLogger(ContainerBindMountConfigurator.class);
- private final QLabel lblContainerRunOpt;
-
+ // TODO ContainerImageType should be set in MetaData
private final QLabel lblContainerImageType;
private final ComboBox<ContainerMeta.ContainerImageType> cboContainerImageType;
+ private final JPanel pnlContainerMeta;
+
private final JTextArea txtContainerRecipe;
private final JTextField txtContainerRun;
private final JTextField txtContainerImageName;
+
+ private final JTextField txtContainerRunCommand;
private final ContainerBindMountConfigurator bindMountConfigurator;
private ContainerDefinition containerDefinition = null;
@@ -48,18 +51,24 @@ public class ContainerPanel extends JPanel {
public ContainerPanel() {
- JPanel pnlContainerMeta = new JPanel();
+ pnlContainerMeta = new JPanel();
GridManager grdContainerMeta = new GridManager(pnlContainerMeta, 3);
- lblContainerRunOpt = new QLabel(
+ QLabel lblContainerRunOpt = new QLabel(
I18n.PANEL.getString("ContainerPanel.ContainerStartOptions.label"));
lblContainerRunOpt.setToolTipText(
I18n.PANEL.getString("ContainerPanel.ContainerStartOptions.tooltip"));
- grdContainerMeta.add(lblContainerRunOpt);
txtContainerRun = new JTextField();
+ grdContainerMeta.add(lblContainerRunOpt);
grdContainerMeta.add(txtContainerRun, 2).fill(true, false).expand(true, false);
grdContainerMeta.nextRow();
+ QLabel lblContainerRunCommand = new QLabel("Container Run Command");
+ txtContainerRunCommand = new JTextField();
+ grdContainerMeta.add(lblContainerRunCommand);
+ grdContainerMeta.add(txtContainerRunCommand, 2).fill(true, false).expand(true, false);
+ grdContainerMeta.nextRow();
+
bindMountConfigurator = new ContainerBindMountConfigurator();
grdContainerMeta.add(bindMountConfigurator, 3).fill(true, true).expand(true, true);
grdContainerMeta.finish(true);
@@ -79,21 +88,21 @@ public class ContainerPanel extends JPanel {
scrollableTextArea.setPreferredSize(Gui.getScaledDimension(0, 200));
grdContainer.add(scrollableTextArea, 2).fill(true, true).expand(true, true);
-
lblContainerImageType = new QLabel("Container Image Type");
- cboContainerImageType = new ComboBox<>(new ComboBox.ComboBoxRenderer<ContainerMeta.ContainerImageType>() {
- @Override public String renderItem(ContainerMeta.ContainerImageType item) {
- if (item == null)
- return "null";
- return item.name();
- }
- }, ContainerMeta.ContainerImageType.class);
- for (ContainerMeta.ContainerImageType type:ContainerMeta.ContainerImageType.values()) {
+ cboContainerImageType = new ComboBox<>(
+ new ComboBox.ComboBoxRenderer<ContainerMeta.ContainerImageType>() {
+ @Override public String renderItem(ContainerMeta.ContainerImageType item) {
+ if (item == null)
+ return "null";
+ return item.name();
+ }
+ }, ContainerMeta.ContainerImageType.class);
+ for (ContainerMeta.ContainerImageType type : ContainerMeta.ContainerImageType.values()) {
cboContainerImageType.addItem(type);
}
cboContainerImageType.setSelectedItem(ContainerMeta.ContainerImageType.LECTURE);
grdContainer.add(lblContainerImageType);
- grdContainer.add(cboContainerImageType).fill(true,false).expand(true,false);
+ grdContainer.add(cboContainerImageType).fill(true, false).expand(true, false);
grdContainer.add(pnlContainerMeta, 2).fill(true, true).expand(true, true);
grdContainer.finish(true);
@@ -124,8 +133,7 @@ public class ContainerPanel extends JPanel {
txtContainerImageName.setText(image.imageName);
txtContainerImageName.setEnabled(false);
// TODO simplify this mess. ContainerBuildContextMethod is to complex or useless
- switch (containerDefinition.getBuildContextMethod())
- {
+ switch (containerDefinition.getBuildContextMethod()) {
case FILE:
txtContainerRecipe.setText(containerDefinition.getContainerRecipe());
break;
@@ -157,9 +165,8 @@ public class ContainerPanel extends JPanel {
txtContainerRecipe.setEnabled(false);
// do not show container specific input options
- lblContainerRunOpt.setVisible(false);
- txtContainerRun.setVisible(false);
- bindMountConfigurator.setVisible(false);
+ pnlContainerMeta.setVisible(false);
+ pnlContainerMeta.setEnabled(false);
}
private void initContainerDetails() {
@@ -169,6 +176,7 @@ public class ContainerPanel extends JPanel {
cboContainerImageType.setEditable(false);
cboContainerImageType.setVisible(false);
txtContainerRun.setText(containerDefinition.getContainerMeta().getRunOptions());
+ txtContainerRunCommand.setText(containerDefinition.getContainerMeta().getRunCommand());
bindMountConfigurator.setData(containerDefinition.getContainerMeta().getBindMountConfig());
}
@@ -178,8 +186,9 @@ public class ContainerPanel extends JPanel {
.addConstraint(new DialogChangeMonitor.TextNotEmptyConstraint(
I18n.PANEL.getString("ContainerPanel.Constraint.NoEmptyDockerfile.text")));
changeMonitor.add(txtContainerRun);
+ changeMonitor.add(txtContainerRunCommand);
changeMonitor.add(bindMountConfigurator);
- changeMonitor.addFixedCombo(cboContainerImageType,null);
+ changeMonitor.addFixedCombo(cboContainerImageType, null);
isFirstTime = false;
}
}
@@ -195,8 +204,9 @@ public class ContainerPanel extends JPanel {
ContainerDefinition newConDev = new ContainerDefinition(containerDefinition);
- newConDev.getContainerMeta().setImageType(
- (ContainerMeta.ContainerImageType) cboContainerImageType.getSelectedItem());
+ newConDev.getContainerMeta()
+ .setImageType((ContainerMeta.ContainerImageType) cboContainerImageType.getSelectedItem());
+ newConDev.getContainerMeta().setRunCommand(txtContainerRunCommand.getText());
newConDev.getContainerMeta().setRunOptions(txtContainerRun.getText());
newConDev.getContainerMeta().setBindMountConfig(bindMountConfigurator.getData());