package org.keycloak.testsuite.arquillian;
import org.jboss.arquillian.container.spi.Container;
import java.net.URL;
import java.util.Map;
import java.util.Objects;
/**
*
* @author tkyjovsk
*/
public class ContainerInfo {
private URL contextRoot;
private Container arquillianContainer;
private boolean adapterLibsInstalled;
public ContainerInfo(Container arquillianContainer) {
if (arquillianContainer == null) {
throw new IllegalArgumentException();
}
this.arquillianContainer = arquillianContainer;
}
public Container getArquillianContainer() {
return arquillianContainer;
}
public Map<String, String> getProperties() {
return getArquillianContainer().getContainerConfiguration().getContainerProperties();
}
public String getQualifier() {
return getArquillianContainer().getName();
}
public URL getContextRoot() {
return contextRoot;
}
public void setContextRoot(URL contextRoot) {
this.contextRoot = contextRoot;
}
public boolean isUndertow() {
return getQualifier().toLowerCase().contains("undertow");
}
public boolean isAS7() {
return getQualifier().toLowerCase().contains("as7");
}
public boolean isWildfly() {
return getQualifier().toLowerCase().contains("wildfly");
}
public boolean isEAP() {
return getQualifier().toLowerCase().contains("eap");
}
public boolean isJBossBased() {
return isAS7() || isWildfly() || isEAP();
}
@Override
public String toString() {
return getQualifier();
}
public boolean isAdapterLibsInstalled() {
return adapterLibsInstalled;
}
public void setAdapterLibsInstalled(boolean adapterLibsInstalled) {
this.adapterLibsInstalled = adapterLibsInstalled;
}
@Override
public int hashCode() {
int hash = 7;
hash = 97 * hash + Objects.hashCode(this.arquillianContainer);
return hash;
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final ContainerInfo other = (ContainerInfo) obj;
return Objects.equals(
this.arquillianContainer.getContainerConfiguration().getContainerName(),
other.arquillianContainer.getContainerConfiguration().getContainerName());
}
}