From fcbae54b12b0ad005ca343bb777a6f6373d28c1f Mon Sep 17 00:00:00 2001 From: ralph isenmann Date: Mon, 26 Oct 2020 13:12:38 +0100 Subject: [client] refactoring - rename ContainerDescription to ContainerRecipe - ... --- .../dozmod/gui/window/ImageDetailsWindow.java | 10 ++-- .../window/layout/ImageDetailsWindowLayout.java | 6 +-- .../openslx/dozmod/model/ContainerBindMount.java | 5 ++ .../openslx/dozmod/model/ContainerDefinition.java | 55 ++++++++++++---------- .../org/openslx/dozmod/model/ContainerMeta.java | 1 - 5 files changed, 43 insertions(+), 34 deletions(-) (limited to 'dozentenmodul/src') diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java index b6cb1050..e12506e1 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/ImageDetailsWindow.java @@ -627,7 +627,7 @@ import org.openslx.util.Util; ContainerDefinition conDev = new ContainerDefinition(); - conDev.setDescription(txtContainerDescription.getText()); + conDev.setContainerRecipe(txtContainerRecipe.getText()); conDev.getContainerMeta().setImageName(txtContainerImageName.getText()); conDev.getContainerMeta().setRunOptions(txtContainerRun.getText()); @@ -815,11 +815,11 @@ import org.openslx.util.Util; switch (method) { case FILE: - txtContainerDescription.setText(containerDefinition.getDescription()); + txtContainerRecipe.setText(containerDefinition.getDescription()); break; case GIT_REPOSITORY: - txtContainerDescription.setText(containerMeta.getBuildContextUrl()); - txtContainerDescription.setEnabled(false); + txtContainerRecipe.setText(containerMeta.getBuildContextUrl()); + txtContainerRecipe.setEnabled(false); break; } @@ -827,7 +827,7 @@ import org.openslx.util.Util; txtContainerRun.setText(containerMeta.getRunOptions()); bindMountTable.setData(containerMeta.getBindMountConfig(), true); - changeMonitor.add(txtContainerDescription). + changeMonitor.add(txtContainerRecipe). addConstraint(new TextNotEmptyConstraint("Empty Dockerfile not allowed!")); changeMonitor.add(txtContainerImageName) .addConstraint(new TextNotEmptyConstraint("Empty Name not allowed!")); diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageDetailsWindowLayout.java b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageDetailsWindowLayout.java index c1df6867..29d19778 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageDetailsWindowLayout.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/gui/window/layout/ImageDetailsWindowLayout.java @@ -38,7 +38,7 @@ import org.openslx.thrifthelper.Comparators; protected final JTextArea txtDescription; private final JPanel pnlTabContainer; - protected final JTextArea txtContainerDescription; + protected final JTextArea txtContainerRecipe; protected final JTextField txtContainerRun; protected final JTextField txtContainerImageName; protected final ContainerBindMountTable bindMountTable; @@ -281,8 +281,8 @@ import org.openslx.thrifthelper.Comparators; * ********************************************************************************/ pnlTabContainer = new JPanel(); - txtContainerDescription = new JTextArea(); - JScrollPane scrollableTextArea = new JScrollPane(txtContainerDescription); + txtContainerRecipe = new JTextArea(); + JScrollPane scrollableTextArea = new JScrollPane(txtContainerRecipe); JPanel pnlContainerMeta = new JPanel(); GridManager grdContainerMeta = new GridManager(pnlContainerMeta, 3, false, new Insets(8, 2, 8, 2)); diff --git a/dozentenmodul/src/main/java/org/openslx/dozmod/model/ContainerBindMount.java b/dozentenmodul/src/main/java/org/openslx/dozmod/model/ContainerBindMount.java index 2bfb93f6..9f6261f0 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/model/ContainerBindMount.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/model/ContainerBindMount.java @@ -2,6 +2,11 @@ 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; 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 e29d8d9c..c7f96389 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/model/ContainerDefinition.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/model/ContainerDefinition.java @@ -26,12 +26,12 @@ public class ContainerDefinition { private static final String CONTAINER_META_FILE = "container_meta.json"; /** - * The file to construct a real container, could be an dockerfile or a singularity recipe. + * The file to construct a real container image, could be an dockerfile or a singularity recipe. */ - public String containerDescription; + public String containerRecipe; /** - * Further container information. + * Further container information, see {@link ContainerMeta}. */ public ContainerMeta containerMeta; @@ -51,20 +51,20 @@ public class ContainerDefinition { * @param containerMeta container meta object */ public ContainerDefinition(File file, ContainerMeta containerMeta) { - this.containerDescription = readContainerRecipe(file); + this.containerRecipe = readContainerRecipe(file); this.containerMeta = containerMeta; } public String getDescription() { - return containerDescription; + return containerRecipe; } - public void setDescription(String description) { - containerDescription = description; + public void setContainerRecipe(String containerRecipe) { + this.containerRecipe = containerRecipe; } - public void setContainerDescription(byte[] containerDescription) { - this.containerDescription = new String(containerDescription, StandardCharsets.UTF_8); + public void setContainerRecipe(byte[] rawContainerRecipe) { + this.containerRecipe = new String(rawContainerRecipe, StandardCharsets.UTF_8); } public void setContainerMeta(byte[] containerMeta) { @@ -80,11 +80,17 @@ public class ContainerDefinition { public DockerMetaDataDummy createVmMeta() { - byte[] rawContainerDefinition = toByteBuffer().array(); - return new DockerMetaDataDummy(MetaDataCache.getOperatingSystems(), rawContainerDefinition, - rawContainerDefinition.length); + byte[] rawContainerRecipe = toByteBuffer().array(); + return new DockerMetaDataDummy(MetaDataCache.getOperatingSystems(), rawContainerRecipe, + rawContainerRecipe.length); } + /** + * 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(); @@ -101,13 +107,13 @@ public class ContainerDefinition { tis.read(rawData, 0, size); if (entry.getName().equals(CONTAINER_FILE)) - containerDef.setContainerDescription(rawData); + containerDef.setContainerRecipe(rawData); if (entry.getName().equals(CONTAINER_META_FILE)) containerDef.setContainerMeta(rawData); } } catch (IOException e) { - e.printStackTrace(); + LOGGER.error("Could not create a ContainerDefinition Object for rawTarData", e); } return containerDef; @@ -128,7 +134,7 @@ public class ContainerDefinition { Gson gson = new GsonBuilder().setPrettyPrinting().create(); TarArchiveUtil.tarPutFile(output, CONTAINER_META_FILE, gson.toJson(containerMeta)); - TarArchiveUtil.tarPutFile(output, CONTAINER_FILE, containerDescription); + TarArchiveUtil.tarPutFile(output, CONTAINER_FILE, containerRecipe); output.close(); containerDef = ByteBuffer.wrap(baos.toByteArray()); @@ -150,17 +156,17 @@ public class ContainerDefinition { } catch (IOException e) { LOGGER.error("Could not read Container Recipe", e); } - return byteArrayToString(rawFile); - } - - private String byteArrayToString(byte[] containerRecipe) { - return new String(containerRecipe, StandardCharsets.UTF_8); + return new String(rawFile, StandardCharsets.UTF_8); } + /** + * Saves containerRecipe and containerMeta at the provided location. + * + * @param destDir destination directory for containerRecipe and containerMeta. + */ public void saveLocal(File destDir) { - writeFile(destDir, containerDescription, CONTAINER_FILE); - + writeFile(destDir, containerRecipe, CONTAINER_FILE); Gson gson = new GsonBuilder().setPrettyPrinting().create(); writeFile(destDir, gson.toJson(containerMeta), CONTAINER_META_FILE); } @@ -184,11 +190,10 @@ public class ContainerDefinition { if (o == null || getClass() != o.getClass()) return false; ContainerDefinition that = (ContainerDefinition) o; - return containerDescription.equals(that.containerDescription) && containerMeta.equals( - that.containerMeta); + return containerRecipe.equals(that.containerRecipe) && containerMeta.equals(that.containerMeta); } @Override public int hashCode() { - return Objects.hash(containerDescription, containerMeta); + 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 index 089cea69..c9cbd58e 100644 --- a/dozentenmodul/src/main/java/org/openslx/dozmod/model/ContainerMeta.java +++ b/dozentenmodul/src/main/java/org/openslx/dozmod/model/ContainerMeta.java @@ -1,7 +1,6 @@ package org.openslx.dozmod.model; import java.util.ArrayList; -import java.util.Collection; import java.util.List; import java.util.Objects; -- cgit v1.2.3-55-g7522