summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/ContainerUploadPageLayout.java
diff options
context:
space:
mode:
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/ContainerUploadPageLayout.java')
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/ContainerUploadPageLayout.java123
1 files changed, 77 insertions, 46 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/ContainerUploadPageLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/ContainerUploadPageLayout.java
index b0201e47..509ba11e 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/ContainerUploadPageLayout.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/ContainerUploadPageLayout.java
@@ -29,7 +29,8 @@ public class ContainerUploadPageLayout extends WizardPage {
protected final JTabbedPane tpInput;
protected final JTextField txtGitRepo;
- protected final JTextField txtContainerImageFile;
+ protected final JTextField txtImageTar;
+ protected final JButton btnBrowseImageTar;
/**
* Constructor to define the Layout
@@ -39,75 +40,97 @@ public class ContainerUploadPageLayout extends WizardPage {
super(wizard, I18n.PAGE_LAYOUT.getString("ContainerUploadPage.title"));
setDescription(I18n.PAGE_LAYOUT.getString("ContainerUploadPage.description"));
GridManager grid = new GridManager(this, 3, false);
+ GridManager tmpGrid;
- JPanel imageRepoPanel = new JPanel();
- imageRepoPanel.setVisible(true);
- GridManager tmpGrid = new GridManager(imageRepoPanel, 2, true, new Insets(0, 5, 0, 5));
- QLabel lblImageRepo = new QLabel(I18n.PAGE_LAYOUT.getString("ContainerUploadPage.ImageRepo.label"));
- lblImageRepo.setToolTipText(
- I18n.PAGE_LAYOUT.getString("ContainerUploadPage.ImageRepository.ToolTipText"));
- txtImageRepo = new JTextField();
- txtImageRepo.setEditable(true);
- txtImageRepo.setToolTipText(
- I18n.PAGE_LAYOUT.getString("ContainerUploadPage.ImageRepository.ToolTipText"));
- tmpGrid.add(lblImageRepo);
- tmpGrid.add(txtImageRepo).fill(true, false).expand(true, false);
- tmpGrid.finish(false);
-
- JPanel p1 = new JPanel();
- p1.setVisible(false);
- GridManager g1 = new GridManager(p1, 3, true, new Insets(0, 5, 0, 5));
+ // ####################################
+ // Dockerfile Input Panel -- UNUSED --
+ JPanel pnlDockerfileInput = new ContainerTabPanel(ContainerBuildContextMethod.FILE);
+ pnlDockerfileInput.setVisible(false);
+ tmpGrid = new GridManager(pnlDockerfileInput, 3, true, new Insets(0, 5, 0, 5));
QLabel imageFileCaption = new QLabel(
I18n.PAGE_LAYOUT.getString("ContainerUploadPage.DockerFile.label"));
txtImageFile = new JTextField();
txtImageFile.setEditable(false);
btnBrowseForImage = new JButton(I18n.PAGE_LAYOUT.getString("ImageUpload.Button.browseForImage.text"));
btnBrowseForImage.setMnemonic(KeyEvent.VK_B);
- g1.add(imageFileCaption);
- g1.add(txtImageFile).fill(true, false).expand(true, false);
- g1.add(btnBrowseForImage);
- g1.finish(false);
-
- JPanel p2 = new JPanel();
- p2.setVisible(false);
- GridManager g2 = new GridManager(p2, 2, true, new Insets(0, 5, 0, 5));
+ tmpGrid.add(imageFileCaption);
+ tmpGrid.add(txtImageFile).fill(true, false).expand(true, false);
+ tmpGrid.add(btnBrowseForImage);
+ tmpGrid.finish(false);
+
+ // ####################################
+ // Git Repository Input Panel -- UNUSED --
+ JPanel pnlGitRepositoryInput = new ContainerTabPanel(ContainerBuildContextMethod.GIT_REPOSITORY);
+ pnlGitRepositoryInput.setVisible(false);
+ tmpGrid = new GridManager(pnlGitRepositoryInput, 2, true, new Insets(0, 5, 0, 5));
QLabel lblGitRepo = new QLabel(I18n.PAGE_LAYOUT.getString("ContainerUploadPage.GitRepository.label"));
lblGitRepo.setToolTipText(
I18n.PAGE_LAYOUT.getString("ContainerUploadPage.GitRepository.toolTipText"));
txtGitRepo = new JTextField();
txtGitRepo.setToolTipText(
I18n.PAGE_LAYOUT.getString("ContainerUploadPage.GitRepository.toolTipText"));
- g2.add(lblGitRepo);
- g2.add(txtGitRepo).fill(true, false).expand(true, false);
- g2.finish(false);
+ tmpGrid.add(lblGitRepo);
+ tmpGrid.add(txtGitRepo).fill(true, false).expand(true, false);
+ tmpGrid.finish(false);
+
+ // ####################################
+ // Container Archive Input Panel
+ JPanel pnlContainerImage = new ContainerTabPanel(ContainerBuildContextMethod.DOCKER_TAR);
+ pnlGitRepositoryInput.setVisible(false);
+ tmpGrid = new GridManager(pnlContainerImage, 3, true, new Insets(0, 5, 0, 5));
+
+ QLabel lblImageTarFile = new QLabel(
+ I18n.PAGE_LAYOUT.getString("ContainerUploadPage.ContainerImageFile.label"));
+ lblImageTarFile.setToolTipText(
+ I18n.PAGE_LAYOUT.getString("ContainerUploadPage.ContainerImageFile.ToolTipText"));
+
+ txtImageTar = new JTextField();
+ txtImageTar.setEnabled(false);
+ btnBrowseImageTar = new JButton(I18n.PAGE_LAYOUT.getString("ImageUpload.Button.browseForImage.text"));
+ btnBrowseImageTar.setMnemonic(KeyEvent.VK_B);
+ tmpGrid.add(lblImageTarFile);
+ tmpGrid.add(txtImageTar).fill(true, false).expand(true, false);
+ tmpGrid.add(btnBrowseImageTar);
+ tmpGrid.finish(false);
+ // ####################################
+ // Image Repository Input Panel
+ JPanel pnlImageRepo = new ContainerTabPanel(ContainerBuildContextMethod.IMAGE_REPO);
+ pnlImageRepo.setVisible(true);
+ tmpGrid = new GridManager(pnlImageRepo, 2, true, new Insets(0, 5, 0, 5));
+ QLabel lblImageRepo = new QLabel(I18n.PAGE_LAYOUT.getString("ContainerUploadPage.ImageRepo.label"));
+ lblImageRepo.setToolTipText(
+ I18n.PAGE_LAYOUT.getString("ContainerUploadPage.ImageRepository.ToolTipText"));
+ txtImageRepo = new JTextField();
+ txtImageRepo.setEditable(true);
+ txtImageRepo.setToolTipText(
+ I18n.PAGE_LAYOUT.getString("ContainerUploadPage.ImageRepository.ToolTipText"));
+ tmpGrid.add(lblImageRepo);
+ tmpGrid.add(txtImageRepo).fill(true, false).expand(true, false);
+ tmpGrid.finish(false);
+
+ // ####################################
+ // Tabbed Input Pane
tpInput = new JTabbedPane();
- tpInput.addTab("Dockerfile", p1);
- tpInput.addTab("Git-Repository", p2);
- tpInput.addTab("Image-Repository", imageRepoPanel);
+ // TODO we need first a proper backend in bwlp-sat to build container
+ //tpInput.addTab("Dockerfile", pnlDockerfileInput);
+ //tpInput.addTab("Git-Repository", pnlGitRepositoryInput);
+ tpInput.addTab("Docker-Archive", pnlContainerImage);
+ tpInput.addTab("Image-Repository", pnlImageRepo);
tpInput.setSelectedIndex(0);
-
grid.add(tpInput, 3).fill(true, false);
grid.nextRow();
+ // ####################################
+ // Image Name
lblImageName = new QLabel(I18n.PANEL.getString("ContainerPanel.Label.ImageName.text"));
txtImageName = new JTextField();
grid.add(lblImageName);
grid.add(txtImageName, 2, 1).fill(true, false).expand(true, false);
grid.nextRow();
- QLabel lblContainerImageFile = new QLabel(
- I18n.PAGE_LAYOUT.getString("ContainerUploadPage.ContainerImageFile.label"));
- lblContainerImageFile.setToolTipText(
- I18n.PAGE_LAYOUT.getString("ContainerUploadPage.ContainerImageFile.ToolTipText"));
- txtContainerImageFile = new JTextField();
- txtContainerImageFile.setEnabled(false);
- txtContainerImageFile.setToolTipText(
- I18n.PAGE_LAYOUT.getString("ContainerUploadPage.ContainerImageFile.ToolTipText"));
- grid.add(lblContainerImageFile);
- grid.add(txtContainerImageFile, 2).fill(true, false).expand(true, false);
- grid.nextRow();
-
+ // ####################################
+ // Info Box
grid.add(Box.createVerticalGlue(), 3).expand(true, true);
txtInfoText = new JTextArea();
txtInfoText.setBorder(BorderFactory.createTitledBorder(
@@ -126,6 +149,14 @@ public class ContainerUploadPageLayout extends WizardPage {
}
protected ContainerBuildContextMethod getBuildContextMethod() {
- return ContainerBuildContextMethod.fromInt(tpInput.getSelectedIndex());
+ return ((ContainerTabPanel) tpInput.getSelectedComponent()).containerImageContext;
+ }
+
+ static class ContainerTabPanel extends JPanel {
+ public final ContainerBuildContextMethod containerImageContext;
+
+ ContainerTabPanel(ContainerBuildContextMethod imageContext) {
+ this.containerImageContext = imageContext;
+ }
}
}