From: Mathieu Baudier Date: Mon, 16 Sep 2024 11:02:06 +0000 (+0200) Subject: Adapt to changes in Argeo TP X-Git-Url: https://git.argeo.org/?a=commitdiff_plain;h=4484c3bd294649a79a441322c0c3423ba8a40f78;p=lgpl%2Fargeo-commons.git Adapt to changes in Argeo TP --- diff --git a/org.argeo.cms.ee/src/org/argeo/cms/servlet/CmsServletContext.java b/org.argeo.cms.ee/src/org/argeo/cms/servlet/CmsServletContext.java index d3c0eb540..3827a6d59 100644 --- a/org.argeo.cms.ee/src/org/argeo/cms/servlet/CmsServletContext.java +++ b/org.argeo.cms.ee/src/org/argeo/cms/servlet/CmsServletContext.java @@ -6,8 +6,8 @@ import java.util.Map; import javax.security.auth.login.LoginContext; import javax.security.auth.login.LoginException; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import org.argeo.api.cms.CmsAuth; import org.argeo.api.cms.CmsLog; @@ -40,7 +40,7 @@ public class CmsServletContext extends ServletContextHelper { } - @Override +// @Override public boolean handleSecurity(HttpServletRequest request, HttpServletResponse response) throws IOException { if (log.isTraceEnabled()) HttpUtils.logRequestHeaders(log, request); diff --git a/org.argeo.cms.ee/src/org/argeo/cms/servlet/ServletHttpRequest.java b/org.argeo.cms.ee/src/org/argeo/cms/servlet/ServletHttpRequest.java index 54c880435..5bed2ae83 100644 --- a/org.argeo.cms.ee/src/org/argeo/cms/servlet/ServletHttpRequest.java +++ b/org.argeo.cms.ee/src/org/argeo/cms/servlet/ServletHttpRequest.java @@ -3,8 +3,8 @@ package org.argeo.cms.servlet; import java.util.Locale; import java.util.Objects; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpSession; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpSession; import org.argeo.cms.auth.RemoteAuthRequest; import org.argeo.cms.auth.RemoteAuthSession; diff --git a/org.argeo.cms.ee/src/org/argeo/cms/servlet/ServletHttpResponse.java b/org.argeo.cms.ee/src/org/argeo/cms/servlet/ServletHttpResponse.java index 0c600e54b..2b3722bfe 100644 --- a/org.argeo.cms.ee/src/org/argeo/cms/servlet/ServletHttpResponse.java +++ b/org.argeo.cms.ee/src/org/argeo/cms/servlet/ServletHttpResponse.java @@ -2,7 +2,7 @@ package org.argeo.cms.servlet; import java.util.Objects; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletResponse; import org.argeo.cms.auth.RemoteAuthResponse; diff --git a/org.argeo.cms.ee/src/org/argeo/cms/servlet/ServletHttpSession.java b/org.argeo.cms.ee/src/org/argeo/cms/servlet/ServletHttpSession.java index 8d087daa7..afd81603d 100644 --- a/org.argeo.cms.ee/src/org/argeo/cms/servlet/ServletHttpSession.java +++ b/org.argeo.cms.ee/src/org/argeo/cms/servlet/ServletHttpSession.java @@ -3,9 +3,9 @@ package org.argeo.cms.servlet; import org.argeo.cms.auth.RemoteAuthSession; public class ServletHttpSession implements RemoteAuthSession { - private javax.servlet.http.HttpSession session; + private jakarta.servlet.http.HttpSession session; - public ServletHttpSession(javax.servlet.http.HttpSession session) { + public ServletHttpSession(jakarta.servlet.http.HttpSession session) { super(); this.session = session; } diff --git a/org.argeo.cms.ee/src/org/argeo/cms/servlet/httpserver/HttpContextServlet.java b/org.argeo.cms.ee/src/org/argeo/cms/servlet/httpserver/HttpContextServlet.java index 63d59a88d..ff49879f7 100644 --- a/org.argeo.cms.ee/src/org/argeo/cms/servlet/httpserver/HttpContextServlet.java +++ b/org.argeo.cms.ee/src/org/argeo/cms/servlet/httpserver/HttpContextServlet.java @@ -2,10 +2,10 @@ package org.argeo.cms.servlet.httpserver; import java.io.IOException; -import javax.servlet.ServletException; -import javax.servlet.http.HttpServlet; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.ServletException; +import jakarta.servlet.http.HttpServlet; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import org.argeo.cms.auth.RemoteAuthSession; import org.argeo.cms.servlet.ServletHttpSession; diff --git a/org.argeo.cms.ee/src/org/argeo/cms/servlet/httpserver/ServletHttpExchange.java b/org.argeo.cms.ee/src/org/argeo/cms/servlet/httpserver/ServletHttpExchange.java index 85553f01c..ed40045d5 100644 --- a/org.argeo.cms.ee/src/org/argeo/cms/servlet/httpserver/ServletHttpExchange.java +++ b/org.argeo.cms.ee/src/org/argeo/cms/servlet/httpserver/ServletHttpExchange.java @@ -15,8 +15,8 @@ import java.util.Map; import java.util.StringJoiner; import javax.net.ssl.SSLSession; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import com.sun.net.httpserver.Headers; import com.sun.net.httpserver.HttpContext; diff --git a/org.argeo.cms.ee/src/org/argeo/cms/servlet/internal/HttpUtils.java b/org.argeo.cms.ee/src/org/argeo/cms/servlet/internal/HttpUtils.java index f0e11f8b9..01c5adaf0 100644 --- a/org.argeo.cms.ee/src/org/argeo/cms/servlet/internal/HttpUtils.java +++ b/org.argeo.cms.ee/src/org/argeo/cms/servlet/internal/HttpUtils.java @@ -2,8 +2,8 @@ package org.argeo.cms.servlet.internal; import java.util.Enumeration; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; import org.argeo.api.cms.CmsLog; diff --git a/org.argeo.cms.ee/src/org/argeo/cms/servlet/javax/JavaxServletHttpRequest.java b/org.argeo.cms.ee/src/org/argeo/cms/servlet/javax/JavaxServletHttpRequest.java new file mode 100644 index 000000000..a203011d9 --- /dev/null +++ b/org.argeo.cms.ee/src/org/argeo/cms/servlet/javax/JavaxServletHttpRequest.java @@ -0,0 +1,67 @@ +package org.argeo.cms.servlet.javax; + +import java.util.Locale; +import java.util.Objects; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpSession; + +import org.argeo.cms.auth.RemoteAuthRequest; +import org.argeo.cms.auth.RemoteAuthSession; + +public class JavaxServletHttpRequest implements RemoteAuthRequest { + private final HttpServletRequest request; + + public JavaxServletHttpRequest(HttpServletRequest request) { + Objects.requireNonNull(request); + this.request = request; + } + + @Override + public RemoteAuthSession getSession() { + HttpSession httpSession = request.getSession(false); + if (httpSession == null) + return null; + return new JavaxServletHttpSession(httpSession); + } + + @Override + public RemoteAuthSession createSession() { + return new JavaxServletHttpSession(request.getSession(true)); + } + + @Override + public Locale getLocale() { + return request.getLocale(); + } + + @Override + public Object getAttribute(String key) { + return request.getAttribute(key); + } + + @Override + public void setAttribute(String key, Object object) { + request.setAttribute(key, object); + } + + @Override + public String getHeader(String key) { + return request.getHeader(key); + } + + @Override + public String getRemoteAddr() { + return request.getRemoteAddr(); + } + + @Override + public int getLocalPort() { + return request.getLocalPort(); + } + + @Override + public int getRemotePort() { + return request.getRemotePort(); + } +} diff --git a/org.argeo.cms.ee/src/org/argeo/cms/servlet/javax/JavaxServletHttpSession.java b/org.argeo.cms.ee/src/org/argeo/cms/servlet/javax/JavaxServletHttpSession.java new file mode 100644 index 000000000..b1de27474 --- /dev/null +++ b/org.argeo.cms.ee/src/org/argeo/cms/servlet/javax/JavaxServletHttpSession.java @@ -0,0 +1,30 @@ +package org.argeo.cms.servlet.javax; + +import javax.servlet.http.HttpSession; + +import org.argeo.cms.auth.RemoteAuthSession; + +public class JavaxServletHttpSession implements RemoteAuthSession { + private HttpSession session; + + public JavaxServletHttpSession(HttpSession session) { + super(); + this.session = session; + } + + @Override + public boolean isValid() { + try {// test http session + session.getCreationTime(); + return true; + } catch (IllegalStateException ise) { + return false; + } + } + + @Override + public String getId() { + return session.getId(); + } + +} diff --git a/org.argeo.cms.ee/src/org/argeo/cms/websocket/server/CmsWebSocketConfigurator.java b/org.argeo.cms.ee/src/org/argeo/cms/websocket/server/CmsWebSocketConfigurator.java index 4dfdc5d21..74fe9fc9b 100644 --- a/org.argeo.cms.ee/src/org/argeo/cms/websocket/server/CmsWebSocketConfigurator.java +++ b/org.argeo.cms.ee/src/org/argeo/cms/websocket/server/CmsWebSocketConfigurator.java @@ -5,11 +5,11 @@ import java.util.List; import javax.security.auth.login.LoginContext; import javax.security.auth.login.LoginException; -import javax.websocket.Extension; -import javax.websocket.HandshakeResponse; -import javax.websocket.server.HandshakeRequest; -import javax.websocket.server.ServerEndpointConfig; -import javax.websocket.server.ServerEndpointConfig.Configurator; +import jakarta.websocket.Extension; +import jakarta.websocket.HandshakeResponse; +import jakarta.websocket.server.HandshakeRequest; +import jakarta.websocket.server.ServerEndpointConfig; +import jakarta.websocket.server.ServerEndpointConfig.Configurator; import org.argeo.api.cms.CmsAuth; import org.argeo.api.cms.CmsLog; diff --git a/org.argeo.cms.ee/src/org/argeo/cms/websocket/server/EventEndpoint.java b/org.argeo.cms.ee/src/org/argeo/cms/websocket/server/EventEndpoint.java index c0dc97754..27415dd45 100644 --- a/org.argeo.cms.ee/src/org/argeo/cms/websocket/server/EventEndpoint.java +++ b/org.argeo.cms.ee/src/org/argeo/cms/websocket/server/EventEndpoint.java @@ -4,13 +4,13 @@ import java.io.IOException; import java.nio.channels.ClosedChannelException; import java.util.Map; -import javax.websocket.OnClose; -import javax.websocket.OnError; -import javax.websocket.OnOpen; -import javax.websocket.RemoteEndpoint; -import javax.websocket.Session; -import javax.websocket.server.PathParam; -import javax.websocket.server.ServerEndpoint; +import jakarta.websocket.OnClose; +import jakarta.websocket.OnError; +import jakarta.websocket.OnOpen; +import jakarta.websocket.RemoteEndpoint; +import jakarta.websocket.Session; +import jakarta.websocket.server.PathParam; +import jakarta.websocket.server.ServerEndpoint; import org.argeo.api.cms.CmsEventBus; import org.argeo.api.cms.CmsEventSubscriber; diff --git a/org.argeo.cms.ee/src/org/argeo/cms/websocket/server/PingEndpoint.java b/org.argeo.cms.ee/src/org/argeo/cms/websocket/server/PingEndpoint.java index dcbce67b1..4fb6bc711 100644 --- a/org.argeo.cms.ee/src/org/argeo/cms/websocket/server/PingEndpoint.java +++ b/org.argeo.cms.ee/src/org/argeo/cms/websocket/server/PingEndpoint.java @@ -2,8 +2,8 @@ package org.argeo.cms.websocket.server; import java.nio.channels.ClosedChannelException; -import javax.websocket.OnError; -import javax.websocket.server.ServerEndpoint; +import jakarta.websocket.OnError; +import jakarta.websocket.server.ServerEndpoint; import org.argeo.api.cms.CmsLog; diff --git a/org.argeo.cms.ee/src/org/argeo/cms/websocket/server/WebSocketHandshakeRequest.java b/org.argeo.cms.ee/src/org/argeo/cms/websocket/server/WebSocketHandshakeRequest.java index 31bcf9298..11eba73c0 100644 --- a/org.argeo.cms.ee/src/org/argeo/cms/websocket/server/WebSocketHandshakeRequest.java +++ b/org.argeo.cms.ee/src/org/argeo/cms/websocket/server/WebSocketHandshakeRequest.java @@ -6,8 +6,8 @@ import java.util.Locale; import java.util.Map; import java.util.Objects; -import javax.servlet.http.HttpSession; -import javax.websocket.server.HandshakeRequest; +import jakarta.servlet.http.HttpSession; +import jakarta.websocket.server.HandshakeRequest; import org.argeo.cms.auth.RemoteAuthRequest; import org.argeo.cms.auth.RemoteAuthSession; diff --git a/org.argeo.cms.ee/src/org/argeo/cms/websocket/server/WebSocketHandshakeResponse.java b/org.argeo.cms.ee/src/org/argeo/cms/websocket/server/WebSocketHandshakeResponse.java index b003c6372..973051cb6 100644 --- a/org.argeo.cms.ee/src/org/argeo/cms/websocket/server/WebSocketHandshakeResponse.java +++ b/org.argeo.cms.ee/src/org/argeo/cms/websocket/server/WebSocketHandshakeResponse.java @@ -4,7 +4,7 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; -import javax.websocket.HandshakeResponse; +import jakarta.websocket.HandshakeResponse; import org.argeo.cms.auth.RemoteAuthResponse; diff --git a/org.argeo.cms.lib.jetty/bnd.bnd b/org.argeo.cms.lib.jetty/bnd.bnd index 171059dfa..8fd0b570d 100644 --- a/org.argeo.cms.lib.jetty/bnd.bnd +++ b/org.argeo.cms.lib.jetty/bnd.bnd @@ -1,5 +1,6 @@ Import-Package: \ javax.servlet.http,\ org.eclipse.jetty.server.handler,\ +org.eclipse.jetty.util,\ org.eclipse.jetty.util.component,\ * \ No newline at end of file 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 8e6db220c..6bbc79928 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 @@ -5,15 +5,15 @@ import java.nio.file.Files; import java.nio.file.Path; import java.util.concurrent.CompletableFuture; -import javax.servlet.ServletContext; -import javax.servlet.ServletException; -import javax.websocket.DeploymentException; -import javax.websocket.server.ServerContainer; +import org.eclipse.jetty.ee10.servlet.ServletContextHandler; +import org.eclipse.jetty.ee10.servlet.SessionHandler; +import org.eclipse.jetty.ee10.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer.Configurator; +import org.eclipse.jetty.ee10.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer; -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; +import jakarta.servlet.ServletContext; +import jakarta.servlet.ServletException; +import jakarta.websocket.DeploymentException; +import jakarta.websocket.server.ServerContainer; /** A {@link JettyHttpServer} which is compatible with Equinox servlets. */ public class CmsJettyServer extends JettyHttpServer { @@ -47,10 +47,11 @@ public class CmsJettyServer extends JettyHttpServer { servletContextHandler.setAttribute(CONTEXT_TEMPDIR, tempDir.toAbsolutePath().toFile()); SessionHandler handler = new SessionHandler(); - handler.setMaxInactiveInterval(-1); + // FIXME deal with long running session + // handler.setMaxInactiveInterval(-1); servletContextHandler.setSessionHandler(handler); - JavaxWebSocketServletContainerInitializer.configure(servletContextHandler, new Configurator() { + JakartaWebSocketServletContainerInitializer.configure(servletContextHandler, new Configurator() { @Override public void accept(ServletContext servletContext, ServerContainer serverContainer) 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 4b4fe14ac..105aa2945 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 @@ -1,12 +1,11 @@ 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 org.eclipse.jetty.ee8.nested.ContextHandler; +import org.eclipse.jetty.server.handler.ContextHandler; /** * A {@link Map} implementation wrapping the attributes of a Jetty @@ -23,8 +22,12 @@ class ContextHandlerAttributes extends AbstractMap { @Override public Set> entrySet() { Set> entries = new HashSet<>(); - for (Enumeration keys = contextHandler.getAttributeNames(); keys.hasMoreElements();) { - entries.add(new ContextAttributeEntry(keys.nextElement())); + // Jetty ee8 +// for (Enumeration keys = contextHandler.getAttributeNames(); keys.hasMoreElements();) { +// entries.add(new ContextAttributeEntry(keys.nextElement())); +// } + for (String key : contextHandler.asAttributeMap().keySet()) { + entries.add(new ContextAttributeEntry(key)); } return entries; } 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 de2fa4486..5e0cb4c23 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 @@ -2,17 +2,17 @@ package org.argeo.cms.jetty; import java.util.Map; -import javax.servlet.ServletContext; -import javax.websocket.DeploymentException; -import javax.websocket.server.ServerContainer; +import jakarta.servlet.ServletContext; +import jakarta.websocket.DeploymentException; +import jakarta.websocket.server.ServerContainer; import org.argeo.cms.servlet.httpserver.HttpContextServlet; import org.argeo.cms.websocket.server.WebsocketEndpoints; -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 org.eclipse.jetty.ee10.servlet.SessionHandler; +import org.eclipse.jetty.ee10.servlet.ServletContextHandler; +import org.eclipse.jetty.ee10.servlet.ServletHolder; +import org.eclipse.jetty.ee10.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer; +import org.eclipse.jetty.ee10.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer.Configurator; import com.sun.net.httpserver.HttpHandler; @@ -34,7 +34,8 @@ class ContextHandlerHttpContext extends JettyHttpContext { servletContextHandler.addServlet(new ServletHolder(servlet), "/*"); SessionHandler sessionHandler = new SessionHandler(); // FIXME find a better default - sessionHandler.setMaxInactiveInterval(-1); + // FIXME find out how to have long-running sessions + // sessionHandler.setMaxInactiveInterval(-1); servletContextHandler.setSessionHandler(sessionHandler); attributes = new ContextHandlerAttributes(servletContextHandler); @@ -46,7 +47,7 @@ class ContextHandlerHttpContext extends JettyHttpContext { // web socket if (handler instanceof WebsocketEndpoints) { - JavaxWebSocketServletContainerInitializer.configure(servletContextHandler, new Configurator() { + JakartaWebSocketServletContainerInitializer.configure(servletContextHandler, new Configurator() { @Override public void accept(ServletContext servletContext, ServerContainer serverContainer) 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 c876f3dbe..3aae466bb 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 @@ -5,7 +5,7 @@ import java.util.List; import java.util.Objects; import org.argeo.cms.websocket.server.WebsocketEndpoints; -import org.eclipse.jetty.ee8.servlet.ServletContextHandler; +import org.eclipse.jetty.ee10.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 4e91ea41c..dbdbdc7cc 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 @@ -9,14 +9,14 @@ import java.util.concurrent.Executor; import java.util.concurrent.ThreadPoolExecutor; import javax.net.ssl.SSLContext; -import javax.servlet.ServletException; -import javax.websocket.server.ServerContainer; +import jakarta.servlet.ServletException; +import jakarta.websocket.server.ServerContainer; 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.ee10.servlet.ServletContextHandler; import org.eclipse.jetty.http.UriCompliance; import org.eclipse.jetty.server.HttpConfiguration; import org.eclipse.jetty.server.HttpConnectionFactory; 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 d5fec4a83..987e5df0d 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 @@ -4,14 +4,14 @@ import java.util.Collections; import java.util.HashMap; import java.util.Map; -import javax.websocket.DeploymentException; -import javax.websocket.server.ServerContainer; +import jakarta.websocket.DeploymentException; +import jakarta.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.ee8.servlet.ServletContextHandler; -import org.eclipse.jetty.ee8.servlet.ServletHolder; +import org.eclipse.jetty.ee10.servlet.ServletContextHandler; +import org.eclipse.jetty.ee10.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 c0d2b8caf..ea6be5c9e 100644 --- a/osgi/equinox/org.argeo.cms.lib.equinox/bnd.bnd +++ b/osgi/equinox/org.argeo.cms.lib.equinox/bnd.bnd @@ -3,4 +3,5 @@ OSGI-INF/equinoxJettyServer.xml,\ Import-Package:\ org.eclipse.jetty.session,\ +org.eclipse.jetty.server,\ * 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 935be167a..bbc5b4d99 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 @@ -4,22 +4,22 @@ import java.io.IOException; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; -import javax.servlet.Servlet; -import javax.servlet.ServletConfig; -import javax.servlet.ServletContext; -import javax.servlet.ServletException; -import javax.servlet.ServletRequest; -import javax.servlet.ServletResponse; -import javax.servlet.http.HttpSessionEvent; -import javax.servlet.http.HttpSessionIdListener; -import javax.servlet.http.HttpSessionListener; +import jakarta.servlet.Servlet; +import jakarta.servlet.ServletConfig; +import jakarta.servlet.ServletContext; +import jakarta.servlet.ServletException; +import jakarta.servlet.ServletRequest; +import jakarta.servlet.ServletResponse; +import jakarta.servlet.http.HttpSessionEvent; +import jakarta.servlet.http.HttpSessionIdListener; +import jakarta.servlet.http.HttpSessionListener; import org.argeo.api.cms.CmsLog; import org.argeo.cms.jetty.CmsJettyServer; -import org.eclipse.equinox.http.servlet.HttpServiceServlet; -import org.eclipse.jetty.ee8.nested.SessionHandler; -import org.eclipse.jetty.ee8.servlet.ServletContextHandler; -import org.eclipse.jetty.ee8.servlet.ServletHolder; +import org.eclipse.rap.http.servlet.HttpServiceServlet; +import org.eclipse.jetty.ee10.servlet.SessionHandler; +import org.eclipse.jetty.ee10.servlet.ServletContextHandler; +import org.eclipse.jetty.ee10.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/cms/servlet/internal/jetty/JettyConfig.java b/osgi/equinox/org.argeo.cms.lib.equinox/src/org/argeo/cms/servlet/internal/jetty/JettyConfig.java index 71236ee1d..7cef04e26 100644 --- a/osgi/equinox/org.argeo.cms.lib.equinox/src/org/argeo/cms/servlet/internal/jetty/JettyConfig.java +++ b/osgi/equinox/org.argeo.cms.lib.equinox/src/org/argeo/cms/servlet/internal/jetty/JettyConfig.java @@ -6,7 +6,7 @@ import java.util.Hashtable; import java.util.Map; import java.util.concurrent.ForkJoinPool; -import javax.websocket.server.ServerEndpointConfig; +import jakarta.websocket.server.ServerEndpointConfig; import org.argeo.api.cms.CmsConstants; import org.argeo.api.cms.CmsLog; @@ -14,7 +14,7 @@ import org.argeo.api.cms.CmsState; import org.argeo.cms.CmsDeployProperty; import org.argeo.cms.util.LangUtils; import org.argeo.cms.websocket.server.CmsWebSocketConfigurator; -import org.eclipse.equinox.http.jetty.JettyConfigurator; +import org.eclipse.rap.http.jetty.JettyConfigurator; import org.osgi.framework.BundleContext; import org.osgi.framework.Constants; import org.osgi.framework.FrameworkUtil; 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 e10dcf0d1..7bad629c2 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 @@ -2,18 +2,18 @@ package org.argeo.equinox.jetty; import java.util.Dictionary; -import javax.servlet.ServletContext; -import javax.websocket.DeploymentException; -import javax.websocket.server.ServerContainer; +import jakarta.servlet.ServletContext; +import jakarta.websocket.DeploymentException; +import jakarta.websocket.server.ServerContainer; -import org.eclipse.equinox.http.jetty.JettyCustomizer; +import org.eclipse.rap.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.ee8.servlet.ServletContextHandler; +import org.eclipse.jetty.ee10.servlet.ServletContextHandler; import org.eclipse.jetty.util.ssl.SslContextFactory; -import org.eclipse.jetty.ee8.websocket.javax.server.config.JavaxWebSocketServletContainerInitializer; -import org.eclipse.jetty.ee8.websocket.javax.server.config.JavaxWebSocketServletContainerInitializer.Configurator; +import org.eclipse.jetty.ee10.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer; +import org.eclipse.jetty.ee10.websocket.jakarta.server.config.JakartaWebSocketServletContainerInitializer.Configurator; import org.osgi.framework.BundleContext; import org.osgi.framework.FrameworkUtil; @@ -33,12 +33,12 @@ public class CmsJettyCustomizer extends JettyCustomizer { Object webSocketEnabled = settings.get(WEBSOCKET_ENABLED); if (webSocketEnabled != null && webSocketEnabled.toString().equals("true")) { ServletContextHandler servletContextHandler = (ServletContextHandler) context; - JavaxWebSocketServletContainerInitializer.configure(servletContextHandler, new Configurator() { + JakartaWebSocketServletContainerInitializer.configure(servletContextHandler, new Configurator() { @Override public void accept(ServletContext servletContext, ServerContainer serverContainer) throws DeploymentException { - bc.registerService(javax.websocket.server.ServerContainer.class, serverContainer, null); + bc.registerService(jakarta.websocket.server.ServerContainer.class, serverContainer, null); } }); } diff --git a/swt/rap/org.argeo.swt.specific.rap/src/org/argeo/eclipse/ui/specific/UiContext.java b/swt/rap/org.argeo.swt.specific.rap/src/org/argeo/eclipse/ui/specific/UiContext.java index 698fe2080..4b8f9cd1a 100644 --- a/swt/rap/org.argeo.swt.specific.rap/src/org/argeo/eclipse/ui/specific/UiContext.java +++ b/swt/rap/org.argeo.swt.specific.rap/src/org/argeo/eclipse/ui/specific/UiContext.java @@ -2,9 +2,9 @@ package org.argeo.eclipse.ui.specific; import java.util.Locale; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpSessionBindingListener; +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import jakarta.servlet.http.HttpSessionBindingListener; import org.eclipse.rap.rwt.RWT; import org.eclipse.rap.rwt.service.UISession;