package org.jboss.resteasy.plugins.server.sun.http; import org.jboss.resteasy.util.PortProvider; import org.jboss.resteasy.plugins.server.embedded.SecurityDomain; import org.jboss.resteasy.plugins.server.sun.http.SunHttpJaxrsServer; import org.jboss.resteasy.plugins.server.sun.http.i18n.Messages; import org.jboss.resteasy.spi.ResteasyDeployment; import java.util.Hashtable; /** * Sun HttpServerContainer * * @author <a href="mailto:bill@burkecentral.com">Bill Burke</a> * @version $Revision: 1 $ */ public class HttpServerContainer { public static SunHttpJaxrsServer sun; public static ResteasyDeployment start() throws Exception { return start(""); } public static ResteasyDeployment start(String bindPath) throws Exception { return start(bindPath, null, null, null); } public static ResteasyDeployment start(String bindPath, Hashtable<String,String> initParams) throws Exception { return start(bindPath, null, initParams, null); } public static ResteasyDeployment start(String bindPath, Hashtable<String,String> initParams, Hashtable<String,String> contextParams) throws Exception { return start(bindPath, null, initParams, contextParams); } public static void start(ResteasyDeployment deployment) throws Exception { System.out.println(Messages.MESSAGES.embeddedContainerStart()); sun = new SunHttpJaxrsServer(); sun.setDeployment(deployment); sun.setPort(PortProvider.getPort()); sun.setRootResourcePath(""); sun.setSecurityDomain(null); sun.start(); } public static ResteasyDeployment start(String bindPath, SecurityDomain domain) throws Exception { return start(bindPath, domain, null, null); } public static ResteasyDeployment start(String bindPath, SecurityDomain domain, Hashtable<String,String> initParams, Hashtable<String,String> contextParams) throws Exception { ResteasyDeployment deployment = new ResteasyDeployment(); deployment.setSecurityEnabled(true); return start(bindPath, domain, deployment, initParams, contextParams); } public static ResteasyDeployment start(String bindPath, SecurityDomain domain, ResteasyDeployment deployment, Hashtable<String,String> initParams, Hashtable<String,String> contextParams) throws Exception { sun = new SunHttpJaxrsServer(); sun.setDeployment(deployment); sun.setPort(PortProvider.getPort()); sun.setRootResourcePath(bindPath); sun.setSecurityDomain(domain); sun.start(); return sun.getDeployment(); } public static void stop() throws Exception { System.out.println(Messages.MESSAGES.embeddedContainerStop()); if (sun != null) { try { sun.stop(); } catch (Exception e) { } } sun = null; } public static void main(String[] args) throws Exception { start(); } }