package org.arquillian.cube.docker.impl.docker.cube; import java.io.FileInputStream; import java.io.IOException; import java.nio.file.Path; import org.arquillian.cube.docker.impl.client.Converter; import org.arquillian.cube.docker.impl.client.config.DockerCompositions; import org.arquillian.cube.docker.impl.util.ConfigUtil; public class CubeConverter implements Converter { private final DockerCompositions dockerCubeDefinitionMap; private CubeConverter(Path location) throws IOException { FileInputStream inputStream = new FileInputStream(location.toFile()); this.dockerCubeDefinitionMap = ConfigUtil.load(inputStream); inputStream.close(); } private CubeConverter(String content) { this.dockerCubeDefinitionMap = ConfigUtil.load(content); } public static CubeConverter create(Path location) { try { return new CubeConverter(location); } catch (IOException e) { throw new IllegalArgumentException(e); } } public static CubeConverter create(String content) { return new CubeConverter(content); } @Override public DockerCompositions convert() { return this.dockerCubeDefinitionMap; } }