package org.arquillian.cube.impl.util;
import java.util.Map;
import org.jboss.arquillian.container.spi.Container;
import org.jboss.arquillian.container.spi.ContainerRegistry;
import org.jboss.arquillian.container.spi.client.container.DeployableContainer;
public class ContainerUtil {
public static Container getContainerByDeployableContainer(ContainerRegistry registry, DeployableContainer<?> dc) {
for (Container container : registry.getContainers()) {
if (dc == container.getDeployableContainer()) {
return container;
}
}
return null;
}
/**
* Returns the cube ID for the container. By default, this is the container
* name, but can be overridden by the user in the container properties, e.g.
* <code><cubeId>pod-name</cubeId></code>.
*
* @param container
* the arquillian container
*
* @return the cube ID for the specified container
*/
public static String getCubeIDForContainer(Container container) {
final String cubeID;
final Map<String, String> containerProperties = container.getContainerConfiguration().getContainerProperties();
if (containerProperties == null) {
// test cases may not mock entire hierarchy
cubeID = null;
} else {
cubeID = containerProperties.get("cubeId");
}
return cubeID == null ? container.getName() : cubeID;
}
}