From a0d3ea8e2c175afa651806d3fe22116d013f8e8a Mon Sep 17 00:00:00 2001 From: ralph isenmann Date: Tue, 11 Aug 2020 16:03:46 +0200 Subject: add dockerfile as byte array to DockerMetaDataDummy.java This allows to store the content of a dockerfile in the imageversion table --- .../org/openslx/util/vm/DockerMetaDataDummy.java | 24 ++++++++++++++++++---- src/main/java/org/openslx/util/vm/VmMetaData.java | 2 +- 2 files changed, 21 insertions(+), 5 deletions(-) (limited to 'src/main/java/org/openslx/util/vm') diff --git a/src/main/java/org/openslx/util/vm/DockerMetaDataDummy.java b/src/main/java/org/openslx/util/vm/DockerMetaDataDummy.java index 0144d65..473f1c0 100644 --- a/src/main/java/org/openslx/util/vm/DockerMetaDataDummy.java +++ b/src/main/java/org/openslx/util/vm/DockerMetaDataDummy.java @@ -4,22 +4,38 @@ import org.apache.log4j.Logger; import org.openslx.bwlp.thrift.iface.Virtualizer; import org.openslx.thrifthelper.TConst; -import java.io.File; +import java.io.*; import java.util.List; public class DockerMetaDataDummy extends VmMetaData { // TODO Define DOCKER CONSTANT - private static final Logger LOGGER = Logger.getLogger( DockerMetaDataDummy.class ); + private static final Logger LOGGER = Logger.getLogger( DockerMetaDataDummy.class); private final Virtualizer virtualizer = new Virtualizer( TConst.VIRT_DOCKER, "Docker" ); - public DockerMetaDataDummy(List osList) { + private byte[] dockerfile; + + public DockerMetaDataDummy(List osList, File file) { super(osList); + + try { + BufferedInputStream bis = new BufferedInputStream(new FileInputStream(file)); + dockerfile = new byte[(int) file.length()]; + bis.read(dockerfile); + } catch (IOException e) { + LOGGER.error("Couldn't read dockerfile",e); + } + } + + public DockerMetaDataDummy(List osList, byte[] vmContent, int length) { + super(osList); + + dockerfile = vmContent; } @Override public byte[] getFilteredDefinitionArray() { - return new byte[0]; + return dockerfile; } @Override public void applySettingsForLocalEdit() { diff --git a/src/main/java/org/openslx/util/vm/VmMetaData.java b/src/main/java/org/openslx/util/vm/VmMetaData.java index e695bc0..0d191e5 100644 --- a/src/main/java/org/openslx/util/vm/VmMetaData.java +++ b/src/main/java/org/openslx/util/vm/VmMetaData.java @@ -313,7 +313,7 @@ public abstract class VmMetaData LOGGER.info( "Not a QEmu file", e ); } try { - return new DockerMetaDataDummy(osList); + return new DockerMetaDataDummy(osList, file); } catch ( Exception e ) { LOGGER.info( "Not a docker file", e ); } -- cgit v1.2.3-55-g7522