diff options
author | ralph isenmann | 2021-03-11 08:22:36 +0100 |
---|---|---|
committer | Manuel Bentele | 2021-03-11 10:05:59 +0100 |
commit | d85ee0495619121d263d722fb5546237696f0e3c (patch) | |
tree | 15377400cd7de16763b6816d86b585236da079c6 /dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java | |
parent | [client] Disable VM configuration for Docker containers (diff) | |
download | tutor-module-d85ee0495619121d263d722fb5546237696f0e3c.tar.gz tutor-module-d85ee0495619121d263d722fb5546237696f0e3c.tar.xz tutor-module-d85ee0495619121d263d722fb5546237696f0e3c.zip |
[client] Fix switch between container and vm in lecture
Diffstat (limited to 'dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java')
-rw-r--r-- | dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java | 66 |
1 files changed, 29 insertions, 37 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java index 6825d644..97301092 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java @@ -1,36 +1,8 @@ package org.openslx.dozmod.gui.window; -import java.awt.Frame; -import java.awt.event.ActionEvent; -import java.awt.event.ActionListener; -import java.awt.event.ItemEvent; -import java.awt.event.ItemListener; -import java.awt.event.WindowAdapter; -import java.awt.event.WindowEvent; -import java.util.ArrayList; -import java.util.Calendar; -import java.util.Collections; -import java.util.Comparator; -import java.util.Date; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import javax.swing.DefaultComboBoxModel; -import javax.swing.JFrame; -import javax.swing.JOptionPane; -import javax.swing.JPanel; - import org.apache.log4j.Logger; import org.apache.thrift.TException; -import org.openslx.bwlp.thrift.iface.ImageDetailsRead; -import org.openslx.bwlp.thrift.iface.ImagePermissions; -import org.openslx.bwlp.thrift.iface.ImageSummaryRead; -import org.openslx.bwlp.thrift.iface.ImageVersionDetails; -import org.openslx.bwlp.thrift.iface.LecturePermissions; -import org.openslx.bwlp.thrift.iface.LectureRead; -import org.openslx.bwlp.thrift.iface.LectureWrite; -import org.openslx.bwlp.thrift.iface.UserInfo; +import org.openslx.bwlp.thrift.iface.*; import org.openslx.dozmod.gui.Gui; import org.openslx.dozmod.gui.MainWindow; import org.openslx.dozmod.gui.changemonitor.AbstractControlWrapper; @@ -58,10 +30,17 @@ import org.openslx.dozmod.thrift.ThriftActions.LectureMetaCallback; import org.openslx.dozmod.thrift.ThriftError; import org.openslx.dozmod.thrift.cache.UserCache; import org.openslx.dozmod.util.FormatHelper; +import org.openslx.dozmod.util.ContainerUtils; import org.openslx.thrifthelper.Comparators; import org.openslx.thrifthelper.TConst; import org.openslx.thrifthelper.ThriftManager; +import javax.swing.*; +import java.awt.*; +import java.awt.event.*; +import java.util.List; +import java.util.*; + /** * Window to display and edit the details of a lecture */ @@ -218,6 +197,11 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout implements final ImageSummaryRead newImage = LectureChangeImage.open(LectureDetailsWindow.this, changeMonitor); if (newImage == null) return; + if (ContainerUtils.isContainerImageLinked(newImage)) { + Gui.showMessageBox(me, I18n.WINDOW.getString("LectureDetails.Message.error.containerLinkedWithLecture"), + MessageType.WARNING, LOGGER, null); + return; + } final ImageMetaCallback callback = new ImageMetaCallback() { @Override public void fetchedImageDetails(ImageDetailsRead imageDetails, @@ -234,6 +218,7 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout implements cboVersions.setEnabled(false); chkAutoUpdate.setSelected(true); txtImageName.setText(newImage.getImageName()); + initContainerPanel(); } }; actionHandler.getImageDetails(newImage.imageBaseId, callback); @@ -347,14 +332,7 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout implements lblImageNameInfo.setText(image.getImageName()); } - // init container info panel - if (image != null && image.getVirtId().equals(TConst.VIRT_DOCKER) ) - { - showContainerTab(); - pnlTabContainer.init(Session.getSatelliteToken(), image, ContainerPanel.CONTAINER_CONTEXT); - - pnlTabContainer.addToChangeMonitor(changeMonitor); - } + initContainerPanel(); // init permission info adminRightsFromDefaultPermissions = lecture.defaultPermissions.admin; @@ -412,6 +390,20 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout implements changeMonitor.reset(); } + private void initContainerPanel() { + + if (image != null) { + if (image.getVirtId().equals(TConst.VIRT_DOCKER)) { + addContainerTab(); + pnlTabContainer.init(Session.getSatelliteToken(), image, ContainerPanel.CONTAINER_CONTEXT); + pnlTabContainer.addToChangeMonitor(changeMonitor); + } + else { + removeContainerTab(); + } + } + } + /** * Helper to fill the combobox with the versions of the image. The list will be * sorted by creation timestamp |