summaryrefslogtreecommitdiffstats
path: root/dozentenmodul/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'dozentenmodul/src/main/java')
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageListWindow.java6
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/LectureDetailsWindow.java6
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureImageListPage.java5
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/util/ContainerUtils.java30
4 files changed, 30 insertions, 17 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageListWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageListWindow.java
index 9434ad25..f3ad5701 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageListWindow.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageListWindow.java
@@ -316,9 +316,13 @@ public class ImageListWindow extends ImageListWindowLayout implements DownloadCa
if (!hasLatestVersion(image))
return;
if (ContainerUtils.isContainerImageLinked(image)){
- ContainerUtils.showWarning(me,LOGGER);
+ ContainerUtils.showWarning(me, I18n.PAGE.getString("LectureImageList.WizardPage.errorMessage.containerLinkedWithLecture") ,LOGGER);
+ return;
+ } else if (ContainerUtils.isDataContainer(image)) {
+ ContainerUtils.showWarning(me, I18n.PAGE.getString("LectureImageList.WizardPage.errorMessage.imageIsDataContainer") ,LOGGER);
return;
}
+
new LectureWizard(SwingUtilities.getWindowAncestor(this), image, image.getLatestVersionId()).setVisible(true);
}
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 1bf231f2..57acf57d 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
@@ -199,9 +199,13 @@ public class LectureDetailsWindow extends LectureDetailsWindowLayout implements
if (newImage == null)
return;
if (ContainerUtils.isContainerImageLinked(newImage)) {
- ContainerUtils.showWarning(me, LOGGER);
+ ContainerUtils.showWarning(me, I18n.PAGE.getString("LectureImageList.WizardPage.errorMessage.containerLinkedWithLecture") ,LOGGER);
+ return;
+ } else if (ContainerUtils.isDataContainer(newImage)) {
+ ContainerUtils.showWarning(me, I18n.PAGE.getString("LectureImageList.WizardPage.errorMessage.imageIsDataContainer") ,LOGGER);
return;
}
+
final ImageMetaCallback callback = new ImageMetaCallback() {
@Override
public void fetchedImageDetails(ImageDetailsRead imageDetails,
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureImageListPage.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureImageListPage.java
index 1c35df7b..b00bfbd7 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureImageListPage.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/LectureImageListPage.java
@@ -95,6 +95,11 @@ public class LectureImageListPage extends LectureImageListPageLayout {
setErrorMessage(I18n.PAGE.getString("LectureImageList.WizardPage.errorMessage.containerLinkedWithLecture"));
return false;
}
+ else if (ContainerUtils.isDataContainer(selected)) {
+ setErrorMessage(I18n.PAGE.getString("LectureImageList.WizardPage.errorMessage.imageIsDataContainer"));
+ return false;
+ }
+
else if (selected != null && selected.isValid && ImagePerms.canLink(selected)) {
state.image = selected;
state.imageVersionId = selected.getLatestVersionId();
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/util/ContainerUtils.java b/dozentenmodul/src/main/java/org/openslx/dozmod/util/ContainerUtils.java
index 54400439..d6836c8d 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/util/ContainerUtils.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/util/ContainerUtils.java
@@ -60,32 +60,32 @@ public class ContainerUtils {
return false;
}
+ public static boolean isDataContainer(ImageSummaryRead image) {
+
+ ContainerDefinition containerDefinition = getContainerDefinition(Session.getSatelliteToken(), image.getLatestVersionId());
+ if (containerDefinition.getContainerMeta().getImageType() == ContainerMeta.ContainerImageType.DATA) {
+ return true;
+ }
+ return false;
+ }
+
public static List<ImageSummaryRead> getDataContainerImages() {
String satelliteToken = Session.getSatelliteToken();
List<ImageSummaryRead> images = ImageCache.get(true);
List<ImageSummaryRead> dataContainerImages = new ArrayList<>();
for (ImageSummaryRead image : images) {
if (image.getVirtId().equals(TConst.VIRT_DOCKER)) {
- try {
- byte[] rawVirtConfig;
- ByteBuffer byteBuffer = ThriftManager.getSatClient().getImageVersionVirtConfig(satelliteToken,
- image.getLatestVersionId());
- rawVirtConfig = ThriftUtil.unwrapByteBuffer(byteBuffer);
- ContainerDefinition containerDefinition = ContainerDefinition.fromByteArray(rawVirtConfig);
- if (containerDefinition.getContainerMeta().getImageType() == ContainerMeta.ContainerImageType.DATA)
- dataContainerImages.add(image);
-
- } catch (TException e) {
- // LOGGER.error("Failed to retrieve virtualizer config for image version " + "'"
- // + image.getLatestVersionId() + ", see trace: ", e);
- }
+
+ ContainerDefinition containerDefinition = getContainerDefinition(satelliteToken, image.getLatestVersionId());
+ if (containerDefinition.getContainerMeta().getImageType() == ContainerMeta.ContainerImageType.DATA)
+ dataContainerImages.add(image);
}
}
return dataContainerImages;
}
- public static void showWarning(Component c, Logger logger) {
- Gui.showMessageBox(c, I18n.WINDOW.getString("LectureDetails.Message.error.containerLinkedWithLecture"),
+ public static void showWarning(Component c, String message, Logger logger) {
+ Gui.showMessageBox(c, message,
MessageType.WARNING, logger, null);
}