You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by or...@apache.org on 2022/09/09 13:19:23 UTC

[camel] 01/03: CAMEL-18456: added support for naming servlets on camel-test-infra-jetty

This is an automated email from the ASF dual-hosted git repository.

orpiske pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 69746a0f001ea63b4ec306016f09f4e27705dbc0
Author: Otavio Rodolfo Piske <an...@gmail.com>
AuthorDate: Thu Sep 8 16:07:55 2022 +0200

    CAMEL-18456: added support for naming servlets on camel-test-infra-jetty
---
 .../infra/jetty/services/JettyConfiguration.java   | 37 ++++++++++++++++++++++
 1 file changed, 37 insertions(+)

diff --git a/test-infra/camel-test-infra-jetty/src/test/java/org/apache/camel/test/infra/jetty/services/JettyConfiguration.java b/test-infra/camel-test-infra-jetty/src/test/java/org/apache/camel/test/infra/jetty/services/JettyConfiguration.java
index 22d11728d45..ac67fafe671 100644
--- a/test-infra/camel-test-infra-jetty/src/test/java/org/apache/camel/test/infra/jetty/services/JettyConfiguration.java
+++ b/test-infra/camel-test-infra-jetty/src/test/java/org/apache/camel/test/infra/jetty/services/JettyConfiguration.java
@@ -19,7 +19,9 @@ package org.apache.camel.test.infra.jetty.services;
 
 import java.util.ArrayList;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import javax.net.ssl.SSLContext;
 import javax.servlet.Servlet;
@@ -42,10 +44,19 @@ public class JettyConfiguration {
 
         private final T servlet;
         private final String pathSpec;
+        private Map<String, String> initParameters = new HashMap<>();
+        private String name;
 
         public ServletConfiguration(T servlet, String pathSpec) {
             this.servlet = servlet;
             this.pathSpec = pathSpec;
+            this.name = null;
+        }
+
+        public ServletConfiguration(T servlet, String pathSpec, String name) {
+            this.servlet = servlet;
+            this.pathSpec = pathSpec;
+            this.name = name;
         }
 
         public T getServlet() {
@@ -56,13 +67,39 @@ public class JettyConfiguration {
             return pathSpec;
         }
 
+        public void addInitParameter(String param, String value) {
+            initParameters.put(param, value);
+        }
+
+        public Map<String, String> getInitParameters() {
+            return Collections.unmodifiableMap(initParameters);
+        }
+
         public ServletHolder buildServletHolder() {
+            ServletHolder servletHolder = resolveServletHolder();
+
+            if (!initParameters.isEmpty()) {
+                servletHolder.setInitParameters(initParameters);
+            }
+
+            return servletHolder;
+        }
+
+        public String getName() {
+            return name;
+        }
+
+        private ServletHolder resolveServletHolder() {
             if (servlet instanceof ServletHolder) {
                 return (ServletHolder) servlet;
             }
 
             ServletHolder servletHolder = new ServletHolder();
 
+            if (name != null) {
+                servletHolder.setName(name);
+            }
+
             if (servlet instanceof String) {
                 servletHolder.setClassName((String) servlet);
             } else {