This is an automated email from the ASF dual-hosted git repository.
hansva pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/hop.git
The following commit(s) were added to refs/heads/main by this push:
new 557533df83 upgrade jetty to 12.1.2 (#5859)
557533df83 is described below
commit 557533df835561baf8badf5b1423db2526881b2a
Author: Alex Mueller <[email protected]>
AuthorDate: Wed Oct 22 15:33:41 2025 +0200
upgrade jetty to 12.1.2 (#5859)
fix static assets not showing in hop-server, because relative resource path
cannot be resolved
upgrade jetty to 11.0.26
fix replace swt.artifactId in rcp/pom.xml
upgrade jetty to 10.0.26
fix jetty 10.0.6 returning "Invalid PathInContext" error by re-ordering
handlers
fix jetty 10.0.7 returning "Forbidden (HTTP 403)" status by setting auth
method on SecurityHandler
---
assemblies/web/pom.xml | 2 +-
engine-beam/pom.xml | 5 ++
engine/pom.xml | 62 ++++++++++++++----
.../java/org/apache/hop/pipeline/Pipeline.java | 4 +-
.../java/org/apache/hop/www/AddExportServlet.java | 6 +-
.../org/apache/hop/www/AddPipelineServlet.java | 6 +-
.../org/apache/hop/www/AddWorkflowServlet.java | 6 +-
.../org/apache/hop/www/BaseHopServerPlugin.java | 4 +-
.../java/org/apache/hop/www/BaseHttpServlet.java | 8 +--
.../java/org/apache/hop/www/BodyHttpServlet.java | 4 +-
.../apache/hop/www/DeleteExecutionInfoServlet.java | 6 +-
.../apache/hop/www/GetExecutionInfoServlet.java | 6 +-
.../apache/hop/www/GetPipelineImageServlet.java | 6 +-
.../apache/hop/www/GetPipelineStatusServlet.java | 6 +-
.../java/org/apache/hop/www/GetRootServlet.java | 6 +-
.../java/org/apache/hop/www/GetStatusServlet.java | 6 +-
.../apache/hop/www/GetWorkflowImageServlet.java | 6 +-
.../apache/hop/www/GetWorkflowStatusServlet.java | 6 +-
.../main/java/org/apache/hop/www/HopServer.java | 6 +-
.../java/org/apache/hop/www/HopServerServlet.java | 10 +--
.../java/org/apache/hop/www/IHopServerPlugin.java | 4 +-
.../org/apache/hop/www/PausePipelineServlet.java | 6 +-
.../hop/www/PrepareExecutionPipelineServlet.java | 6 +-
.../hop/www/RegisterExecutionInfoServlet.java | 6 +-
.../org/apache/hop/www/RegisterPackageServlet.java | 4 +-
.../apache/hop/www/RegisterPipelineServlet.java | 4 +-
.../apache/hop/www/RegisterWorkflowServlet.java | 4 +-
.../org/apache/hop/www/RemovePipelineServlet.java | 6 +-
.../org/apache/hop/www/RemoveWorkflowServlet.java | 6 +-
.../org/apache/hop/www/SniffTransformServlet.java | 6 +-
.../hop/www/StartExecutionPipelineServlet.java | 6 +-
.../org/apache/hop/www/StartPipelineServlet.java | 6 +-
.../org/apache/hop/www/StartWorkflowServlet.java | 6 +-
.../org/apache/hop/www/StopPipelineServlet.java | 6 +-
.../org/apache/hop/www/StopWorkflowServlet.java | 6 +-
.../main/java/org/apache/hop/www/WebServer.java | 76 +++++++++++-----------
.../java/org/apache/hop/www/WebServiceServlet.java | 6 +-
.../apache/hop/www/jaxrs/HopServerResource.java | 8 +--
.../org/apache/hop/www/jaxrs/PipelineResource.java | 14 ++--
.../org/apache/hop/www/jaxrs/WorkflowResource.java | 14 ++--
.../apache/hop/www/BaseHopServerPluginTest.java | 7 +-
.../hop/www/GetPipelineStatusServletTest.java | 6 +-
.../org/apache/hop/www/GetRootServletTest.java | 6 +-
.../org/apache/hop/www/GetStatusServletTest.java | 6 +-
.../hop/www/GetWorkflowStatusServletTest.java | 8 +--
.../java/org/apache/hop/www/HopServerTest.java | 8 +--
.../apache/hop/www/PausePipelineServletTest.java | 6 +-
.../www/PrepareExecutionPipelineServletTest.java | 6 +-
.../apache/hop/www/RemovePipelineServletTest.java | 6 +-
.../apache/hop/www/RemoveWorkflowServletTest.java | 6 +-
.../apache/hop/www/SniffTransformServletTest.java | 6 +-
.../hop/www/StartExecutionPipelineServletTest.java | 6 +-
.../apache/hop/www/StartPipelineServletTest.java | 6 +-
.../apache/hop/www/StartWorkflowServletTest.java | 6 +-
.../apache/hop/www/StopWorkflowServletTest.java | 6 +-
lib/pom.xml | 18 ++---
plugins/engines/beam/pom.xml | 32 ++++-----
.../org/apache/hop/www/async/AsyncRunServlet.java | 6 +-
.../apache/hop/www/async/AsyncStatusServlet.java | 6 +-
.../apache/hop/metadata/rest/RestConnection.java | 10 +--
plugins/pom.xml | 5 ++
plugins/tech/google/pom.xml | 8 +--
.../util/CustomLocalServerReceiver.java | 53 ++++++++-------
plugins/transforms/rest/pom.xml | 2 +-
.../apache/hop/pipeline/transforms/rest/Rest.java | 20 +++---
.../hop/pipeline/transforms/rest/RestData.java | 2 +-
.../pipeline/transforms/rest/RestCallRestTest.java | 20 +++---
.../transforms/rest/RestInitAndProcessTest.java | 2 +-
.../transforms/rest/RestProcessRowTest.java | 2 +-
.../hop/pipeline/transforms/rest/RestTest.java | 8 +--
.../salesforce/SalesforceConnection.java | 2 +-
rap/pom.xml | 2 +-
.../ui/hopgui/HopWebServletContextListener.java | 2 +-
rcp/pom.xml | 2 +-
rest/pom.xml | 10 +--
75 files changed, 361 insertions(+), 317 deletions(-)
diff --git a/assemblies/web/pom.xml b/assemblies/web/pom.xml
index 3cee2607cf..4977dda2b2 100644
--- a/assemblies/web/pom.xml
+++ b/assemblies/web/pom.xml
@@ -29,7 +29,7 @@
<name>Hop Assemblies Web</name>
<properties>
- <rap.version>3.21.0</rap.version>
+ <rap.version>4.4.0</rap.version>
</properties>
<dependencies>
diff --git a/engine-beam/pom.xml b/engine-beam/pom.xml
index 6a4cfa647b..c9af0d9dc9 100644
--- a/engine-beam/pom.xml
+++ b/engine-beam/pom.xml
@@ -48,6 +48,11 @@
</dependencyManagement>
<dependencies>
+ <dependency>
+ <groupId>jakarta.servlet</groupId>
+ <artifactId>jakarta.servlet-api</artifactId>
+ <version>6.1.0</version>
+ </dependency>
<dependency>
<groupId>org.apache.beam</groupId>
<artifactId>beam-sdks-java-core</artifactId>
diff --git a/engine/pom.xml b/engine/pom.xml
index 923da4f50b..49487047c5 100644
--- a/engine/pom.xml
+++ b/engine/pom.xml
@@ -30,8 +30,12 @@
<properties>
<commons-validator.version>1.9.0</commons-validator.version>
- <jakarta.xml.bind-api.version>4.0.2</jakarta.xml.bind-api.version>
- <jersey2.version>2.43</jersey2.version>
+ <jakarta.annotation-api.version>3.0.0</jakarta.annotation-api.version>
+ <jakarta.servlet-api.version>6.1.0</jakarta.servlet-api.version>
+ <jakarta.xml.bind-api.version>4.0.4</jakarta.xml.bind-api.version>
+ <jakarta.xml.soap-api.version>3.0.2</jakarta.xml.soap-api.version>
+ <jakarta.xml.ws-api.version>4.0.2</jakarta.xml.ws-api.version>
+ <jersey2.version>3.1.11</jersey2.version>
<snappy-java.version>1.1.10.7</snappy-java.version>
</properties>
@@ -65,6 +69,16 @@
<groupId>info.picocli</groupId>
<artifactId>picocli-codegen</artifactId>
</dependency>
+ <dependency>
+ <groupId>jakarta.annotation</groupId>
+ <artifactId>jakarta.annotation-api</artifactId>
+ <version>${jakarta.annotation-api.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>jakarta.servlet</groupId>
+ <artifactId>jakarta.servlet-api</artifactId>
+ <version>${jakarta.servlet-api.version}</version>
+ </dependency>
<dependency>
<groupId>jakarta.xml.bind</groupId>
<artifactId>jakarta.xml.bind-api</artifactId>
@@ -76,6 +90,28 @@
</exclusion>
</exclusions>
</dependency>
+ <dependency>
+ <groupId>jakarta.xml.soap</groupId>
+ <artifactId>jakarta.xml.soap-api</artifactId>
+ <version>${jakarta.xml.soap-api.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>*</groupId>
+ <artifactId>*</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>jakarta.xml.ws</groupId>
+ <artifactId>jakarta.xml.ws-api</artifactId>
+ <version>${jakarta.xml.ws-api.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>*</groupId>
+ <artifactId>*</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-jaas</artifactId>
@@ -90,23 +126,23 @@
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-servlet</artifactId>
+ <artifactId>jetty-util</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-servlets</artifactId>
+ <artifactId>jetty-xml</artifactId>
</dependency>
<dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-util</artifactId>
+ <groupId>org.eclipse.jetty.ee11</groupId>
+ <artifactId>jetty-ee11-servlet</artifactId>
</dependency>
<dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-webapp</artifactId>
+ <groupId>org.eclipse.jetty.ee11</groupId>
+ <artifactId>jetty-ee11-servlets</artifactId>
</dependency>
<dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-xml</artifactId>
+ <groupId>org.eclipse.jetty.ee11</groupId>
+ <artifactId>jetty-ee11-webapp</artifactId>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.connectors</groupId>
@@ -146,12 +182,12 @@
<dependency>
<groupId>org.glassfish.metro</groupId>
<artifactId>webservices-api</artifactId>
- <version>2.3.1</version>
+ <version>4.0.4</version>
<scope>compile</scope>
<exclusions>
<exclusion>
- <groupId>javax.annotation</groupId>
- <artifactId>javax.annotation-api</artifactId>
+ <groupId>jakarta.annotation</groupId>
+ <artifactId>jakarta.annotation-api</artifactId>
</exclusion>
</exclusions>
</dependency>
diff --git a/engine/src/main/java/org/apache/hop/pipeline/Pipeline.java
b/engine/src/main/java/org/apache/hop/pipeline/Pipeline.java
index 4832b76ffc..6cedad0bfd 100644
--- a/engine/src/main/java/org/apache/hop/pipeline/Pipeline.java
+++ b/engine/src/main/java/org/apache/hop/pipeline/Pipeline.java
@@ -26,6 +26,8 @@ import static
org.apache.hop.pipeline.Pipeline.BitMaskStatus.PREPARING;
import static org.apache.hop.pipeline.Pipeline.BitMaskStatus.RUNNING;
import static org.apache.hop.pipeline.Pipeline.BitMaskStatus.STOPPED;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
@@ -40,8 +42,6 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.vfs2.FileName;
import org.apache.commons.vfs2.FileObject;
diff --git a/engine/src/main/java/org/apache/hop/www/AddExportServlet.java
b/engine/src/main/java/org/apache/hop/www/AddExportServlet.java
index 5c951ba386..5271eb726a 100644
--- a/engine/src/main/java/org/apache/hop/www/AddExportServlet.java
+++ b/engine/src/main/java/org/apache/hop/www/AddExportServlet.java
@@ -17,14 +17,14 @@
package org.apache.hop.www;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.util.UUID;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringEscapeUtils;
import org.apache.commons.vfs2.FileObject;
import org.apache.hop.core.Const;
diff --git a/engine/src/main/java/org/apache/hop/www/AddPipelineServlet.java
b/engine/src/main/java/org/apache/hop/www/AddPipelineServlet.java
index 41e74bc00e..bf8c02f039 100644
--- a/engine/src/main/java/org/apache/hop/www/AddPipelineServlet.java
+++ b/engine/src/main/java/org/apache/hop/www/AddPipelineServlet.java
@@ -17,13 +17,13 @@
package org.apache.hop.www;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.UUID;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.hop.core.Const;
import org.apache.hop.core.annotations.HopServerServlet;
import org.apache.hop.core.exception.HopException;
diff --git a/engine/src/main/java/org/apache/hop/www/AddWorkflowServlet.java
b/engine/src/main/java/org/apache/hop/www/AddWorkflowServlet.java
index ffa614a187..63a553517d 100644
--- a/engine/src/main/java/org/apache/hop/www/AddWorkflowServlet.java
+++ b/engine/src/main/java/org/apache/hop/www/AddWorkflowServlet.java
@@ -17,15 +17,15 @@
package org.apache.hop.www;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.Map;
import java.util.UUID;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.hop.core.Const;
import org.apache.hop.core.annotations.HopServerServlet;
import org.apache.hop.core.logging.LoggingObjectType;
diff --git a/engine/src/main/java/org/apache/hop/www/BaseHopServerPlugin.java
b/engine/src/main/java/org/apache/hop/www/BaseHopServerPlugin.java
index ac32f2ec97..1dacab357b 100644
--- a/engine/src/main/java/org/apache/hop/www/BaseHopServerPlugin.java
+++ b/engine/src/main/java/org/apache/hop/www/BaseHopServerPlugin.java
@@ -19,14 +19,14 @@ package org.apache.hop.www;
import com.google.common.collect.FluentIterable;
import com.google.common.collect.ImmutableMultimap;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;
import java.util.Collection;
import java.util.Collections;
import java.util.Enumeration;
import java.util.Map;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.hop.core.annotations.HopServerServlet;
public abstract class BaseHopServerPlugin extends BaseHttpServlet
diff --git a/engine/src/main/java/org/apache/hop/www/BaseHttpServlet.java
b/engine/src/main/java/org/apache/hop/www/BaseHttpServlet.java
index c239738466..36b96c4fa2 100644
--- a/engine/src/main/java/org/apache/hop/www/BaseHttpServlet.java
+++ b/engine/src/main/java/org/apache/hop/www/BaseHttpServlet.java
@@ -17,11 +17,11 @@
package org.apache.hop.www;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.hop.core.Const;
import org.apache.hop.core.logging.ILogChannel;
import org.apache.hop.core.logging.LogChannel;
diff --git a/engine/src/main/java/org/apache/hop/www/BodyHttpServlet.java
b/engine/src/main/java/org/apache/hop/www/BodyHttpServlet.java
index 3a23c7bbaa..3f15824cf8 100644
--- a/engine/src/main/java/org/apache/hop/www/BodyHttpServlet.java
+++ b/engine/src/main/java/org/apache/hop/www/BodyHttpServlet.java
@@ -16,10 +16,10 @@
*/
package org.apache.hop.www;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.exception.ExceptionUtils;
import org.apache.hop.core.Const;
diff --git
a/engine/src/main/java/org/apache/hop/www/DeleteExecutionInfoServlet.java
b/engine/src/main/java/org/apache/hop/www/DeleteExecutionInfoServlet.java
index e66af19ab9..a92e143415 100644
--- a/engine/src/main/java/org/apache/hop/www/DeleteExecutionInfoServlet.java
+++ b/engine/src/main/java/org/apache/hop/www/DeleteExecutionInfoServlet.java
@@ -17,12 +17,12 @@
package org.apache.hop.www;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.PrintWriter;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringEscapeUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.hop.core.Const;
diff --git
a/engine/src/main/java/org/apache/hop/www/GetExecutionInfoServlet.java
b/engine/src/main/java/org/apache/hop/www/GetExecutionInfoServlet.java
index e4a06586a7..4d3834b2da 100644
--- a/engine/src/main/java/org/apache/hop/www/GetExecutionInfoServlet.java
+++ b/engine/src/main/java/org/apache/hop/www/GetExecutionInfoServlet.java
@@ -17,13 +17,13 @@
package org.apache.hop.www;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import jakarta.xml.bind.DataBindingException;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringUtils;
import org.apache.hop.core.Const;
import org.apache.hop.core.annotations.HopServerServlet;
diff --git
a/engine/src/main/java/org/apache/hop/www/GetPipelineImageServlet.java
b/engine/src/main/java/org/apache/hop/www/GetPipelineImageServlet.java
index 8421d90572..3a1fb7ef07 100644
--- a/engine/src/main/java/org/apache/hop/www/GetPipelineImageServlet.java
+++ b/engine/src/main/java/org/apache/hop/www/GetPipelineImageServlet.java
@@ -19,12 +19,12 @@ package org.apache.hop.www;
import static java.nio.charset.StandardCharsets.UTF_8;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.hop.core.annotations.HopServerServlet;
import org.apache.hop.core.util.Utils;
import org.apache.hop.i18n.BaseMessages;
diff --git
a/engine/src/main/java/org/apache/hop/www/GetPipelineStatusServlet.java
b/engine/src/main/java/org/apache/hop/www/GetPipelineStatusServlet.java
index 50e444b962..b0235d535b 100644
--- a/engine/src/main/java/org/apache/hop/www/GetPipelineStatusServlet.java
+++ b/engine/src/main/java/org/apache/hop/www/GetPipelineStatusServlet.java
@@ -20,15 +20,15 @@ package org.apache.hop.www;
import static java.nio.charset.StandardCharsets.UTF_8;
import com.fasterxml.jackson.databind.ObjectMapper;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.util.Date;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.hop.core.Const;
import org.apache.hop.core.annotations.HopServerServlet;
import org.apache.hop.core.exception.HopException;
diff --git a/engine/src/main/java/org/apache/hop/www/GetRootServlet.java
b/engine/src/main/java/org/apache/hop/www/GetRootServlet.java
index d08b06da6b..d97a403574 100644
--- a/engine/src/main/java/org/apache/hop/www/GetRootServlet.java
+++ b/engine/src/main/java/org/apache/hop/www/GetRootServlet.java
@@ -17,11 +17,11 @@
package org.apache.hop.www;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.hop.i18n.BaseMessages;
public class GetRootServlet extends BaseHttpServlet implements
IHopServerPlugin {
diff --git a/engine/src/main/java/org/apache/hop/www/GetStatusServlet.java
b/engine/src/main/java/org/apache/hop/www/GetStatusServlet.java
index ae5497e5b5..7376d1fb6e 100644
--- a/engine/src/main/java/org/apache/hop/www/GetStatusServlet.java
+++ b/engine/src/main/java/org/apache/hop/www/GetStatusServlet.java
@@ -18,6 +18,9 @@
package org.apache.hop.www;
import com.fasterxml.jackson.databind.ObjectMapper;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.lang.management.OperatingSystemMXBean;
@@ -27,9 +30,6 @@ import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.List;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.hop.core.Const;
import org.apache.hop.core.annotations.HopServerServlet;
import org.apache.hop.core.exception.HopException;
diff --git
a/engine/src/main/java/org/apache/hop/www/GetWorkflowImageServlet.java
b/engine/src/main/java/org/apache/hop/www/GetWorkflowImageServlet.java
index cc4b39daec..ace0271379 100644
--- a/engine/src/main/java/org/apache/hop/www/GetWorkflowImageServlet.java
+++ b/engine/src/main/java/org/apache/hop/www/GetWorkflowImageServlet.java
@@ -17,13 +17,13 @@
package org.apache.hop.www;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.charset.StandardCharsets;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.hop.core.annotations.HopServerServlet;
import org.apache.hop.core.util.Utils;
import org.apache.hop.i18n.BaseMessages;
diff --git
a/engine/src/main/java/org/apache/hop/www/GetWorkflowStatusServlet.java
b/engine/src/main/java/org/apache/hop/www/GetWorkflowStatusServlet.java
index d16d5588f7..2c427a00bd 100644
--- a/engine/src/main/java/org/apache/hop/www/GetWorkflowStatusServlet.java
+++ b/engine/src/main/java/org/apache/hop/www/GetWorkflowStatusServlet.java
@@ -20,14 +20,14 @@ package org.apache.hop.www;
import static java.nio.charset.StandardCharsets.UTF_8;
import com.fasterxml.jackson.databind.ObjectMapper;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.hop.core.Const;
import org.apache.hop.core.annotations.HopServerServlet;
import org.apache.hop.core.exception.HopException;
diff --git a/engine/src/main/java/org/apache/hop/www/HopServer.java
b/engine/src/main/java/org/apache/hop/www/HopServer.java
index 7fb4961722..e9c7bac30c 100644
--- a/engine/src/main/java/org/apache/hop/www/HopServer.java
+++ b/engine/src/main/java/org/apache/hop/www/HopServer.java
@@ -18,6 +18,9 @@
package org.apache.hop.www;
import com.google.common.annotations.VisibleForTesting;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.Socket;
@@ -25,9 +28,6 @@ import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.stream.Stream;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
import lombok.Getter;
import lombok.Setter;
import org.apache.commons.collections4.CollectionUtils;
diff --git a/engine/src/main/java/org/apache/hop/www/HopServerServlet.java
b/engine/src/main/java/org/apache/hop/www/HopServerServlet.java
index 52a7e9489e..6999f46b19 100644
--- a/engine/src/main/java/org/apache/hop/www/HopServerServlet.java
+++ b/engine/src/main/java/org/apache/hop/www/HopServerServlet.java
@@ -17,17 +17,17 @@
package org.apache.hop.www;
+import jakarta.servlet.ServletConfig;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServlet;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.text.MessageFormat;
import java.util.Enumeration;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
-import javax.servlet.ServletConfig;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.hop.core.exception.HopPluginException;
import org.apache.hop.core.logging.ILogChannel;
import org.apache.hop.core.logging.LogChannel;
diff --git a/engine/src/main/java/org/apache/hop/www/IHopServerPlugin.java
b/engine/src/main/java/org/apache/hop/www/IHopServerPlugin.java
index edf0d2b276..cf10e51301 100644
--- a/engine/src/main/java/org/apache/hop/www/IHopServerPlugin.java
+++ b/engine/src/main/java/org/apache/hop/www/IHopServerPlugin.java
@@ -17,8 +17,8 @@
package org.apache.hop.www;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
public interface IHopServerPlugin extends IHopServerServlet {
diff --git a/engine/src/main/java/org/apache/hop/www/PausePipelineServlet.java
b/engine/src/main/java/org/apache/hop/www/PausePipelineServlet.java
index f4efe62a51..fa0f443ad8 100644
--- a/engine/src/main/java/org/apache/hop/www/PausePipelineServlet.java
+++ b/engine/src/main/java/org/apache/hop/www/PausePipelineServlet.java
@@ -19,12 +19,12 @@ package org.apache.hop.www;
import static java.nio.charset.StandardCharsets.UTF_8;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLEncoder;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.hop.core.Const;
import org.apache.hop.core.annotations.HopServerServlet;
import org.apache.hop.core.util.Utils;
diff --git
a/engine/src/main/java/org/apache/hop/www/PrepareExecutionPipelineServlet.java
b/engine/src/main/java/org/apache/hop/www/PrepareExecutionPipelineServlet.java
index e7daf21e58..42b79bc722 100644
---
a/engine/src/main/java/org/apache/hop/www/PrepareExecutionPipelineServlet.java
+++
b/engine/src/main/java/org/apache/hop/www/PrepareExecutionPipelineServlet.java
@@ -19,12 +19,12 @@ package org.apache.hop.www;
import static java.nio.charset.StandardCharsets.UTF_8;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLEncoder;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.hop.core.Const;
import org.apache.hop.core.annotations.HopServerServlet;
import org.apache.hop.core.logging.HopLogStore;
diff --git
a/engine/src/main/java/org/apache/hop/www/RegisterExecutionInfoServlet.java
b/engine/src/main/java/org/apache/hop/www/RegisterExecutionInfoServlet.java
index b6f492eb9c..80945eb85c 100644
--- a/engine/src/main/java/org/apache/hop/www/RegisterExecutionInfoServlet.java
+++ b/engine/src/main/java/org/apache/hop/www/RegisterExecutionInfoServlet.java
@@ -17,12 +17,12 @@
package org.apache.hop.www;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.PrintWriter;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringEscapeUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.hop.core.Const;
diff --git
a/engine/src/main/java/org/apache/hop/www/RegisterPackageServlet.java
b/engine/src/main/java/org/apache/hop/www/RegisterPackageServlet.java
index 3b460343fe..fb7b03b172 100644
--- a/engine/src/main/java/org/apache/hop/www/RegisterPackageServlet.java
+++ b/engine/src/main/java/org/apache/hop/www/RegisterPackageServlet.java
@@ -16,13 +16,13 @@
*/
package org.apache.hop.www;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.charset.StandardCharsets;
import java.text.MessageFormat;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.commons.io.IOUtils;
import org.apache.commons.vfs2.FileObject;
import org.apache.hop.core.annotations.HopServerServlet;
diff --git
a/engine/src/main/java/org/apache/hop/www/RegisterPipelineServlet.java
b/engine/src/main/java/org/apache/hop/www/RegisterPipelineServlet.java
index c8abc3d91d..ac955ae10c 100644
--- a/engine/src/main/java/org/apache/hop/www/RegisterPipelineServlet.java
+++ b/engine/src/main/java/org/apache/hop/www/RegisterPipelineServlet.java
@@ -16,10 +16,10 @@
*/
package org.apache.hop.www;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.commons.io.IOUtils;
import org.apache.hop.core.annotations.HopServerServlet;
import org.apache.hop.core.exception.HopException;
diff --git
a/engine/src/main/java/org/apache/hop/www/RegisterWorkflowServlet.java
b/engine/src/main/java/org/apache/hop/www/RegisterWorkflowServlet.java
index 6b720d65a7..4e0b03d8e1 100644
--- a/engine/src/main/java/org/apache/hop/www/RegisterWorkflowServlet.java
+++ b/engine/src/main/java/org/apache/hop/www/RegisterWorkflowServlet.java
@@ -16,10 +16,10 @@
*/
package org.apache.hop.www;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.commons.io.IOUtils;
import org.apache.hop.core.annotations.HopServerServlet;
import org.apache.hop.core.exception.HopException;
diff --git a/engine/src/main/java/org/apache/hop/www/RemovePipelineServlet.java
b/engine/src/main/java/org/apache/hop/www/RemovePipelineServlet.java
index 41e6cc1356..c2b21b8950 100644
--- a/engine/src/main/java/org/apache/hop/www/RemovePipelineServlet.java
+++ b/engine/src/main/java/org/apache/hop/www/RemovePipelineServlet.java
@@ -17,11 +17,11 @@
package org.apache.hop.www;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.hop.core.Const;
import org.apache.hop.core.annotations.HopServerServlet;
import org.apache.hop.core.logging.HopLogStore;
diff --git a/engine/src/main/java/org/apache/hop/www/RemoveWorkflowServlet.java
b/engine/src/main/java/org/apache/hop/www/RemoveWorkflowServlet.java
index d8057cbdd2..c7e70abb8a 100644
--- a/engine/src/main/java/org/apache/hop/www/RemoveWorkflowServlet.java
+++ b/engine/src/main/java/org/apache/hop/www/RemoveWorkflowServlet.java
@@ -17,11 +17,11 @@
package org.apache.hop.www;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.hop.core.Const;
import org.apache.hop.core.annotations.HopServerServlet;
import org.apache.hop.core.logging.HopLogStore;
diff --git a/engine/src/main/java/org/apache/hop/www/SniffTransformServlet.java
b/engine/src/main/java/org/apache/hop/www/SniffTransformServlet.java
index e60446287c..7cd102f9a2 100644
--- a/engine/src/main/java/org/apache/hop/www/SniffTransformServlet.java
+++ b/engine/src/main/java/org/apache/hop/www/SniffTransformServlet.java
@@ -19,13 +19,13 @@ package org.apache.hop.www;
import static java.nio.charset.StandardCharsets.UTF_8;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLEncoder;
import java.util.List;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.hop.core.Const;
import org.apache.hop.core.annotations.HopServerServlet;
import org.apache.hop.core.exception.HopTransformException;
diff --git
a/engine/src/main/java/org/apache/hop/www/StartExecutionPipelineServlet.java
b/engine/src/main/java/org/apache/hop/www/StartExecutionPipelineServlet.java
index b8cd054439..b70dea4181 100644
--- a/engine/src/main/java/org/apache/hop/www/StartExecutionPipelineServlet.java
+++ b/engine/src/main/java/org/apache/hop/www/StartExecutionPipelineServlet.java
@@ -19,12 +19,12 @@ package org.apache.hop.www;
import static java.nio.charset.StandardCharsets.UTF_8;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLEncoder;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringEscapeUtils;
import org.apache.hop.core.Const;
import org.apache.hop.core.annotations.HopServerServlet;
diff --git a/engine/src/main/java/org/apache/hop/www/StartPipelineServlet.java
b/engine/src/main/java/org/apache/hop/www/StartPipelineServlet.java
index a529ec87f3..504004eecb 100644
--- a/engine/src/main/java/org/apache/hop/www/StartPipelineServlet.java
+++ b/engine/src/main/java/org/apache/hop/www/StartPipelineServlet.java
@@ -19,13 +19,13 @@ package org.apache.hop.www;
import static java.nio.charset.StandardCharsets.UTF_8;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLEncoder;
import java.util.UUID;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringEscapeUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.hop.core.Const;
diff --git a/engine/src/main/java/org/apache/hop/www/StartWorkflowServlet.java
b/engine/src/main/java/org/apache/hop/www/StartWorkflowServlet.java
index 07a0597a90..136dc837f1 100644
--- a/engine/src/main/java/org/apache/hop/www/StartWorkflowServlet.java
+++ b/engine/src/main/java/org/apache/hop/www/StartWorkflowServlet.java
@@ -19,13 +19,13 @@ package org.apache.hop.www;
import static java.nio.charset.StandardCharsets.UTF_8;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLEncoder;
import java.util.UUID;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringEscapeUtils;
import org.apache.hop.core.Const;
import org.apache.hop.core.annotations.HopServerServlet;
diff --git a/engine/src/main/java/org/apache/hop/www/StopPipelineServlet.java
b/engine/src/main/java/org/apache/hop/www/StopPipelineServlet.java
index 84a0ea69fa..00c65df24c 100644
--- a/engine/src/main/java/org/apache/hop/www/StopPipelineServlet.java
+++ b/engine/src/main/java/org/apache/hop/www/StopPipelineServlet.java
@@ -19,12 +19,12 @@ package org.apache.hop.www;
import static java.nio.charset.StandardCharsets.UTF_8;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLEncoder;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.hop.core.Const;
import org.apache.hop.core.annotations.HopServerServlet;
import org.apache.hop.core.util.Utils;
diff --git a/engine/src/main/java/org/apache/hop/www/StopWorkflowServlet.java
b/engine/src/main/java/org/apache/hop/www/StopWorkflowServlet.java
index a1a3db76ae..f9a588b136 100644
--- a/engine/src/main/java/org/apache/hop/www/StopWorkflowServlet.java
+++ b/engine/src/main/java/org/apache/hop/www/StopWorkflowServlet.java
@@ -19,12 +19,12 @@ package org.apache.hop.www;
import static java.nio.charset.StandardCharsets.UTF_8;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.URLEncoder;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.hop.core.Const;
import org.apache.hop.core.annotations.HopServerServlet;
import org.apache.hop.core.util.Utils;
diff --git a/engine/src/main/java/org/apache/hop/www/WebServer.java
b/engine/src/main/java/org/apache/hop/www/WebServer.java
index 579700cba2..485faa80a5 100644
--- a/engine/src/main/java/org/apache/hop/www/WebServer.java
+++ b/engine/src/main/java/org/apache/hop/www/WebServer.java
@@ -17,16 +17,14 @@
package org.apache.hop.www;
+import jakarta.servlet.Servlet;
import java.awt.GraphicsEnvironment;
import java.io.BufferedReader;
-import java.io.File;
import java.io.InputStreamReader;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;
-import java.util.ArrayList;
import java.util.List;
-import javax.servlet.Servlet;
import org.apache.hop.core.Const;
import org.apache.hop.core.HopEnvironment;
import org.apache.hop.core.encryption.Encr;
@@ -42,31 +40,32 @@ import org.apache.hop.core.variables.IVariables;
import org.apache.hop.core.variables.Variables;
import org.apache.hop.i18n.BaseMessages;
import org.apache.hop.server.HopServerMeta;
+import org.eclipse.jetty.ee11.servlet.DefaultServlet;
+import org.eclipse.jetty.ee11.servlet.ServletContextHandler;
+import org.eclipse.jetty.ee11.servlet.ServletHolder;
+import org.eclipse.jetty.ee11.servlet.security.ConstraintMapping;
+import org.eclipse.jetty.ee11.servlet.security.ConstraintSecurityHandler;
import org.eclipse.jetty.http.HttpVersion;
import org.eclipse.jetty.jaas.JAASLoginService;
-import org.eclipse.jetty.security.ConstraintMapping;
-import org.eclipse.jetty.security.ConstraintSecurityHandler;
+import org.eclipse.jetty.security.Authenticator;
+import org.eclipse.jetty.security.Constraint;
import org.eclipse.jetty.security.HashLoginService;
import org.eclipse.jetty.security.PropertyUserStore;
import org.eclipse.jetty.security.UserStore;
-import org.eclipse.jetty.server.ConnectionLimit;
import org.eclipse.jetty.server.Connector;
import org.eclipse.jetty.server.Handler;
import org.eclipse.jetty.server.HttpConfiguration;
import org.eclipse.jetty.server.HttpConnectionFactory;
import org.eclipse.jetty.server.LowResourceMonitor;
+import org.eclipse.jetty.server.NetworkConnectionLimit;
import org.eclipse.jetty.server.SecureRequestCustomizer;
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.server.handler.HandlerList;
import org.eclipse.jetty.server.handler.ResourceHandler;
-import org.eclipse.jetty.servlet.DefaultServlet;
-import org.eclipse.jetty.servlet.ServletContextHandler;
-import org.eclipse.jetty.servlet.ServletHolder;
-import org.eclipse.jetty.util.resource.PathResource;
-import org.eclipse.jetty.util.security.Constraint;
+import org.eclipse.jetty.util.resource.Resource;
+import org.eclipse.jetty.util.resource.ResourceFactory;
import org.eclipse.jetty.util.security.Password;
import org.eclipse.jetty.util.ssl.SslContextFactory;
import org.glassfish.jersey.servlet.ServletContainer;
@@ -189,20 +188,25 @@ public class WebServer {
public void startServer() throws Exception {
server = new Server();
- List<String> roles = new ArrayList<>();
- roles.add(Constraint.ANY_ROLE);
+ Constraint.Builder constraintBuilder =
+ new Constraint.Builder()
+ .name(Authenticator.BASIC_AUTH)
+ .authorization(Constraint.Authorization.SPECIFIC_ROLE)
+ .transport(Constraint.Transport.ANY);
// Set up the security handler, optionally with JAAS
//
ConstraintSecurityHandler securityHandler = new
ConstraintSecurityHandler();
+ securityHandler.setAuthenticationType(Authenticator.BASIC_AUTH);
if (System.getProperty("loginmodulename") != null
&& System.getProperty("java.security.auth.login.config") != null) {
+ constraintBuilder.roles("*");
JAASLoginService jaasLoginService = new JAASLoginService("Hop");
jaasLoginService.setLoginModuleName(System.getProperty("loginmodulename"));
securityHandler.setLoginService(jaasLoginService);
} else {
- roles.add("default");
+ constraintBuilder.roles("default");
HashLoginService hashLoginService;
HopServerMeta hopServer =
pipelineMap.getHopServerConfig().getHopServer();
if (!Utils.isEmpty(hopServer.getPassword())) {
@@ -220,20 +224,15 @@ public class WebServer {
}
hashLoginService = new HashLoginService("Hop");
PropertyUserStore userStore = new PropertyUserStore();
- userStore.setConfig(passwordFile);
+
userStore.setConfig(ResourceFactory.of(server).newResource(passwordFile));
hashLoginService.setUserStore(userStore);
}
securityHandler.setLoginService(hashLoginService);
}
- Constraint constraint = new Constraint();
- constraint.setName(Constraint.__BASIC_AUTH);
- constraint.setRoles(roles.toArray(new String[roles.size()]));
- constraint.setAuthenticate(true);
-
ConstraintMapping constraintMapping = new ConstraintMapping();
- constraintMapping.setConstraint(constraint);
constraintMapping.setPathSpec("/*");
+ constraintMapping.setConstraint(constraintBuilder.build());
securityHandler.setConstraintMappings(new ConstraintMapping[]
{constraintMapping});
@@ -244,11 +243,10 @@ public class WebServer {
// Root
//
ServletContextHandler root =
- new ServletContextHandler(
- contexts, GetRootServlet.CONTEXT_PATH,
ServletContextHandler.SESSIONS);
+ new ServletContextHandler(GetRootServlet.CONTEXT_PATH,
ServletContextHandler.SESSIONS);
+ contexts.addHandler(root);
GetRootServlet rootServlet = new GetRootServlet();
rootServlet.setJettyMode(true);
- root.addServlet(new ServletHolder(rootServlet), "/*");
boolean graphicsEnvironment = supportGraphicEnvironment();
PluginRegistry pluginRegistry = PluginRegistry.getInstance();
@@ -260,8 +258,8 @@ public class WebServer {
servlet.setJettyMode(true);
ServletContextHandler servletContext =
- new ServletContextHandler(
- contexts, getContextPath(servlet),
ServletContextHandler.SESSIONS);
+ new ServletContextHandler(getContextPath(servlet),
ServletContextHandler.SESSIONS);
+ contexts.addHandler(servletContext);
ServletHolder servletHolder = new ServletHolder((Servlet) servlet);
servletContext.addServlet(servletHolder, "/*");
servletContext.setAttribute("GraphicsEnvironment", graphicsEnvironment);
@@ -279,21 +277,21 @@ public class WebServer {
// Allow png files to be shown for pipelines and workflows...
//
ResourceHandler resourceHandler = new ResourceHandler();
- resourceHandler.setResourceBase("temp");
+ resourceHandler.setBaseResourceAsString("temp");
// add all handlers/contexts to server
// set up static servlet
ServletHolder staticHolder = new ServletHolder("static",
DefaultServlet.class);
- // resourceBase maps to the path relative to where carte is started
- staticHolder.setInitParameter("resourceBase", "./static/");
- staticHolder.setInitParameter("dirAllowed", "true");
- staticHolder.setInitParameter("pathInfoOnly", "true");
+ // baseResource maps to the path relative to where hop-server is started
+ Resource staticResource =
ResourceFactory.of(server).newResource("static/");
+ root.setInitParameter(DefaultServlet.CONTEXT_INIT + "baseResource",
staticResource.toString());
+ root.setInitParameter(DefaultServlet.CONTEXT_INIT + "dirAllowed", "true");
+ root.setInitParameter(DefaultServlet.CONTEXT_INIT + "pathInfoOnly",
"true");
root.addServlet(staticHolder, "/static/*");
- HandlerList handlers = new HandlerList();
- handlers.setHandlers(new Handler[] {resourceHandler, contexts});
- securityHandler.setHandler(handlers);
+ root.addServlet(new ServletHolder(rootServlet), "/*");
+ securityHandler.setHandler(new Handler.Sequence(resourceHandler,
contexts));
server.setHandler(securityHandler);
// Start execution
@@ -365,12 +363,12 @@ public class WebServer {
Encr.decryptPasswordOptionallyEncrypted(sslConfig.getKeyStorePassword());
String keyPassword =
Encr.decryptPasswordOptionallyEncrypted(sslConfig.getKeyPassword());
- SslContextFactory.Client factory = new SslContextFactory.Client();
- factory.setKeyStoreResource(new PathResource(new
File(sslConfig.getKeyStore())));
+ SslContextFactory.Server factory = new SslContextFactory.Server();
+ factory.setKeyStorePath(sslConfig.getKeyStore());
factory.setKeyStorePassword(keyStorePassword);
factory.setKeyManagerPassword(keyPassword);
factory.setKeyStoreType(sslConfig.getKeyStoreType());
- factory.setTrustStoreResource(new PathResource(new
File(sslConfig.getKeyStore())));
+ factory.setTrustStorePath(sslConfig.getKeyStore());
factory.setTrustStorePassword(keyStorePassword);
HttpConfiguration httpsConfig = new HttpConfiguration(httpConfig);
@@ -398,7 +396,7 @@ public class WebServer {
LowResourceMonitor lowResourceMonitor = new LowResourceMonitor(server);
if (validProperty(Const.HOP_SERVER_JETTY_ACCEPTORS)) {
server.addBean(
- new ConnectionLimit(
+ new NetworkConnectionLimit(
Integer.parseInt(System.getProperty(Const.HOP_SERVER_JETTY_ACCEPTORS))));
log.logBasic(
BaseMessages.getString(
diff --git a/engine/src/main/java/org/apache/hop/www/WebServiceServlet.java
b/engine/src/main/java/org/apache/hop/www/WebServiceServlet.java
index 3dcc515477..9bc2b58863 100644
--- a/engine/src/main/java/org/apache/hop/www/WebServiceServlet.java
+++ b/engine/src/main/java/org/apache/hop/www/WebServiceServlet.java
@@ -19,15 +19,15 @@ package org.apache.hop.www;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.node.ObjectNode;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.charset.StandardCharsets;
import java.util.Enumeration;
import java.util.UUID;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.hop.core.Const;
diff --git
a/engine/src/main/java/org/apache/hop/www/jaxrs/HopServerResource.java
b/engine/src/main/java/org/apache/hop/www/jaxrs/HopServerResource.java
index 5f4e72b6c7..3244dfab46 100644
--- a/engine/src/main/java/org/apache/hop/www/jaxrs/HopServerResource.java
+++ b/engine/src/main/java/org/apache/hop/www/jaxrs/HopServerResource.java
@@ -17,12 +17,12 @@
package org.apache.hop.www.jaxrs;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
import java.util.ArrayList;
import java.util.List;
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
import org.apache.hop.pipeline.PipelineMeta;
import org.apache.hop.pipeline.engine.IPipelineEngine;
import org.apache.hop.workflow.WorkflowMeta;
diff --git
a/engine/src/main/java/org/apache/hop/www/jaxrs/PipelineResource.java
b/engine/src/main/java/org/apache/hop/www/jaxrs/PipelineResource.java
index 830caf0cad..d5a1d0f1ec 100644
--- a/engine/src/main/java/org/apache/hop/www/jaxrs/PipelineResource.java
+++ b/engine/src/main/java/org/apache/hop/www/jaxrs/PipelineResource.java
@@ -17,14 +17,14 @@
package org.apache.hop.www.jaxrs;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
import java.util.UUID;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
import org.apache.hop.core.exception.HopException;
import org.apache.hop.core.logging.HopLogStore;
import org.apache.hop.core.logging.ILogChannel;
diff --git
a/engine/src/main/java/org/apache/hop/www/jaxrs/WorkflowResource.java
b/engine/src/main/java/org/apache/hop/www/jaxrs/WorkflowResource.java
index 5d18157ef0..82c61ec958 100644
--- a/engine/src/main/java/org/apache/hop/www/jaxrs/WorkflowResource.java
+++ b/engine/src/main/java/org/apache/hop/www/jaxrs/WorkflowResource.java
@@ -17,14 +17,14 @@
package org.apache.hop.www.jaxrs;
+import jakarta.ws.rs.GET;
+import jakarta.ws.rs.PUT;
+import jakarta.ws.rs.Path;
+import jakarta.ws.rs.PathParam;
+import jakarta.ws.rs.Produces;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.Response;
import java.util.UUID;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
import org.apache.hop.core.logging.HopLogStore;
import org.apache.hop.core.logging.LoggingObjectType;
import org.apache.hop.core.logging.SimpleLoggingObject;
diff --git
a/engine/src/test/java/org/apache/hop/www/BaseHopServerPluginTest.java
b/engine/src/test/java/org/apache/hop/www/BaseHopServerPluginTest.java
index 6c2c439142..3b42c8d77f 100644
--- a/engine/src/test/java/org/apache/hop/www/BaseHopServerPluginTest.java
+++ b/engine/src/test/java/org/apache/hop/www/BaseHopServerPluginTest.java
@@ -24,6 +24,8 @@ import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Arrays;
@@ -31,8 +33,6 @@ import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.hop.core.logging.ILogChannel;
import org.junit.Before;
import org.junit.Test;
@@ -48,7 +48,8 @@ public class BaseHopServerPluginTest {
IHopServerRequestHandler.IOutputStreamResponse outputStreamResponse =
mock(IHopServerRequestHandler.IOutputStreamResponse.class);
PrintWriter printWriter = mock(PrintWriter.class);
- javax.servlet.ServletOutputStream outputStream =
mock(javax.servlet.ServletOutputStream.class);
+ jakarta.servlet.ServletOutputStream outputStream =
+ mock(jakarta.servlet.ServletOutputStream.class);
ArgumentCaptor<IHopServerRequestHandler.IHopServerRequest> carteReqCaptor =
ArgumentCaptor.forClass(IHopServerRequestHandler.IHopServerRequest.class);
diff --git
a/engine/src/test/java/org/apache/hop/www/GetPipelineStatusServletTest.java
b/engine/src/test/java/org/apache/hop/www/GetPipelineStatusServletTest.java
index a001c36816..7c76b1184f 100644
--- a/engine/src/test/java/org/apache/hop/www/GetPipelineStatusServletTest.java
+++ b/engine/src/test/java/org/apache/hop/www/GetPipelineStatusServletTest.java
@@ -23,12 +23,12 @@ import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.hop.core.gui.Point;
import org.apache.hop.core.logging.HopLogStore;
import org.apache.hop.core.logging.ILogChannel;
diff --git a/engine/src/test/java/org/apache/hop/www/GetRootServletTest.java
b/engine/src/test/java/org/apache/hop/www/GetRootServletTest.java
index 73c05b0178..85508235d8 100644
--- a/engine/src/test/java/org/apache/hop/www/GetRootServletTest.java
+++ b/engine/src/test/java/org/apache/hop/www/GetRootServletTest.java
@@ -21,10 +21,10 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.junit.Test;
/**
diff --git a/engine/src/test/java/org/apache/hop/www/GetStatusServletTest.java
b/engine/src/test/java/org/apache/hop/www/GetStatusServletTest.java
index 00c5e15f37..42288236ea 100644
--- a/engine/src/test/java/org/apache/hop/www/GetStatusServletTest.java
+++ b/engine/src/test/java/org/apache/hop/www/GetStatusServletTest.java
@@ -23,12 +23,12 @@ import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.hop.core.gui.Point;
import org.apache.hop.core.logging.HopLogStore;
import org.apache.hop.core.logging.ILogChannel;
diff --git
a/engine/src/test/java/org/apache/hop/www/GetWorkflowStatusServletTest.java
b/engine/src/test/java/org/apache/hop/www/GetWorkflowStatusServletTest.java
index 1ef136c8fe..ddd69d81ca 100644
--- a/engine/src/test/java/org/apache/hop/www/GetWorkflowStatusServletTest.java
+++ b/engine/src/test/java/org/apache/hop/www/GetWorkflowStatusServletTest.java
@@ -25,13 +25,13 @@ import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.ServletOutputStream;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
-import javax.servlet.ServletException;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.hop.core.gui.Point;
import org.apache.hop.core.logging.HopLogStore;
import org.apache.hop.core.logging.ILogChannel;
diff --git a/engine/src/test/java/org/apache/hop/www/HopServerTest.java
b/engine/src/test/java/org/apache/hop/www/HopServerTest.java
index d3fa15c1aa..1a6187ed82 100644
--- a/engine/src/test/java/org/apache/hop/www/HopServerTest.java
+++ b/engine/src/test/java/org/apache/hop/www/HopServerTest.java
@@ -23,10 +23,10 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.mockStatic;
import static org.mockito.Mockito.when;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.MediaType;
import org.apache.hop.junit.rules.RestoreHopEngineEnvironment;
import org.glassfish.jersey.client.ClientConfig;
import org.glassfish.jersey.client.authentication.HttpAuthenticationFeature;
diff --git
a/engine/src/test/java/org/apache/hop/www/PausePipelineServletTest.java
b/engine/src/test/java/org/apache/hop/www/PausePipelineServletTest.java
index 98ef9a9fbc..52fdf86e48 100644
--- a/engine/src/test/java/org/apache/hop/www/PausePipelineServletTest.java
+++ b/engine/src/test/java/org/apache/hop/www/PausePipelineServletTest.java
@@ -23,12 +23,12 @@ import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.hop.core.gui.Point;
import org.apache.hop.core.logging.HopLogStore;
import org.apache.hop.core.logging.ILogChannel;
diff --git
a/engine/src/test/java/org/apache/hop/www/PrepareExecutionPipelineServletTest.java
b/engine/src/test/java/org/apache/hop/www/PrepareExecutionPipelineServletTest.java
index d5ba7aa0b6..c9214e178a 100644
---
a/engine/src/test/java/org/apache/hop/www/PrepareExecutionPipelineServletTest.java
+++
b/engine/src/test/java/org/apache/hop/www/PrepareExecutionPipelineServletTest.java
@@ -22,12 +22,12 @@ import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.hop.core.gui.Point;
import org.apache.hop.core.logging.HopLogStore;
import org.apache.hop.core.logging.ILogChannel;
diff --git
a/engine/src/test/java/org/apache/hop/www/RemovePipelineServletTest.java
b/engine/src/test/java/org/apache/hop/www/RemovePipelineServletTest.java
index db6d674bf2..a12aa33a68 100644
--- a/engine/src/test/java/org/apache/hop/www/RemovePipelineServletTest.java
+++ b/engine/src/test/java/org/apache/hop/www/RemovePipelineServletTest.java
@@ -23,12 +23,12 @@ import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.hop.core.gui.Point;
import org.apache.hop.core.logging.HopLogStore;
import org.apache.hop.core.logging.ILogChannel;
diff --git
a/engine/src/test/java/org/apache/hop/www/RemoveWorkflowServletTest.java
b/engine/src/test/java/org/apache/hop/www/RemoveWorkflowServletTest.java
index bccc4155d2..9cf9eb21f5 100644
--- a/engine/src/test/java/org/apache/hop/www/RemoveWorkflowServletTest.java
+++ b/engine/src/test/java/org/apache/hop/www/RemoveWorkflowServletTest.java
@@ -23,12 +23,12 @@ import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.hop.core.gui.Point;
import org.apache.hop.core.logging.HopLogStore;
import org.apache.hop.core.logging.ILogChannel;
diff --git
a/engine/src/test/java/org/apache/hop/www/SniffTransformServletTest.java
b/engine/src/test/java/org/apache/hop/www/SniffTransformServletTest.java
index d5e9775a36..aa45252b3b 100644
--- a/engine/src/test/java/org/apache/hop/www/SniffTransformServletTest.java
+++ b/engine/src/test/java/org/apache/hop/www/SniffTransformServletTest.java
@@ -23,14 +23,14 @@ import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.ArrayList;
import java.util.List;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.hop.core.gui.Point;
import org.apache.hop.core.logging.HopLogStore;
import org.apache.hop.core.logging.ILogChannel;
diff --git
a/engine/src/test/java/org/apache/hop/www/StartExecutionPipelineServletTest.java
b/engine/src/test/java/org/apache/hop/www/StartExecutionPipelineServletTest.java
index b255907794..71464b69ca 100644
---
a/engine/src/test/java/org/apache/hop/www/StartExecutionPipelineServletTest.java
+++
b/engine/src/test/java/org/apache/hop/www/StartExecutionPipelineServletTest.java
@@ -23,12 +23,12 @@ import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.hop.core.gui.Point;
import org.apache.hop.core.logging.HopLogStore;
import org.apache.hop.core.logging.ILogChannel;
diff --git
a/engine/src/test/java/org/apache/hop/www/StartPipelineServletTest.java
b/engine/src/test/java/org/apache/hop/www/StartPipelineServletTest.java
index 3bf683d9f3..d2ce78949d 100644
--- a/engine/src/test/java/org/apache/hop/www/StartPipelineServletTest.java
+++ b/engine/src/test/java/org/apache/hop/www/StartPipelineServletTest.java
@@ -23,12 +23,12 @@ import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.hop.core.gui.Point;
import org.apache.hop.core.logging.HopLogStore;
import org.apache.hop.core.logging.ILogChannel;
diff --git
a/engine/src/test/java/org/apache/hop/www/StartWorkflowServletTest.java
b/engine/src/test/java/org/apache/hop/www/StartWorkflowServletTest.java
index 938e58a523..e26bcbffcb 100644
--- a/engine/src/test/java/org/apache/hop/www/StartWorkflowServletTest.java
+++ b/engine/src/test/java/org/apache/hop/www/StartWorkflowServletTest.java
@@ -23,12 +23,12 @@ import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.hop.core.gui.Point;
import org.apache.hop.core.logging.HopLogStore;
import org.apache.hop.core.logging.ILogChannel;
diff --git
a/engine/src/test/java/org/apache/hop/www/StopWorkflowServletTest.java
b/engine/src/test/java/org/apache/hop/www/StopWorkflowServletTest.java
index 1a019b9509..5018250ff2 100644
--- a/engine/src/test/java/org/apache/hop/www/StopWorkflowServletTest.java
+++ b/engine/src/test/java/org/apache/hop/www/StopWorkflowServletTest.java
@@ -23,12 +23,12 @@ import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.hop.core.gui.Point;
import org.apache.hop.core.logging.HopLogStore;
import org.apache.hop.core.logging.ILogChannel;
diff --git a/lib/pom.xml b/lib/pom.xml
index 0032d91b6e..abc55cc9d0 100644
--- a/lib/pom.xml
+++ b/lib/pom.xml
@@ -90,8 +90,8 @@
<jakarta-mail.version>2.0.1</jakarta-mail.version>
<jakarta.version>3.1.0</jakarta.version>
<javassist.version>3.28.0-GA</javassist.version>
- <javax.servlet-api.version>4.0.1</javax.servlet-api.version>
- <jetty.version>9.4.41.v20210516</jetty.version>
+ <jetty-jaas.version>11.0.26</jetty-jaas.version>
+ <jetty.version>12.1.2</jetty.version>
<jna.version>5.13.0</jna.version>
<joda-time.version>2.12.1</joda-time.version>
<jsch.version>0.2.18</jsch.version>
@@ -605,7 +605,7 @@
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-jaas</artifactId>
- <version>${jetty.version}</version>
+ <version>${jetty-jaas.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
@@ -618,13 +618,13 @@
<version>${jetty.version}</version>
</dependency>
<dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-servlet</artifactId>
+ <groupId>org.eclipse.jetty.ee11</groupId>
+ <artifactId>jetty-ee11-servlet</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-servlets</artifactId>
+ <groupId>org.eclipse.jetty.ee11</groupId>
+ <artifactId>jetty-ee11-servlets</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
@@ -633,8 +633,8 @@
<version>${jetty.version}</version>
</dependency>
<dependency>
- <groupId>org.eclipse.jetty</groupId>
- <artifactId>jetty-webapp</artifactId>
+ <groupId>org.eclipse.jetty.ee11</groupId>
+ <artifactId>jetty-ee11-webapp</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
diff --git a/plugins/engines/beam/pom.xml b/plugins/engines/beam/pom.xml
index 0bb9944126..29c79b2aec 100644
--- a/plugins/engines/beam/pom.xml
+++ b/plugins/engines/beam/pom.xml
@@ -135,8 +135,8 @@
<artifactId>*</artifactId>
</exclusion>
<exclusion>
- <groupId>javax.annotation</groupId>
- <artifactId>javax.annotation-api</artifactId>
+ <groupId>jakarta.annotation</groupId>
+ <artifactId>jakarta.annotation-api</artifactId>
</exclusion>
<exclusion>
<groupId>net.bytebuddy</groupId>
@@ -209,8 +209,8 @@
<artifactId>*</artifactId>
</exclusion>
<exclusion>
- <groupId>javax.annotation</groupId>
- <artifactId>javax.annotation-api</artifactId>
+ <groupId>jakarta.annotation</groupId>
+ <artifactId>jakarta.annotation-api</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.httpcomponents</groupId>
@@ -366,8 +366,8 @@
<artifactId>*</artifactId>
</exclusion>
<exclusion>
- <groupId>javax.annotation</groupId>
- <artifactId>javax.annotation-api</artifactId>
+ <groupId>jakarta.annotation</groupId>
+ <artifactId>jakarta.annotation-api</artifactId>
</exclusion>
<exclusion>
<groupId>joda-time</groupId>
@@ -476,8 +476,8 @@
<artifactId>*</artifactId>
</exclusion>
<exclusion>
- <groupId>javax.annotation</groupId>
- <artifactId>javax.annotation-api</artifactId>
+ <groupId>jakarta.annotation</groupId>
+ <artifactId>jakarta.annotation-api</artifactId>
</exclusion>
<exclusion>
<groupId>joda-time</groupId>
@@ -892,8 +892,8 @@
<artifactId>*</artifactId>
</exclusion>
<exclusion>
- <groupId>javax.annotation</groupId>
- <artifactId>javax.annotation-api</artifactId>
+ <groupId>jakarta.annotation</groupId>
+ <artifactId>jakarta.annotation-api</artifactId>
</exclusion>
<exclusion>
<groupId>joda-time</groupId>
@@ -1131,8 +1131,8 @@
<artifactId>jakarta.activation-api</artifactId>
</exclusion>
<exclusion>
- <groupId>javax.servlet</groupId>
- <artifactId>javax.servlet-api</artifactId>
+ <groupId>jakarta.servlet</groupId>
+ <artifactId>jakarta.servlet-api</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
@@ -1282,12 +1282,12 @@
<artifactId>jakarta.activation-api</artifactId>
</exclusion>
<exclusion>
- <groupId>javax.inject</groupId>
- <artifactId>javax.inject</artifactId>
+ <groupId>jakarta.inject</groupId>
+ <artifactId>jakarta.inject</artifactId>
</exclusion>
<exclusion>
- <groupId>javax.servlet</groupId>
- <artifactId>javax.servlet-api</artifactId>
+ <groupId>jakarta.servlet</groupId>
+ <artifactId>jakarta.servlet-api</artifactId>
</exclusion>
<exclusion>
<groupId>log4j</groupId>
diff --git
a/plugins/misc/async/src/main/java/org/apache/hop/www/async/AsyncRunServlet.java
b/plugins/misc/async/src/main/java/org/apache/hop/www/async/AsyncRunServlet.java
index a94e9fd9f2..99e16a9e78 100644
---
a/plugins/misc/async/src/main/java/org/apache/hop/www/async/AsyncRunServlet.java
+++
b/plugins/misc/async/src/main/java/org/apache/hop/www/async/AsyncRunServlet.java
@@ -17,6 +17,9 @@
package org.apache.hop.www.async;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
@@ -27,9 +30,6 @@ import java.util.UUID;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.TimeUnit;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringUtils;
import org.apache.hop.core.Const;
import org.apache.hop.core.annotations.HopServerServlet;
diff --git
a/plugins/misc/async/src/main/java/org/apache/hop/www/async/AsyncStatusServlet.java
b/plugins/misc/async/src/main/java/org/apache/hop/www/async/AsyncStatusServlet.java
index 820c5efaee..08911fc58c 100644
---
a/plugins/misc/async/src/main/java/org/apache/hop/www/async/AsyncStatusServlet.java
+++
b/plugins/misc/async/src/main/java/org/apache/hop/www/async/AsyncStatusServlet.java
@@ -18,13 +18,13 @@
package org.apache.hop.www.async;
import com.fasterxml.jackson.databind.ObjectMapper;
+import jakarta.servlet.ServletException;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
import org.apache.commons.lang.StringUtils;
import org.apache.hop.core.Const;
import org.apache.hop.core.annotations.HopServerServlet;
diff --git
a/plugins/misc/rest/src/main/java/org/apache/hop/metadata/rest/RestConnection.java
b/plugins/misc/rest/src/main/java/org/apache/hop/metadata/rest/RestConnection.java
index e771803a94..776a3411ca 100644
---
a/plugins/misc/rest/src/main/java/org/apache/hop/metadata/rest/RestConnection.java
+++
b/plugins/misc/rest/src/main/java/org/apache/hop/metadata/rest/RestConnection.java
@@ -17,11 +17,11 @@
package org.apache.hop.metadata.rest;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.Response;
import lombok.Getter;
import lombok.Setter;
import org.apache.commons.lang.StringUtils;
diff --git a/plugins/pom.xml b/plugins/pom.xml
index 758724db81..129777cf0b 100644
--- a/plugins/pom.xml
+++ b/plugins/pom.xml
@@ -41,6 +41,11 @@
</modules>
<dependencies>
+ <dependency>
+ <groupId>jakarta.servlet</groupId>
+ <artifactId>jakarta.servlet-api</artifactId>
+ <version>6.1.0</version>
+ </dependency>
<dependency>
<groupId>org.apache.hop</groupId>
<artifactId>hop-core</artifactId>
diff --git a/plugins/tech/google/pom.xml b/plugins/tech/google/pom.xml
index 8de8e19f6b..84c638021a 100755
--- a/plugins/tech/google/pom.xml
+++ b/plugins/tech/google/pom.xml
@@ -37,7 +37,7 @@
<google-api-drive.version>v3-rev20250216-2.0.0</google-api-drive.version>
<google-api-sheets.version>v4-rev20250211-2.0.0</google-api-sheets.version>
<google-api-sqladmin.version>v1-rev20230721-2.0.0</google-api-sqladmin.version>
- <jetty-client.version>6.1.26</jetty-client.version>
+ <jetty-client.version>12.1.2</jetty-client.version>
</properties>
<dependencyManagement>
@@ -176,13 +176,13 @@
<artifactId>protobuf-java-util</artifactId>
</dependency>
<dependency>
- <groupId>org.mortbay.jetty</groupId>
+ <groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-client</artifactId>
<version>${jetty-client.version}</version>
<exclusions>
<exclusion>
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>servlet-api</artifactId>
+ <groupId>org.eclipse.jetty.ee11</groupId>
+ <artifactId>servlet-ee11-api</artifactId>
</exclusion>
</exclusions>
</dependency>
diff --git
a/plugins/tech/google/src/main/java/org/apache/hop/vfs/googledrive/util/CustomLocalServerReceiver.java
b/plugins/tech/google/src/main/java/org/apache/hop/vfs/googledrive/util/CustomLocalServerReceiver.java
index c83c95f802..1748e2cf30 100644
---
a/plugins/tech/google/src/main/java/org/apache/hop/vfs/googledrive/util/CustomLocalServerReceiver.java
+++
b/plugins/tech/google/src/main/java/org/apache/hop/vfs/googledrive/util/CustomLocalServerReceiver.java
@@ -20,16 +20,16 @@ package org.apache.hop.vfs.googledrive.util;
import
com.google.api.client.extensions.java6.auth.oauth2.VerificationCodeReceiver;
import com.google.api.client.util.Throwables;
import java.io.IOException;
+import java.net.InetSocketAddress;
import java.net.Socket;
-import java.net.SocketAddress;
import java.net.URL;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.mortbay.jetty.Connector;
-import org.mortbay.jetty.Request;
-import org.mortbay.jetty.Server;
-import org.mortbay.jetty.webapp.WebAppContext;
+import org.eclipse.jetty.ee11.webapp.WebAppContext;
+import org.eclipse.jetty.server.Request;
+import org.eclipse.jetty.server.Response;
+import org.eclipse.jetty.server.Server;
+import org.eclipse.jetty.util.Callback;
+import org.eclipse.jetty.util.Fields;
+import org.eclipse.jetty.util.resource.ResourceFactory;
public class CustomLocalServerReceiver implements VerificationCodeReceiver {
@@ -60,15 +60,10 @@ public class CustomLocalServerReceiver implements
VerificationCodeReceiver {
}
this.server = new Server(this.port);
- Connector[] connectors = this.server.getConnectors();
- int length = connectors.length;
- for (int i = 0; i < length; ++i) {
- Connector c = connectors[i];
- c.setHost(this.host);
- }
-
- this.server.addHandler(new CallbackHandler());
+ InetSocketAddress socketAddress = new InetSocketAddress(this.host,
this.port);
+ this.server = new Server(socketAddress);
+ this.server.setHandler(new CallbackHandler());
try {
this.server.start();
@@ -108,7 +103,7 @@ public class CustomLocalServerReceiver implements
VerificationCodeReceiver {
private static int getUnusedPort() throws IOException {
Socket s = new Socket();
- s.bind((SocketAddress) null);
+ s.bind((InetSocketAddress) null);
int var1;
try {
@@ -124,29 +119,33 @@ public class CustomLocalServerReceiver implements
VerificationCodeReceiver {
CallbackHandler() {
URL warUrl =
this.getClass().getClassLoader().getResource("success_page");
String warUrlString = warUrl.toExternalForm();
- setResourceBase(warUrlString);
+ setBaseResource(ResourceFactory.of(this).newResource(warUrlString));
setContextPath("/Callback");
}
@Override
- public void handle(
- String target, HttpServletRequest request, HttpServletResponse
response, int dispatch)
- throws IOException, ServletException {
- if (target.contains("/Callback")) {
+ public boolean handle(Request request, Response response, Callback
callback) throws Exception {
+ String pathInContext = request.getHttpURI().getPath();
+
+ if (pathInContext.contains("/Callback")) {
- CustomLocalServerReceiver.this.error = request.getParameter("error");
+ Fields params = Request.extractQueryParameters(request);
+
+ CustomLocalServerReceiver.this.error = params.getValue("error");
if (CustomLocalServerReceiver.this.code == null) {
- CustomLocalServerReceiver.this.code = request.getParameter("code");
+ CustomLocalServerReceiver.this.code = params.getValue("code");
}
if (CustomLocalServerReceiver.this.url != null
&& CustomLocalServerReceiver.this.error != null
&& CustomLocalServerReceiver.this.error.equals("access_denied")) {
- response.sendRedirect(CustomLocalServerReceiver.this.url);
+ Response.sendRedirect(request, response, callback,
CustomLocalServerReceiver.this.url);
} else {
- super.handle(target, request, response, dispatch);
+ return super.handle(request, response, callback);
}
- ((Request) request).setHandled(true);
}
+
+ callback.succeeded();
+ return true;
}
}
diff --git a/plugins/transforms/rest/pom.xml b/plugins/transforms/rest/pom.xml
index 6bd3312c2b..9682099227 100644
--- a/plugins/transforms/rest/pom.xml
+++ b/plugins/transforms/rest/pom.xml
@@ -38,7 +38,7 @@
<dependency>
<groupId>org.glassfish.jersey.connectors</groupId>
<artifactId>jersey-apache-connector</artifactId>
- <version>2.43</version>
+ <version>3.1.11</version>
</dependency>
</dependencies>
diff --git
a/plugins/transforms/rest/src/main/java/org/apache/hop/pipeline/transforms/rest/Rest.java
b/plugins/transforms/rest/src/main/java/org/apache/hop/pipeline/transforms/rest/Rest.java
index d9192faf6f..8728cd5547 100644
---
a/plugins/transforms/rest/src/main/java/org/apache/hop/pipeline/transforms/rest/Rest.java
+++
b/plugins/transforms/rest/src/main/java/org/apache/hop/pipeline/transforms/rest/Rest.java
@@ -19,6 +19,16 @@ package org.apache.hop.pipeline.transforms.rest;
import static org.apache.hop.core.Const.NVL;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
@@ -28,16 +38,6 @@ import java.security.NoSuchAlgorithmException;
import java.security.cert.CertificateException;
import java.util.List;
import javax.net.ssl.SSLContext;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
import org.apache.commons.lang.StringUtils;
import org.apache.hop.core.Const;
import org.apache.hop.core.encryption.Encr;
diff --git
a/plugins/transforms/rest/src/main/java/org/apache/hop/pipeline/transforms/rest/RestData.java
b/plugins/transforms/rest/src/main/java/org/apache/hop/pipeline/transforms/rest/RestData.java
index 73f5876708..282e93908e 100644
---
a/plugins/transforms/rest/src/main/java/org/apache/hop/pipeline/transforms/rest/RestData.java
+++
b/plugins/transforms/rest/src/main/java/org/apache/hop/pipeline/transforms/rest/RestData.java
@@ -17,8 +17,8 @@
package org.apache.hop.pipeline.transforms.rest;
+import jakarta.ws.rs.core.MediaType;
import javax.net.ssl.SSLContext;
-import javax.ws.rs.core.MediaType;
import org.apache.hop.core.row.IRowMeta;
import org.apache.hop.pipeline.transform.BaseTransformData;
import org.apache.hop.pipeline.transform.ITransformData;
diff --git
a/plugins/transforms/rest/src/test/java/org/apache/hop/pipeline/transforms/rest/RestCallRestTest.java
b/plugins/transforms/rest/src/test/java/org/apache/hop/pipeline/transforms/rest/RestCallRestTest.java
index b0993dd895..d60201f335 100644
---
a/plugins/transforms/rest/src/test/java/org/apache/hop/pipeline/transforms/rest/RestCallRestTest.java
+++
b/plugins/transforms/rest/src/test/java/org/apache/hop/pipeline/transforms/rest/RestCallRestTest.java
@@ -30,19 +30,19 @@ import static org.mockito.Mockito.times;
import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.client.ClientBuilder;
+import jakarta.ws.rs.client.Entity;
+import jakarta.ws.rs.client.Invocation;
+import jakarta.ws.rs.client.WebTarget;
+import jakarta.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
+import jakarta.ws.rs.core.UriBuilder;
import java.net.URI;
import java.util.ArrayList;
import java.util.List;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.Entity;
-import javax.ws.rs.client.Invocation;
-import javax.ws.rs.client.WebTarget;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.UriBuilder;
import org.apache.hop.core.Const;
import org.apache.hop.core.encryption.Encr;
import org.apache.hop.core.encryption.TwoWayPasswordEncoderPluginType;
diff --git
a/plugins/transforms/rest/src/test/java/org/apache/hop/pipeline/transforms/rest/RestInitAndProcessTest.java
b/plugins/transforms/rest/src/test/java/org/apache/hop/pipeline/transforms/rest/RestInitAndProcessTest.java
index 3824596306..5ea997552b 100644
---
a/plugins/transforms/rest/src/test/java/org/apache/hop/pipeline/transforms/rest/RestInitAndProcessTest.java
+++
b/plugins/transforms/rest/src/test/java/org/apache/hop/pipeline/transforms/rest/RestInitAndProcessTest.java
@@ -24,7 +24,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
-import javax.ws.rs.core.MediaType;
+import jakarta.ws.rs.core.MediaType;
import org.apache.hop.core.Const;
import org.apache.hop.core.encryption.Encr;
import org.apache.hop.core.encryption.TwoWayPasswordEncoderPluginType;
diff --git
a/plugins/transforms/rest/src/test/java/org/apache/hop/pipeline/transforms/rest/RestProcessRowTest.java
b/plugins/transforms/rest/src/test/java/org/apache/hop/pipeline/transforms/rest/RestProcessRowTest.java
index 0c468025c3..c60919f71f 100644
---
a/plugins/transforms/rest/src/test/java/org/apache/hop/pipeline/transforms/rest/RestProcessRowTest.java
+++
b/plugins/transforms/rest/src/test/java/org/apache/hop/pipeline/transforms/rest/RestProcessRowTest.java
@@ -25,9 +25,9 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.when;
+import jakarta.ws.rs.core.MediaType;
import java.util.ArrayList;
import java.util.List;
-import javax.ws.rs.core.MediaType;
import org.apache.hop.core.exception.HopException;
import org.apache.hop.core.logging.ILoggingObject;
import org.apache.hop.core.row.IRowMeta;
diff --git
a/plugins/transforms/rest/src/test/java/org/apache/hop/pipeline/transforms/rest/RestTest.java
b/plugins/transforms/rest/src/test/java/org/apache/hop/pipeline/transforms/rest/RestTest.java
index 387cd09a41..fe3b697c91 100644
---
a/plugins/transforms/rest/src/test/java/org/apache/hop/pipeline/transforms/rest/RestTest.java
+++
b/plugins/transforms/rest/src/test/java/org/apache/hop/pipeline/transforms/rest/RestTest.java
@@ -26,10 +26,10 @@ import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.mockStatic;
import static org.mockito.Mockito.spy;
-import javax.ws.rs.client.Client;
-import javax.ws.rs.core.MultivaluedHashMap;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
+import jakarta.ws.rs.client.Client;
+import jakarta.ws.rs.core.MultivaluedHashMap;
+import jakarta.ws.rs.core.MultivaluedMap;
+import jakarta.ws.rs.core.Response;
import org.apache.hop.pipeline.PipelineMeta;
import org.apache.hop.pipeline.engines.local.LocalPipelineEngine;
import org.apache.hop.pipeline.transform.TransformMeta;
diff --git
a/plugins/transforms/salesforce/src/main/java/org/apache/hop/pipeline/transforms/salesforce/SalesforceConnection.java
b/plugins/transforms/salesforce/src/main/java/org/apache/hop/pipeline/transforms/salesforce/SalesforceConnection.java
index 22b60d9de4..9c682b586c 100644
---
a/plugins/transforms/salesforce/src/main/java/org/apache/hop/pipeline/transforms/salesforce/SalesforceConnection.java
+++
b/plugins/transforms/salesforce/src/main/java/org/apache/hop/pipeline/transforms/salesforce/SalesforceConnection.java
@@ -39,6 +39,7 @@ import com.sforce.ws.ConnectionException;
import com.sforce.ws.ConnectorConfig;
import com.sforce.ws.bind.XmlObject;
import com.sforce.ws.wsdl.Constants;
+import jakarta.xml.soap.SOAPException;
import java.io.IOException;
import java.io.StringWriter;
import java.util.ArrayList;
@@ -49,7 +50,6 @@ import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import javax.xml.namespace.QName;
-import javax.xml.soap.SOAPException;
import org.apache.commons.lang.StringUtils;
import org.apache.hop.core.Const;
import org.apache.hop.core.encryption.Encr;
diff --git a/rap/pom.xml b/rap/pom.xml
index b37b764ddb..94d4173bb9 100644
--- a/rap/pom.xml
+++ b/rap/pom.xml
@@ -29,7 +29,7 @@
<name>Hop GUI (RAP fragment)</name>
<properties>
- <rap.version>3.29.0</rap.version>
+ <rap.version>4.4.0</rap.version>
</properties>
<dependencies>
diff --git
a/rap/src/main/java/org/apache/hop/ui/hopgui/HopWebServletContextListener.java
b/rap/src/main/java/org/apache/hop/ui/hopgui/HopWebServletContextListener.java
index 982e0c8d85..2a420a566f 100644
---
a/rap/src/main/java/org/apache/hop/ui/hopgui/HopWebServletContextListener.java
+++
b/rap/src/main/java/org/apache/hop/ui/hopgui/HopWebServletContextListener.java
@@ -17,8 +17,8 @@
package org.apache.hop.ui.hopgui;
+import jakarta.servlet.ServletContextEvent;
import java.util.logging.Logger;
-import javax.servlet.ServletContextEvent;
import org.apache.hop.core.HopEnvironment;
import org.apache.hop.core.exception.HopException;
import org.eclipse.rap.rwt.engine.RWTServletContextListener;
diff --git a/rcp/pom.xml b/rcp/pom.xml
index ab73576226..74ec434c52 100644
--- a/rcp/pom.xml
+++ b/rcp/pom.xml
@@ -50,7 +50,7 @@
</dependency>
<dependency>
<groupId>org.eclipse.platform</groupId>
- <artifactId>org.eclipse.swt.gtk.linux.x86_64</artifactId>
+ <artifactId>${swt.artifactId}</artifactId>
<version>${org.eclipse.platform.version}</version>
<scope>provided</scope>
</dependency>
diff --git a/rest/pom.xml b/rest/pom.xml
index 5986e2e304..0ca7f867df 100644
--- a/rest/pom.xml
+++ b/rest/pom.xml
@@ -30,8 +30,8 @@
<name>Hop REST</name>
<properties>
- <jakarta.version>3.1.0</jakarta.version>
- <jersey.version>3.1.0</jersey.version>
+ <jakarta.version>4.0.0</jakarta.version>
+ <jersey.version>3.1.11</jersey.version>
</properties>
<dependencyManagement>
@@ -117,17 +117,17 @@
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
- <version>${jakarta.version}</version>
+ <version>${jersey.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.inject</groupId>
<artifactId>jersey-hk2</artifactId>
- <version>${jakarta.version}</version>
+ <version>${jersey.version}</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
- <version>${jakarta.version}</version>
+ <version>${jersey.version}</version>
</dependency>
</dependencies>