package org.jboss.resteasy.test;
import org.jboss.resteasy.plugins.server.embedded.SecurityDomain;
import org.jboss.resteasy.spi.ResteasyDeployment;
import java.lang.reflect.Method;
import java.util.Hashtable;
/**
* @author <a href="mailto:bill@burkecentral.com">Bill Burke</a>
* @version $Revision: 1 $
*
* @deprecated See resteasy-undertow module.
*/
@Deprecated
public class EmbeddedContainer
{
private static Class<?> bootstrap = TJWSServletContainer.class;
public static Class getBootstrap()
{
return bootstrap;
}
/**
* Exists for tests that require a servlet container behind the scenes.
*
* @return
*/
public static boolean isServlet()
{
return true;
}
static
{
String boot = System.getProperty("org.resteasy.test.embedded.container");
if (boot != null)
{
try
{
bootstrap = Thread.currentThread().getContextClassLoader().loadClass(boot);
}
catch (ClassNotFoundException e)
{
throw new RuntimeException(e);
}
}
}
public static void setBootstrap(Class bootstrap)
{
EmbeddedContainer.bootstrap = bootstrap;
}
public static ResteasyDeployment start() throws Exception
{
return start("/", (Hashtable<String,String>) null);
}
public static ResteasyDeployment start(String bindPath) throws Exception
{
return start(bindPath, null, null);
}
public static ResteasyDeployment start(Hashtable<String,String> initParams) throws Exception
{
return start("/", initParams);
}
public static ResteasyDeployment start(Hashtable<String,String> initParams, Hashtable<String,String> contextParams) throws Exception
{
return start("/", initParams, contextParams);
}
public static ResteasyDeployment start(String bindPath, Hashtable<String,String> initParams) throws Exception
{
Method start = bootstrap.getMethod("start", String.class, Hashtable.class);
return (ResteasyDeployment) start.invoke(null, bindPath, initParams);
}
public static ResteasyDeployment start(String bindPath, Hashtable<String,String> initParams, Hashtable<String,String> contextParams) throws Exception
{
Method start = bootstrap.getMethod("start", String.class, Hashtable.class, Hashtable.class);
return (ResteasyDeployment) start.invoke(null, bindPath, initParams, contextParams);
}
public static ResteasyDeployment start(String bindPath, SecurityDomain domain) throws Exception
{
Method start = bootstrap.getMethod("start", String.class, SecurityDomain.class);
return (ResteasyDeployment) start.invoke(null, bindPath, domain);
}
public static void start(ResteasyDeployment deployment) throws Exception
{
Method start = bootstrap.getMethod("start", ResteasyDeployment.class);
start.invoke(null, deployment);
}
public static void stop() throws Exception
{
Method stop = bootstrap.getMethod("stop");
stop.invoke(null);
}
}