From 221681f8ac70c35e54690a42fea73319a43deb06 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Thu, 7 Dec 2023 12:21:59 +0100 Subject: [PATCH] Adapt to changes in Argeo TP --- .../src/org/argeo/cms/jetty/CmsJettyServer.java | 8 ++++---- .../argeo/cms/jetty/ContextHandlerAttributes.java | 2 +- .../cms/jetty/ContextHandlerHttpContext.java | 15 +++++---------- .../src/org/argeo/cms/jetty/JettyHttpContext.java | 8 +------- .../src/org/argeo/cms/jetty/JettyHttpServer.java | 5 +++-- .../org/argeo/cms/jetty/ServletHttpContext.java | 4 ++-- osgi/equinox/org.argeo.cms.lib.equinox/bnd.bnd | 4 ++++ .../equinox/http/jetty/EquinoxJettyServer.java | 6 +++--- .../argeo/equinox/jetty/CmsJettyCustomizer.java | 6 +++--- 9 files changed, 26 insertions(+), 32 deletions(-) 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 b0b348d9c..8e6db220c 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 @@ -10,10 +10,10 @@ import javax.servlet.ServletException; import javax.websocket.DeploymentException; import javax.websocket.server.ServerContainer; -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; +import org.eclipse.jetty.ee8.nested.SessionHandler; +import org.eclipse.jetty.ee8.servlet.ServletContextHandler; +import org.eclipse.jetty.ee8.websocket.javax.server.config.JavaxWebSocketServletContainerInitializer; +import org.eclipse.jetty.ee8.websocket.javax.server.config.JavaxWebSocketServletContainerInitializer.Configurator; /** A {@link JettyHttpServer} which is compatible with Equinox servlets. */ public class CmsJettyServer extends JettyHttpServer { diff --git a/org.argeo.cms.lib.jetty/src/org/argeo/cms/jetty/ContextHandlerAttributes.java b/org.argeo.cms.lib.jetty/src/org/argeo/cms/jetty/ContextHandlerAttributes.java index 1e64fe075..4b4fe14ac 100644 --- a/org.argeo.cms.lib.jetty/src/org/argeo/cms/jetty/ContextHandlerAttributes.java +++ b/org.argeo.cms.lib.jetty/src/org/argeo/cms/jetty/ContextHandlerAttributes.java @@ -6,7 +6,7 @@ import java.util.HashSet; import java.util.Map; import java.util.Set; -import org.eclipse.jetty.server.handler.ContextHandler; +import org.eclipse.jetty.ee8.nested.ContextHandler; /** * A {@link Map} implementation wrapping the attributes of a Jetty diff --git a/org.argeo.cms.lib.jetty/src/org/argeo/cms/jetty/ContextHandlerHttpContext.java b/org.argeo.cms.lib.jetty/src/org/argeo/cms/jetty/ContextHandlerHttpContext.java index d6037ba8d..de2fa4486 100644 --- a/org.argeo.cms.lib.jetty/src/org/argeo/cms/jetty/ContextHandlerHttpContext.java +++ b/org.argeo.cms.lib.jetty/src/org/argeo/cms/jetty/ContextHandlerHttpContext.java @@ -1,10 +1,6 @@ package org.argeo.cms.jetty; -import java.util.AbstractMap; -import java.util.Enumeration; -import java.util.HashSet; import java.util.Map; -import java.util.Set; import javax.servlet.ServletContext; import javax.websocket.DeploymentException; @@ -12,12 +8,11 @@ import javax.websocket.server.ServerContainer; import org.argeo.cms.servlet.httpserver.HttpContextServlet; import org.argeo.cms.websocket.server.WebsocketEndpoints; -import org.eclipse.jetty.server.handler.ContextHandler; -import org.eclipse.jetty.server.session.SessionHandler; -import org.eclipse.jetty.servlet.ServletContextHandler; -import org.eclipse.jetty.servlet.ServletHolder; -import org.eclipse.jetty.websocket.javax.server.config.JavaxWebSocketServletContainerInitializer; -import org.eclipse.jetty.websocket.javax.server.config.JavaxWebSocketServletContainerInitializer.Configurator; +import org.eclipse.jetty.ee8.nested.SessionHandler; +import org.eclipse.jetty.ee8.servlet.ServletContextHandler; +import org.eclipse.jetty.ee8.servlet.ServletHolder; +import org.eclipse.jetty.ee8.websocket.javax.server.config.JavaxWebSocketServletContainerInitializer; +import org.eclipse.jetty.ee8.websocket.javax.server.config.JavaxWebSocketServletContainerInitializer.Configurator; import com.sun.net.httpserver.HttpHandler; diff --git a/org.argeo.cms.lib.jetty/src/org/argeo/cms/jetty/JettyHttpContext.java b/org.argeo.cms.lib.jetty/src/org/argeo/cms/jetty/JettyHttpContext.java index 551e54e05..c876f3dbe 100644 --- a/org.argeo.cms.lib.jetty/src/org/argeo/cms/jetty/JettyHttpContext.java +++ b/org.argeo.cms.lib.jetty/src/org/argeo/cms/jetty/JettyHttpContext.java @@ -4,14 +4,8 @@ import java.util.ArrayList; import java.util.List; import java.util.Objects; -import javax.servlet.ServletContext; -import javax.websocket.DeploymentException; -import javax.websocket.server.ServerContainer; - import org.argeo.cms.websocket.server.WebsocketEndpoints; -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; +import org.eclipse.jetty.ee8.servlet.ServletContextHandler; import com.sun.net.httpserver.Authenticator; import com.sun.net.httpserver.Filter; diff --git a/org.argeo.cms.lib.jetty/src/org/argeo/cms/jetty/JettyHttpServer.java b/org.argeo.cms.lib.jetty/src/org/argeo/cms/jetty/JettyHttpServer.java index 98975c3c8..74f0aaed3 100644 --- a/org.argeo.cms.lib.jetty/src/org/argeo/cms/jetty/JettyHttpServer.java +++ b/org.argeo.cms.lib.jetty/src/org/argeo/cms/jetty/JettyHttpServer.java @@ -16,6 +16,7 @@ import org.argeo.api.cms.CmsLog; import org.argeo.api.cms.CmsState; import org.argeo.cms.CmsDeployProperty; import org.argeo.cms.http.server.HttpServerUtils; +import org.eclipse.jetty.ee8.servlet.ServletContextHandler; import org.eclipse.jetty.http.UriCompliance; import org.eclipse.jetty.server.HttpConfiguration; import org.eclipse.jetty.server.HttpConnectionFactory; @@ -24,7 +25,6 @@ import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.ServerConnector; import org.eclipse.jetty.server.SslConnectionFactory; import org.eclipse.jetty.server.handler.ContextHandlerCollection; -import org.eclipse.jetty.servlet.ServletContextHandler; import org.eclipse.jetty.util.ssl.SslContextFactory; import org.eclipse.jetty.util.thread.ExecutorThreadPool; import org.eclipse.jetty.util.thread.QueuedThreadPool; @@ -278,7 +278,8 @@ public class JettyHttpServer extends HttpsServer { JettyHttpContext httpContext = contexts.remove(path); if (httpContext instanceof ContextHandlerHttpContext contextHandlerHttpContext) { // TODO stop handler first? - contextHandlerCollection.removeHandler(contextHandlerHttpContext.getServletContextHandler()); + // FIXME understand compatibility with Jetty 12 + //contextHandlerCollection.removeHandler(contextHandlerHttpContext.getServletContextHandler()); } else { // FIXME apparently servlets cannot be removed in Jetty, we should replace the // handler diff --git a/org.argeo.cms.lib.jetty/src/org/argeo/cms/jetty/ServletHttpContext.java b/org.argeo.cms.lib.jetty/src/org/argeo/cms/jetty/ServletHttpContext.java index b2a472b44..d5fec4a83 100644 --- a/org.argeo.cms.lib.jetty/src/org/argeo/cms/jetty/ServletHttpContext.java +++ b/org.argeo.cms.lib.jetty/src/org/argeo/cms/jetty/ServletHttpContext.java @@ -10,8 +10,8 @@ import javax.websocket.server.ServerContainer; import org.argeo.api.cms.CmsLog; import org.argeo.cms.servlet.httpserver.HttpContextServlet; import org.argeo.cms.websocket.server.WebsocketEndpoints; -import org.eclipse.jetty.servlet.ServletContextHandler; -import org.eclipse.jetty.servlet.ServletHolder; +import org.eclipse.jetty.ee8.servlet.ServletContextHandler; +import org.eclipse.jetty.ee8.servlet.ServletHolder; import com.sun.net.httpserver.HttpHandler; diff --git a/osgi/equinox/org.argeo.cms.lib.equinox/bnd.bnd b/osgi/equinox/org.argeo.cms.lib.equinox/bnd.bnd index 2ced2a26c..c0d2b8caf 100644 --- a/osgi/equinox/org.argeo.cms.lib.equinox/bnd.bnd +++ b/osgi/equinox/org.argeo.cms.lib.equinox/bnd.bnd @@ -1,2 +1,6 @@ Service-Component: \ OSGI-INF/equinoxJettyServer.xml,\ + +Import-Package:\ +org.eclipse.jetty.session,\ +* diff --git a/osgi/equinox/org.argeo.cms.lib.equinox/src/org/argeo/cms/equinox/http/jetty/EquinoxJettyServer.java b/osgi/equinox/org.argeo.cms.lib.equinox/src/org/argeo/cms/equinox/http/jetty/EquinoxJettyServer.java index e6595a05e..cd4d5cee8 100644 --- a/osgi/equinox/org.argeo.cms.lib.equinox/src/org/argeo/cms/equinox/http/jetty/EquinoxJettyServer.java +++ b/osgi/equinox/org.argeo.cms.lib.equinox/src/org/argeo/cms/equinox/http/jetty/EquinoxJettyServer.java @@ -16,9 +16,9 @@ import javax.servlet.http.HttpSessionListener; import org.argeo.cms.jetty.CmsJettyServer; import org.eclipse.equinox.http.servlet.HttpServiceServlet; -import org.eclipse.jetty.server.session.SessionHandler; -import org.eclipse.jetty.servlet.ServletContextHandler; -import org.eclipse.jetty.servlet.ServletHolder; +import org.eclipse.jetty.ee8.nested.SessionHandler; +import org.eclipse.jetty.ee8.servlet.ServletContextHandler; +import org.eclipse.jetty.ee8.servlet.ServletHolder; import org.osgi.framework.Constants; /** A {@link CmsJettyServer} integrating with Equinox HTTP framework. */ diff --git a/osgi/equinox/org.argeo.cms.lib.equinox/src/org/argeo/equinox/jetty/CmsJettyCustomizer.java b/osgi/equinox/org.argeo.cms.lib.equinox/src/org/argeo/equinox/jetty/CmsJettyCustomizer.java index 7be23fc0f..e10dcf0d1 100644 --- a/osgi/equinox/org.argeo.cms.lib.equinox/src/org/argeo/equinox/jetty/CmsJettyCustomizer.java +++ b/osgi/equinox/org.argeo.cms.lib.equinox/src/org/argeo/equinox/jetty/CmsJettyCustomizer.java @@ -10,10 +10,10 @@ import org.eclipse.equinox.http.jetty.JettyCustomizer; import org.eclipse.jetty.server.ConnectionFactory; import org.eclipse.jetty.server.ServerConnector; import org.eclipse.jetty.server.SslConnectionFactory; -import org.eclipse.jetty.servlet.ServletContextHandler; +import org.eclipse.jetty.ee8.servlet.ServletContextHandler; import org.eclipse.jetty.util.ssl.SslContextFactory; -import org.eclipse.jetty.websocket.javax.server.config.JavaxWebSocketServletContainerInitializer; -import org.eclipse.jetty.websocket.javax.server.config.JavaxWebSocketServletContainerInitializer.Configurator; +import org.eclipse.jetty.ee8.websocket.javax.server.config.JavaxWebSocketServletContainerInitializer; +import org.eclipse.jetty.ee8.websocket.javax.server.config.JavaxWebSocketServletContainerInitializer.Configurator; import org.osgi.framework.BundleContext; import org.osgi.framework.FrameworkUtil; -- 2.30.2