summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java
diff options
context:
space:
mode:
authorralph isenmann2021-03-11 08:22:36 +0100
committerManuel Bentele2021-03-11 10:05:59 +0100
commitd85ee0495619121d263d722fb5546237696f0e3c (patch)
tree15377400cd7de16763b6816d86b585236da079c6 /dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java
parent[client] Disable VM configuration for Docker containers (diff)
downloadtutor-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.java66
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