org.arquillian.cube.docker.impl.client.CommaSeparatedAutoStartParser Maven / Gradle / Ivy
package org.arquillian.cube.docker.impl.client;
import java.util.HashMap;
import java.util.Map;
import org.arquillian.cube.docker.impl.client.config.DockerCompositions;
import org.arquillian.cube.docker.impl.util.AutoStartOrderUtil;
import org.arquillian.cube.docker.impl.util.ConfigUtil;
import org.arquillian.cube.spi.AutoStartParser;
import org.arquillian.cube.spi.Node;
public class CommaSeparatedAutoStartParser implements AutoStartParser {
private String expression;
private DockerCompositions containerDefinitions;
public CommaSeparatedAutoStartParser(String expression, DockerCompositions containerDefinitions) {
this.expression = expression;
this.containerDefinitions = containerDefinitions;
}
@Override
public Map parse() {
Map nodes = new HashMap<>();
String[] autoStartContainers = ConfigUtil.trim(expression.split(","));
for (String autoStart : autoStartContainers) {
if (containerDefinitions.get(autoStart) != null && !containerDefinitions.get(autoStart).isManual()) {
nodes.put(autoStart, Node.from(autoStart));
}
}
return nodes;
}
@Override
public String toString() {
return AutoStartOrderUtil.toString(parse());
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy