summaryrefslogtreecommitdiffstats
path: root/dozentenmodul
diff options
context:
space:
mode:
authorralph isenmann2021-06-23 14:54:16 +0200
committerralph isenmann2021-06-23 14:54:16 +0200
commit2c2e5376e9c5e4e2e385e0ad678c00b0916bb8d6 (patch)
treea76741057bba5e5a968d579548df88edf0ab3e26 /dozentenmodul
parent[client] Set Container Image Type during creation, set text labes (diff)
downloadtutor-module-2c2e5376e9c5e4e2e385e0ad678c00b0916bb8d6.tar.gz
tutor-module-2c2e5376e9c5e4e2e385e0ad678c00b0916bb8d6.tar.xz
tutor-module-2c2e5376e9c5e4e2e385e0ad678c00b0916bb8d6.zip
[client] Update project structure, related to container model.
- import container model from master-sync-shared subproject - container model and dependencies removed
Diffstat (limited to 'dozentenmodul')
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/ContainerBindMountConfigurator.java2
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/ContainerBindMountTable.java2
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/panel/ContainerPanel.java4
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ContainerBindMountWindow.java2
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/ContainerUploadPageLayout.java2
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/ImageMetaDataPageLayout.java3
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ContainerUploadPage.java6
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageMetaDataPage.java2
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/model/ContainerBindMount.java62
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/model/ContainerBuildContextMethod.java10
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/model/ContainerDefinition.java206
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/model/ContainerMeta.java165
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/util/ImageWrapper.java2
-rw-r--r--dozentenmodul/src/main/java/org/openslx/dozmod/util/TarArchiveUtil.java30
14 files changed, 19 insertions, 479 deletions
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/ContainerBindMountConfigurator.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/ContainerBindMountConfigurator.java
index db536513..a58df382 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/ContainerBindMountConfigurator.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/configurator/ContainerBindMountConfigurator.java
@@ -9,7 +9,7 @@ import org.openslx.dozmod.gui.control.table.QScrollPane;
import org.openslx.dozmod.gui.helper.GridManager;
import org.openslx.dozmod.gui.helper.I18n;
import org.openslx.dozmod.gui.window.ContainerBindMountWindow;
-import org.openslx.dozmod.model.ContainerBindMount;
+import org.openslx.virtualization.configuration.container.ContainerBindMount;
import javax.swing.*;
import javax.swing.event.ChangeListener;
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/ContainerBindMountTable.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/ContainerBindMountTable.java
index 27053661..b812d9af 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/ContainerBindMountTable.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/control/table/ContainerBindMountTable.java
@@ -1,6 +1,6 @@
package org.openslx.dozmod.gui.control.table;
-import org.openslx.dozmod.model.ContainerBindMount;
+import org.openslx.virtualization.configuration.container.ContainerBindMount;
import java.util.ArrayList;
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/panel/ContainerPanel.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/panel/ContainerPanel.java
index 621bdba2..e37494ce 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/panel/ContainerPanel.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/panel/ContainerPanel.java
@@ -10,8 +10,8 @@ import org.openslx.dozmod.gui.control.ComboBox;
import org.openslx.dozmod.gui.control.QLabel;
import org.openslx.dozmod.gui.helper.GridManager;
import org.openslx.dozmod.gui.helper.I18n;
-import org.openslx.dozmod.model.ContainerDefinition;
-import org.openslx.dozmod.model.ContainerMeta;
+import org.openslx.virtualization.configuration.container.ContainerDefinition;
+import org.openslx.virtualization.configuration.container.ContainerMeta;
import org.openslx.thrifthelper.ThriftManager;
import org.openslx.util.ThriftUtil;
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ContainerBindMountWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ContainerBindMountWindow.java
index 77361f57..fa3cf920 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ContainerBindMountWindow.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ContainerBindMountWindow.java
@@ -3,7 +3,7 @@ package org.openslx.dozmod.gui.window;
import org.openslx.dozmod.gui.control.table.ContainerBindMountTable;
import org.openslx.dozmod.gui.helper.TextChangeListener;
import org.openslx.dozmod.gui.window.layout.ContainerBindMountWindowLayout;
-import org.openslx.dozmod.model.ContainerBindMount;
+import org.openslx.virtualization.configuration.container.ContainerBindMount;
import java.awt.*;
import java.awt.event.ActionEvent;
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 5e6769e8..e3c80ea3 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.dozmod.model.ContainerBuildContextMethod;
+import org.openslx.virtualization.configuration.container.ContainerBuildContextMethod;
import javax.swing.*;
import java.awt.*;
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/ImageMetaDataPageLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/ImageMetaDataPageLayout.java
index 63b7f498..db7284c3 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/ImageMetaDataPageLayout.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/layout/ImageMetaDataPageLayout.java
@@ -9,9 +9,10 @@ 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.dozmod.model.ContainerMeta;
import org.openslx.thrifthelper.Comparators;
+import org.openslx.virtualization.configuration.container.ContainerMeta;
+
import javax.swing.*;
public abstract class ImageMetaDataPageLayout extends WizardPage {
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ContainerUploadPage.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ContainerUploadPage.java
index 7d6e4899..6d2078f8 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ContainerUploadPage.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ContainerUploadPage.java
@@ -9,13 +9,13 @@ import org.openslx.dozmod.gui.helper.QFileChooser;
import org.openslx.dozmod.gui.helper.TextChangeListener;
import org.openslx.dozmod.gui.wizard.Wizard;
import org.openslx.dozmod.gui.wizard.layout.ContainerUploadPageLayout;
-import org.openslx.dozmod.model.ContainerBuildContextMethod;
import org.openslx.dozmod.model.ContainerDefinition;
-import org.openslx.dozmod.model.ContainerMeta;
import org.openslx.dozmod.state.UploadWizardState;
import org.openslx.dozmod.thrift.ThriftActions;
import org.openslx.dozmod.thrift.cache.MetaDataCache;
import org.openslx.virtualization.configuration.VirtualizationConfigurationDocker;
+import org.openslx.virtualization.configuration.container.ContainerBuildContextMethod;
+import org.openslx.virtualization.configuration.container.ContainerMeta;
import javax.swing.*;
import javax.swing.event.ChangeEvent;
@@ -305,8 +305,8 @@ public class ContainerUploadPage extends ContainerUploadPageLayout {
// -- create image to get uuid --
if (existingImage == null) {
if (state.uuid == null) {
- state.uuid = ThriftActions.createImage(JOptionPane.getFrameForComponent(this), state.name);
state.name = txtImageName.getText();
+ state.uuid = ThriftActions.createImage(JOptionPane.getFrameForComponent(this), state.name);
if (state.uuid == null)
return false;
txtImageName.setEnabled(false);
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageMetaDataPage.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageMetaDataPage.java
index a604c167..97ade77f 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageMetaDataPage.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/wizard/page/ImageMetaDataPage.java
@@ -8,7 +8,6 @@ import org.openslx.dozmod.gui.helper.TextChangeListener;
import org.openslx.dozmod.gui.wizard.Wizard;
import org.openslx.dozmod.gui.wizard.layout.ImageMetaDataPageLayout;
import org.openslx.dozmod.model.ContainerDefinition;
-import org.openslx.dozmod.model.ContainerMeta;
import org.openslx.dozmod.state.UploadWizardState;
import org.openslx.dozmod.thrift.Session;
import org.openslx.dozmod.thrift.cache.MetaDataCache;
@@ -16,6 +15,7 @@ import org.openslx.thrifthelper.Comparators;
import org.openslx.util.QuickTimer;
import org.openslx.util.QuickTimer.Task;
import org.openslx.virtualization.configuration.VirtualizationConfigurationDocker;
+import org.openslx.virtualization.configuration.container.ContainerMeta;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/model/ContainerBindMount.java b/dozentenmodul/src/main/java/org/openslx/dozmod/model/ContainerBindMount.java
deleted file mode 100644
index 84449bad..00000000
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/model/ContainerBindMount.java
+++ /dev/null
@@ -1,62 +0,0 @@
-package org.openslx.dozmod.model;
-
-import java.util.Objects;
-
-/**
- * This class implements a model for a bind mount entry in the docker context
- * (eg. docker run ... --mount type=bind,source=source,target=target,options ... ). A list of objects of this class is stored in
- * {@link ContainerMeta}.
- */
-public class ContainerBindMount {
-
- private String source;
- private String target;
- private String options;
-
- public ContainerBindMount() {
- }
-
- public ContainerBindMount(String source, String target, String options) {
- this.source = source;
- this.target = target;
- this.options = options;
- }
-
- public String getSource() {
- return source;
- }
-
- public void setSource(String source) {
- this.source = source;
- }
-
- public String getTarget() {
- return target;
- }
-
- public void setTarget(String target) {
- this.target = target;
- }
-
- public String getOptions() {
- return options;
- }
-
- public void setOptions(String options) {
- this.options = options;
- }
-
- @Override public boolean equals(Object o) {
- if (this == o)
- return true;
- if (o == null || getClass() != o.getClass())
- return false;
- ContainerBindMount that = (ContainerBindMount) o;
- return Objects.equals(source, that.source) && Objects.equals(target, that.target) && Objects.equals(
- options, that.options);
- }
-
- @Override public int hashCode() {
- return Objects.hash(source, target, options);
- }
-}
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/model/ContainerBuildContextMethod.java b/dozentenmodul/src/main/java/org/openslx/dozmod/model/ContainerBuildContextMethod.java
deleted file mode 100644
index 54b7bd39..00000000
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/model/ContainerBuildContextMethod.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package org.openslx.dozmod.model;
-
-public enum ContainerBuildContextMethod {
-
- FILE, GIT_REPOSITORY,IMAGE_REPO;
-
- public static ContainerBuildContextMethod fromInt(int index) {
- return values()[index];
- }
-}
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/model/ContainerDefinition.java b/dozentenmodul/src/main/java/org/openslx/dozmod/model/ContainerDefinition.java
index c1a1ea3c..23142b51 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/model/ContainerDefinition.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/model/ContainerDefinition.java
@@ -1,80 +1,19 @@
package org.openslx.dozmod.model;
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
-import com.google.gson.stream.JsonReader;
-import org.apache.log4j.Logger;
-import org.kamranzafar.jtar.TarEntry;
-import org.kamranzafar.jtar.TarInputStream;
-import org.kamranzafar.jtar.TarOutputStream;
import org.openslx.dozmod.thrift.cache.MetaDataCache;
-import org.openslx.dozmod.util.TarArchiveUtil;
import org.openslx.virtualization.configuration.VirtualizationConfigurationDocker;
import org.openslx.virtualization.configuration.VirtualizationConfigurationException;
-import java.io.*;
-import java.nio.ByteBuffer;
-import java.nio.charset.StandardCharsets;
-import java.util.Objects;
-import java.util.zip.GZIPInputStream;
-import java.util.zip.GZIPOutputStream;
-public class ContainerDefinition {
+public class ContainerDefinition extends
+ org.openslx.virtualization.configuration.container.ContainerDefinition {
- private static final Logger LOGGER = Logger.getLogger(ContainerDefinition.class);
-
- private static final String CONTAINER_FILE = "dockerfile";
- private static final String CONTAINER_META_FILE = "container_meta.json";
-
- /**
- * The file to construct a real container image, could be an dockerfile or a singularity recipe.
- */
- public String containerRecipe = "";
-
- /**
- * Further container information, see {@link ContainerMeta}.
- */
- public ContainerMeta containerMeta;
-
- public ContainerDefinition() {
- containerMeta = new ContainerMeta();
- }
-
- /**
- * Copy Constructor
- *
- * @param containerDef {@link ContainerDefinition} from which to make a deep copy.
- */
- public ContainerDefinition(ContainerDefinition containerDef) {
- containerRecipe = String.valueOf(containerDef.getContainerRecipe());
- containerMeta = new ContainerMeta(containerDef.getContainerMeta());
- }
-
- public String getContainerRecipe() {
- return containerRecipe;
- }
-
- public void setContainerRecipe(String containerRecipe) {
- this.containerRecipe = containerRecipe;
- }
-
- public void setContainerRecipe(File containerRecipeFile) {
- this.containerRecipe = readContainerRecipe(containerRecipeFile);
- }
-
- public void setContainerRecipe(byte[] rawContainerRecipe) {
- this.containerRecipe = new String(rawContainerRecipe, StandardCharsets.UTF_8);
+ public ContainerDefinition(ContainerDefinition containerDefinition) {
+ super(containerDefinition);
}
- public void setContainerMeta(byte[] containerMeta) {
- Gson gson = new GsonBuilder().create();
- this.containerMeta = gson.fromJson(new JsonReader(
- new InputStreamReader(new ByteArrayInputStream(containerMeta), StandardCharsets.UTF_8)),
- ContainerMeta.class);
- }
-
- public ContainerMeta getContainerMeta() {
- return containerMeta;
+ public ContainerDefinition() {
+ super();
}
public VirtualizationConfigurationDocker createVirtualizationConfig() {
@@ -88,137 +27,4 @@ public class ContainerDefinition {
}
return null;
}
-
- /**
- * Utility function to create a {@link ContainerDefinition} object for a byte array downloaded from the server.
- *
- * @param rawTarData Downloaded tar.gz file from the server as a byte array.
- * @return New object of ContainerDefinition.
- */
- public static ContainerDefinition fromByteArray(byte[] rawTarData) {
-
- ContainerDefinition containerDef = new ContainerDefinition();
-
- try {
- TarInputStream tis = new TarInputStream(
- new GZIPInputStream(new BufferedInputStream(new ByteArrayInputStream(rawTarData))));
-
- TarEntry entry;
-
- while ((entry = tis.getNextEntry()) != null) {
- byte[] rawData = new byte[1024];
- ByteArrayOutputStream output = new ByteArrayOutputStream();
- int count;
-
- // read everything from the TarInputStream for the current Entry
- while ((count = tis.read(rawData)) != -1) {
- output.write(rawData, 0, count);
- }
-
- if (entry.getName().equals(CONTAINER_FILE))
- containerDef.setContainerRecipe(output.toByteArray());
- if (entry.getName().equals(CONTAINER_META_FILE))
- containerDef.setContainerMeta(output.toByteArray());
- }
-
- } catch (IOException e) {
- LOGGER.error("Could not create a ContainerDefinition Object for rawTarData", e);
- }
-
- return containerDef;
- }
-
- /**
- * Serializes the ContainerMeta and Container Description (e.g. dockerfile) into an tar.gz archive.
- *
- * @return A ByteBuffer object of the container definition. Can be uploaded so satellite server.
- */
- public ByteBuffer toByteBuffer() {
-
- ByteBuffer containerDef = null;
-
- try {
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- TarOutputStream output = new TarOutputStream(new GZIPOutputStream(baos));
-
- Gson gson = new GsonBuilder().setPrettyPrinting().create();
- TarArchiveUtil.tarPutFile(output, CONTAINER_META_FILE, gson.toJson(containerMeta));
- TarArchiveUtil.tarPutFile(output, CONTAINER_FILE, containerRecipe);
- output.close();
-
- containerDef = ByteBuffer.wrap(baos.toByteArray());
-
- } catch (IOException e) {
- LOGGER.warn("Could not create a tar file", e);
- }
-
- return containerDef;
- }
-
- private String readContainerRecipe(File file) {
- String recipe = null;
- try {
-
- BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file));
- ByteArrayOutputStream rawFile = new ByteArrayOutputStream();
- int count;
- byte[] data = new byte[1024];
- while ((count = bis.read(data)) != -1) {
- rawFile.write(data, 0, count);
- }
-
- String rawRecipe = new String(rawFile.toByteArray(), StandardCharsets.UTF_8);
-
- // replace windows by unix EOL
- recipe = rawRecipe.replaceAll("\\r\\n", "\n");
-
- bis.close();
-
- } catch (IOException e) {
- LOGGER.error("Could not read Container Recipe", e);
- }
- return recipe;
- }
-
- /**
- * Saves containerRecipe and containerMeta at the provided location.
- *
- * @param destDir destination directory for containerRecipe and containerMeta.
- */
- public void saveLocal(File destDir) {
-
- writeFile(destDir, containerRecipe, CONTAINER_FILE);
- Gson gson = new GsonBuilder().setPrettyPrinting().create();
- writeFile(destDir, gson.toJson(containerMeta), CONTAINER_META_FILE);
- }
-
- private void writeFile(File destDir, String fileContent, String filename) {
- File output = new File(destDir, filename);
- try {
- FileWriter fw = new FileWriter(output);
- fw.write(fileContent);
- fw.flush();
- fw.close();
- } catch (IOException e) {
- e.printStackTrace();
- LOGGER.error("Could not write File", e);
- }
- }
-
- public ContainerBuildContextMethod getBuildContextMethod() {
- return ContainerBuildContextMethod.fromInt(containerMeta.getBuildContextMethod());
- }
-
- @Override public boolean equals(Object o) {
- if (this == o)
- return true;
- if (o == null || getClass() != o.getClass())
- return false;
- ContainerDefinition that = (ContainerDefinition) o;
- return containerRecipe.equals(that.containerRecipe) && containerMeta.equals(that.containerMeta);
- }
-
- @Override public int hashCode() {
- return Objects.hash(containerRecipe, containerMeta);
- }
}
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/model/ContainerMeta.java b/dozentenmodul/src/main/java/org/openslx/dozmod/model/ContainerMeta.java
deleted file mode 100644
index 2f13c156..00000000
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/model/ContainerMeta.java
+++ /dev/null
@@ -1,165 +0,0 @@
-package org.openslx.dozmod.model;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Objects;
-
-/**
- * ContainerMeta is used to store container specific information.
- * An object of this class will be serialized with gson to a json file.
- * <p>
- * TODO remove build_context_method
- * no need to distinguish between methods
- * TODO rename build_context_url to build_context
- */
-public class ContainerMeta {
-
- public enum ContainerImageType implements org.apache.thrift.TEnum {
- LECTURE("lecture"), BATCH("batch"), DATA("data");
-
- private final String name;
-
- ContainerImageType(String name) {
- this.name = name;
- }
-
- public boolean equalNames(String other) {
- return name.equals(other);
- }
-
- public static ContainerImageType getByName(String name) {
- for (ContainerImageType item : ContainerImageType.values()) {
- if (item.name.equals(name))
- return item;
- }
- // name is not an enum, return lecture as default
- return LECTURE;
- }
-
- @Override public String toString() {
- return this.name;
- }
-
- @Override public int getValue() {
- return this.ordinal();
- }
- }
-
- private int build_context_method;
- private String image_repo;
- private String build_context_url;
- private String image_name;
- private String run_options;
- private String run_command;
- private String image_type;
- private List<ContainerBindMount> bind_mount_config = new ArrayList<>();
-
- public ContainerMeta() {
-
- image_repo = "";
- build_context_method = ContainerBuildContextMethod.FILE.ordinal();
- build_context_url = "";
- image_name = "";
- run_options = "";
- run_command = "";
- image_type = ContainerImageType.LECTURE.toString();
- bind_mount_config = new ArrayList<>();
- }
-
- public ContainerMeta(ContainerMeta containerMeta) {
- build_context_method = containerMeta.build_context_method;
- build_context_url = containerMeta.build_context_url;
- image_name = containerMeta.image_name;
- run_options = containerMeta.run_options;
- run_command = containerMeta.run_command;
- image_repo = containerMeta.image_repo;
-
- for (ContainerBindMount bm : containerMeta.bind_mount_config)
- bind_mount_config.add(new ContainerBindMount(bm.getSource(), bm.getTarget(), bm.getOptions()));
-
- }
-
- public int getBuildContextMethod() {
- return build_context_method;
- }
-
- public void setBuildContextMethod(int buildContextMethod) {
- this.build_context_method = buildContextMethod;
- }
-
- public String getBuildContextUrl() {
- return build_context_url;
- }
-
- public void setBuildContextUrl(String buildContextUrl) {
- this.build_context_url = buildContextUrl;
- }
-
- public String getRunOptions() {
- return run_options;
- }
-
- public void setRunOptions(String run_options) {
- this.run_options = run_options;
- }
-
- public void setRunCommand(String run_command) {
- this.run_command = run_command;
- }
-
- public String getRunCommand() {
- return this.run_command;
- }
-
- public String getImageName() {
- return image_name;
- }
-
- public void setImageName(String image_name) {
- this.image_name = image_name;
- }
-
- public List<ContainerBindMount> getBindMountConfig() {
- return bind_mount_config;
- }
-
- public void setBindMountConfig(List<ContainerBindMount> bindMountConfig) {
- this.bind_mount_config = bindMountConfig;
- }
-
- public String getImageRepo() {
- return image_repo;
- }
-
- public void setImageRepo(String from_image) {
- this.image_repo = from_image;
- }
-
- public ContainerImageType getImageType() {
- if (image_type == null || image_type.length() == 0)
- return ContainerImageType.LECTURE;
-
- return ContainerImageType.getByName(image_type);
- }
-
- public void setImageType(ContainerImageType image_type) {
- this.image_type = image_type.toString();
- }
-
- @Override public boolean equals(Object o) {
- if (this == o)
- return true;
- if (o == null || getClass() != o.getClass())
- return false;
- ContainerMeta that = (ContainerMeta) o;
- return Objects.equals(build_context_url, that.build_context_url) && Objects.equals(image_name,
- that.image_name) && Objects.equals(run_options, that.run_options) && Objects.equals(
- run_command, that.run_command) && Objects.equals(bind_mount_config, that.bind_mount_config)
- && Objects.equals(image_repo, that.image_repo) && Objects.equals(image_type, that.image_type);
- }
-
- @Override public int hashCode() {
- return Objects.hash(build_context_url, image_name, run_options, run_command, bind_mount_config,
- image_repo, image_type);
- }
-}
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/util/ImageWrapper.java b/dozentenmodul/src/main/java/org/openslx/dozmod/util/ImageWrapper.java
index a6281df1..07c137ab 100644
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/util/ImageWrapper.java
+++ b/dozentenmodul/src/main/java/org/openslx/dozmod/util/ImageWrapper.java
@@ -49,7 +49,7 @@ public class ImageWrapper {
// TODO In future maybe this is a check to distinguish between VM-Image and Container Image
if (virtualizerId.equals(TConst.VIRT_DOCKER)) {
- ContainerDefinition conDef = ContainerDefinition.fromByteArray(virtualizerConfig);
+ ContainerDefinition conDef = (ContainerDefinition) ContainerDefinition.fromByteArray(virtualizerConfig);
conDef.saveLocal(destDir);
try {
diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/util/TarArchiveUtil.java b/dozentenmodul/src/main/java/org/openslx/dozmod/util/TarArchiveUtil.java
deleted file mode 100644
index c1a282b6..00000000
--- a/dozentenmodul/src/main/java/org/openslx/dozmod/util/TarArchiveUtil.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.openslx.dozmod.util;
-
-import org.kamranzafar.jtar.TarEntry;
-import org.kamranzafar.jtar.TarHeader;
-import org.kamranzafar.jtar.TarOutputStream;
-import org.openslx.util.Util;
-
-import java.io.IOException;
-import java.nio.charset.StandardCharsets;
-
-public class TarArchiveUtil {
-
-
-
- public static void tarPutFile(TarOutputStream output, String fileName, String data) throws IOException
- {
- if (data == null)
- return;
- tarPutFile(output, fileName, data.getBytes(StandardCharsets.UTF_8));
- }
-
- public static void tarPutFile(TarOutputStream output, String fileName, byte[] data) throws IOException
- {
- if (data == null)
- return;
- output.putNextEntry(new TarEntry(
- TarHeader.createHeader(fileName, data.length, Util.unixTime(), false, 0644)));
- output.write(data);
- }
-}