]> git.argeo.org Git - lgpl/argeo-commons.git/commitdiff
Experiment around Eclipse RAP v4
authorMathieu Baudier <mbaudier@argeo.org>
Mon, 23 Sep 2024 08:44:24 +0000 (10:44 +0200)
committerMathieu Baudier <mbaudier@argeo.org>
Mon, 23 Sep 2024 08:44:24 +0000 (10:44 +0200)
org.argeo.cms.lib.jetty/src/org/argeo/cms/jetty/JettyHttpServer.java
org.argeo.cms.lib.jetty/src/org/argeo/cms/jetty/ee10/CmsJettyServer.java
osgi/equinox/org.argeo.cms.lib.equinox/src/org/argeo/cms/equinox/http/jetty/EquinoxJettyServer.java
swt/rap/org.argeo.cms.swt.rap/src/org/argeo/cms/web/CmsWebApp.java

index 24cc7d306f7b496a6d69498eb957b7017ffd9f58..ae647fa7498efcab869ada3e8c29d860d8c10327 100644 (file)
@@ -413,6 +413,7 @@ public class JettyHttpServer extends HttpsServer {
        public static void main(String... args) {
                JettyHttpServer httpServer = new JettyHttpServer();
                System.setProperty("argeo.http.port", "8080");
+               httpServer.start();
 
                httpServer.createContext("/hello", (exchange) -> {
                        exchange.getResponseBody().write("Hello World!".getBytes());
@@ -430,6 +431,5 @@ public class JettyHttpServer extends HttpsServer {
                        sb.append(" relativePath=" + HttpServerUtils.relativize(exchange));
                        exchange.getResponseBody().write(sb.toString().getBytes());
                });
-               httpServer.start();
        }
 }
index ca8e5d8d0d4fb14f38fba4022744ac075a56bbc4..5fb7ebdf640a1b46d52a1726b47f562274de78ae 100644 (file)
@@ -45,6 +45,7 @@ public class CmsJettyServer extends JettyHttpServer {
                                Thread.currentThread().getContextClassLoader());
                servletContextHandler.setClassLoader(this.getClass().getClassLoader());
                servletContextHandler.setContextPath("/");
+               //servletContextHandler.setContextPath("/cms/user");
 
                servletContextHandler.setAttribute(CONTEXT_TEMPDIR, tempDir.toAbsolutePath().toFile());
                SessionHandler handler = new SessionHandler();
index a1b4c4ece019162a1bfc27d3c035ef37315b81cf..036e6bea8822945137432b7d16e566f21664f360 100644 (file)
@@ -4,6 +4,13 @@ import java.io.IOException;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 
+import org.argeo.api.cms.CmsLog;
+import org.argeo.cms.jetty.ee10.CmsJettyServer;
+import org.eclipse.jetty.ee10.servlet.ServletContextHandler;
+import org.eclipse.jetty.ee10.servlet.ServletHolder;
+import org.eclipse.jetty.ee10.servlet.SessionHandler;
+import org.eclipse.rap.http.servlet.HttpServiceServlet;
+
 import jakarta.servlet.Servlet;
 import jakarta.servlet.ServletConfig;
 import jakarta.servlet.ServletContext;
@@ -14,31 +21,26 @@ 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.ee10.CmsJettyServer;
-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. */
 public class EquinoxJettyServer extends CmsJettyServer {
        private final static CmsLog log = CmsLog.getLog(EquinoxJettyServer.class);
        private static final String INTERNAL_CONTEXT_CLASSLOADER = "org.eclipse.equinox.http.jetty.internal.ContextClassLoader";
 
        @Override
-       protected void addServlets(ServletContextHandler rootContextHandler) {
+       protected void addServlets(ServletContextHandler servletContextHandler) {
                try {
-                       ServletHolder holder = new ServletHolder(new InternalHttpServiceServlet());
+                       // servletContextHandler.setContextPath("/");
+                       // ServletHolder holder = new ServletHolder(new InternalHttpServiceServlet());
+                       ServletHolder holder = new ServletHolder(new HttpServiceServlet());
                        holder.setInitOrder(0);
-                       holder.setInitParameter(Constants.SERVICE_VENDOR, "Eclipse.org"); //$NON-NLS-1$
-                       holder.setInitParameter(Constants.SERVICE_DESCRIPTION, "Equinox Jetty-based Http Service"); //$NON-NLS-1$
+//                     holder.setInitParameter(Constants.SERVICE_VENDOR, "Eclipse.org"); //$NON-NLS-1$
+//                     holder.setInitParameter(Constants.SERVICE_DESCRIPTION, "Equinox Jetty-based Http Service"); //$NON-NLS-1$
 
-                       rootContextHandler.addServlet(holder, "/*");
+                       // holder.setInitParameter("osgi.http.endpoint","/cms/user");
+                       servletContextHandler.addServlet(holder, "/*");
 
                        // post-start
-                       SessionHandler sessionManager = rootContextHandler.getSessionHandler();
+                       SessionHandler sessionManager = servletContextHandler.getSessionHandler();
                        sessionManager.addEventListener((HttpSessionIdListener) holder.getServlet());
                } catch (ServletException e) {
                        throw new RuntimeException("Cannot add servlets", e);
index c4e9ca74951b4238ab0a98fa5c150957e16b8573..34afe757e59913f6bf230bbd6e94536543992184 100644 (file)
@@ -146,6 +146,7 @@ public class CmsWebApp implements ApplicationConfiguration, ExceptionHandler, Cm
 
        protected void publishWebApp() {
                Dictionary<String, Object> regProps = LangUtils.dict(CONTEXT_NAME, contextName);
+               //regProps.put("httpService.target", "(osgi.http.endpoint=/cms/user)");
                if (rwtAppReg != null)
                        rwtAppReg.unregister();
                if (bundleContext != null) {