diff options
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.java | 127 |
1 files changed, 79 insertions, 48 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..2bc4c768 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 @@ -5,7 +5,7 @@ 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; -import org.openslx.virtualization.configuration.container.ContainerBuildContextMethod; +import org.openslx.virtualization.configuration.container.ContainerImageContext; import javax.swing.*; import java.awt.*; @@ -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(ContainerImageContext.DOCKERFILE); + 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(ContainerImageContext.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(ContainerImageContext.DOCKER_ARCHIVE); + 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(ContainerImageContext.IMAGE_REPOSITORY); + 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( @@ -125,7 +148,15 @@ public class ContainerUploadPageLayout extends WizardPage { grid.finish(true); } - protected ContainerBuildContextMethod getBuildContextMethod() { - return ContainerBuildContextMethod.fromInt(tpInput.getSelectedIndex()); + protected ContainerImageContext getCurrentContext() { + return ((ContainerTabPanel) tpInput.getSelectedComponent()).containerImageContext; + } + + static class ContainerTabPanel extends JPanel { + public final ContainerImageContext containerImageContext; + + ContainerTabPanel(ContainerImageContext imageContext) { + this.containerImageContext = imageContext; + } } } |