1 package org
.argeo
.equinox
.jetty
;
3 import java
.util
.Dictionary
;
5 import javax
.servlet
.ServletContext
;
6 import javax
.websocket
.DeploymentException
;
7 import javax
.websocket
.server
.ServerContainer
;
9 import org
.eclipse
.equinox
.http
.jetty
.JettyCustomizer
;
10 import org
.eclipse
.jetty
.servlet
.ServletContextHandler
;
11 import org
.eclipse
.jetty
.websocket
.javax
.server
.config
.JavaxWebSocketServletContainerInitializer
;
12 import org
.eclipse
.jetty
.websocket
.javax
.server
.config
.JavaxWebSocketServletContainerInitializer
.Configurator
;
13 import org
.osgi
.framework
.BundleContext
;
14 import org
.osgi
.framework
.FrameworkUtil
;
16 /** Customises the Jetty HTTP server. */
17 public class CmsJettyCustomizer
extends JettyCustomizer
{
18 private BundleContext bc
= FrameworkUtil
.getBundle(CmsJettyCustomizer
.class).getBundleContext();
20 public final static String WEBSOCKET_ENABLED
= "argeo.websocket.enabled";
23 public Object
customizeContext(Object context
, Dictionary
<String
, ?
> settings
) {
25 Object webSocketEnabled
= settings
.get(WEBSOCKET_ENABLED
);
26 if (webSocketEnabled
!= null && webSocketEnabled
.toString().equals("true")) {
27 ServletContextHandler servletContextHandler
= (ServletContextHandler
) context
;
28 JavaxWebSocketServletContainerInitializer
.configure(servletContextHandler
, new Configurator() {
31 public void accept(ServletContext servletContext
, ServerContainer serverContainer
)
32 throws DeploymentException
{
33 bc
.registerService(javax
.websocket
.server
.ServerContainer
.class, serverContainer
, null);
37 return super.customizeContext(context
, settings
);