X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms.lib.jetty%2Fsrc%2Forg%2Fargeo%2Fcms%2Fjetty%2FCmsJettyServer.java;h=90a800f7eff894cbfde502d956da8e6aadec77b0;hb=2ddf8219c721df80456d99848cc25ce69238297d;hp=3b9783ef5bc016cacdad31dfb5a6a42885a22493;hpb=1d7058b30bd990cda7d4efc1c029501f05a07113;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms.lib.jetty/src/org/argeo/cms/jetty/CmsJettyServer.java b/org.argeo.cms.lib.jetty/src/org/argeo/cms/jetty/CmsJettyServer.java index 3b9783ef5..90a800f7e 100644 --- a/org.argeo.cms.lib.jetty/src/org/argeo/cms/jetty/CmsJettyServer.java +++ b/org.argeo.cms.lib.jetty/src/org/argeo/cms/jetty/CmsJettyServer.java @@ -4,44 +4,18 @@ import java.io.IOException; import java.nio.file.Files; import java.nio.file.Path; -import javax.servlet.ServletContext; import javax.servlet.ServletException; -import javax.websocket.DeploymentException; -import javax.websocket.server.ServerContainer; -import javax.websocket.server.ServerEndpointConfig; -import com.sun.net.httpserver.Authenticator; -import com.sun.net.httpserver.HttpContext; -import org.argeo.api.cms.CmsState; -import org.argeo.cms.CmsDeployProperty; -import org.argeo.cms.websocket.javax.server.CmsWebSocketConfigurator; -import org.argeo.cms.websocket.javax.server.TestEndpoint; import org.eclipse.jetty.server.session.SessionHandler; import org.eclipse.jetty.servlet.ServletContextHandler; -import org.eclipse.jetty.websocket.javax.server.config.JavaxWebSocketServletContainerInitializer; -import org.eclipse.jetty.websocket.javax.server.config.JavaxWebSocketServletContainerInitializer.Configurator; +/** A {@link JettyHttpServer} which is compatible with Equinox servlets. */ public class CmsJettyServer extends JettyHttpServer { private static final String CONTEXT_TEMPDIR = "javax.servlet.context.tempdir"; // Equinox compatibility private static final String INTERNAL_CONTEXT_CLASSLOADER = "org.eclipse.equinox.http.jetty.internal.ContextClassLoader"; -// private static final CmsLog log = CmsLog.getLog(CmsJettyServer.class); - -// private Server server; -// private Path tempDir; -// -// private ServerConnector httpConnector; -// private ServerConnector httpsConnector; private Path tempDir; - // WebSocket - private ServerContainer wsServerContainer; - private ServerEndpointConfig.Configurator wsEndpointConfigurator; - - private CmsState cmsState; - - private Authenticator defaultAuthenticator; - protected void addServlets(ServletContextHandler servletContextHandler) throws ServletException { } @@ -73,53 +47,5 @@ public class CmsJettyServer extends JettyHttpServer { @Override protected void configureRootContextHandler(ServletContextHandler servletContextHandler) throws ServletException { addServlets(servletContextHandler); - enableWebSocket(servletContextHandler); - } - - @Override - public synchronized HttpContext createContext(String path) { - HttpContext httpContext = super.createContext(path); - httpContext.setAuthenticator(defaultAuthenticator); - return httpContext; - } - - protected void enableWebSocket(ServletContextHandler servletContextHandler) { - String webSocketEnabled = getDeployProperty(CmsDeployProperty.WEBSOCKET_ENABLED); - // web socket - if (webSocketEnabled != null && webSocketEnabled.equals(Boolean.toString(true))) { - JavaxWebSocketServletContainerInitializer.configure(servletContextHandler, new Configurator() { - - @Override - public void accept(ServletContext servletContext, ServerContainer serverContainer) - throws DeploymentException { - wsServerContainer = serverContainer; - - wsEndpointConfigurator = new CmsWebSocketConfigurator(); - - ServerEndpointConfig config = ServerEndpointConfig.Builder - .create(TestEndpoint.class, "/ws/test/events/").configurator(wsEndpointConfigurator) - .build(); - try { - wsServerContainer.addEndpoint(config); - } catch (DeploymentException e) { - throw new IllegalStateException("Cannot initalise the WebSocket server runtime.", e); - } - } - }); - } - } - - protected String getDeployProperty(CmsDeployProperty deployProperty) { - return cmsState.getDeployProperty(deployProperty.getProperty()); - } - - public void setCmsState(CmsState cmsState) { - this.cmsState = cmsState; - } - - public void setDefaultAuthenticator(Authenticator defaultAuthenticator) { - this.defaultAuthenticator = defaultAuthenticator; - } - }