1 package org
.argeo
.equinox
.jetty
;
3 import java
.util
.Dictionary
;
5 import javax
.servlet
.ServletContext
;
6 import javax
.websocket
.DeploymentException
;
8 import org
.eclipse
.equinox
.http
.jetty
.JettyCustomizer
;
9 import org
.eclipse
.jetty
.servlet
.ServletContextHandler
;
10 import org
.eclipse
.jetty
.websocket
.jsr356
.server
.ServerContainer
;
11 import org
.eclipse
.jetty
.websocket
.jsr356
.server
.deploy
.WebSocketServerContainerInitializer
;
12 import org
.eclipse
.jetty
.websocket
.jsr356
.server
.deploy
.WebSocketServerContainerInitializer
.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();
21 public Object
customizeContext(Object context
, Dictionary
<String
, ?
> settings
) {
23 Object webSocketEnabled
= settings
.get("websocket.enabled");
24 if (webSocketEnabled
== null) {
25 webSocketEnabled
= bc
.getProperty("org.eclipse.equinox.http.jetty.websocket.enabled");
27 if (webSocketEnabled
!= null && webSocketEnabled
.toString().equals("true")) {
28 ServletContextHandler servletContextHandler
= (ServletContextHandler
) context
;
29 WebSocketServerContainerInitializer
.configure(servletContextHandler
, new Configurator() {
32 public void accept(ServletContext servletContext
, ServerContainer serverContainer
)
33 throws DeploymentException
{
34 bc
.registerService(javax
.websocket
.server
.ServerContainer
.class, serverContainer
, null);
38 return super.customizeContext(context
, settings
);