You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@juneau.apache.org by ja...@apache.org on 2022/12/27 14:27:53 UTC
[juneau] 01/01: Upgrade to Servlet 6.0.0
This is an automated email from the ASF dual-hosted git repository.
jamesbognar pushed a commit to branch jbUpgradeServletTo6
in repository https://gitbox.apache.org/repos/asf/juneau.git
commit bc2d6ff926080a3af32166bd9b1971b6a47f20d7
Author: JamesBognar <ja...@salesforce.com>
AuthorDate: Tue Dec 27 09:27:21 2022 -0500
Upgrade to Servlet 6.0.0
---
juneau-build-javadoc.sh | 2 +-
.../org/apache/juneau/config/store/FileStore.java | 1 -
.../juneau-examples-rest-springboot.launch | 4 +-
.../juneau/examples/rest/springboot/App.java | 4 +-
.../juneau/examples/rest/RequestEchoResource.java | 4 +-
.../juneau-microservice-ftest/.gitignore | 6 -
.../juneau-microservice-ftest/files/jetty.xml | 80 ----------
.../juneau-microservice-test.cfg | 38 -----
.../juneau-microservice-test.launch | 18 ---
.../juneau-microservice-ftest/logs/.gitignore | 1 -
.../juneau-microservice-ftest/logs/empty.txt | 0
.../juneau-microservice-ftest/pom.xml | 112 --------------
.../src/main/java/empty.txt | 0
.../apache/juneau/rest/test/ConfigResource.java | 40 -----
.../org/apache/juneau/rest/test/ConfigTest.java | 64 --------
.../juneau/rest/test/LargePojosResource.java | 43 ------
.../org/apache/juneau/rest/test/RestTestcase.java | 91 -----------
.../java/org/apache/juneau/rest/test/Root.java | 40 -----
.../apache/juneau/rest/test/TestMicroservice.java | 171 ---------------------
.../org/apache/juneau/rest/test/_TestSuite.java | 42 -----
.../rest/test/HtmlPropertiesResource.properties | 31 ----
.../juneau/rest/test/ParamsResource.properties | 15 --
.../rest/test/ParamsResource_ja_JP.properties | 15 --
.../microservice/jetty/JettyMicroservice.java | 2 +-
.../microservice/springboot/template/App.java | 2 +-
juneau-microservice/pom.xml | 1 -
juneau-open-javadoc.sh | 2 +-
.../apache/juneau/rest/client/ResponseContent.java | 9 ++
.../apache/juneau/rest/mock/MockHttpSession.java | 33 +---
.../apache/juneau/rest/mock/MockRestClient.java | 2 +-
.../apache/juneau/rest/mock/MockRestRequest.java | 4 +-
.../juneau/rest/mock/MockServletRequest.java | 29 ++--
.../juneau/rest/mock/MockServletResponse.java | 20 +--
.../rest/OverrideableHttpServletRequest.java | 2 +-
.../java/org/apache/juneau/rest/RestChildren.java | 2 +-
.../java/org/apache/juneau/rest/RestContext.java | 6 +-
.../java/org/apache/juneau/rest/RestOpContext.java | 4 +-
.../java/org/apache/juneau/rest/RestRequest.java | 4 +-
.../java/org/apache/juneau/rest/RestResponse.java | 4 +-
.../java/org/apache/juneau/rest/RestSession.java | 5 +-
.../apache/juneau/rest/annotation/RestDestroy.java | 2 +-
.../apache/juneau/rest/annotation/RestEndCall.java | 2 +-
.../apache/juneau/rest/annotation/RestInit.java | 2 +-
.../juneau/rest/annotation/RestPostCall.java | 4 +-
.../juneau/rest/annotation/RestPostInit.java | 2 +-
.../apache/juneau/rest/annotation/RestPreCall.java | 4 +-
.../juneau/rest/annotation/RestStartCall.java | 2 +-
.../org/apache/juneau/rest/arg/CookieList.java | 2 +-
.../juneau/rest/arg/HttpServletRequestArgs.java | 4 +-
.../juneau/rest/arg/HttpServletResponseArgs.java | 2 +-
.../apache/juneau/rest/arg/HttpSessionArgs.java | 2 +-
.../apache/juneau/rest/arg/RestRequestArgs.java | 4 +-
.../apache/juneau/rest/arg/RestResponseArgs.java | 2 +-
.../apache/juneau/rest/debug/DebugEnablement.java | 2 +-
.../juneau/rest/httppart/RequestAttributes.java | 4 +-
.../juneau/rest/httppart/RequestContent.java | 2 +-
.../juneau/rest/httppart/RequestFormParam.java | 4 +-
.../juneau/rest/httppart/RequestFormParams.java | 2 +-
.../juneau/rest/logger/BasicTestCallLogger.java | 2 +-
.../org/apache/juneau/rest/logger/CallLogger.java | 5 +-
.../apache/juneau/rest/logger/CallLoggerRule.java | 13 +-
.../juneau/rest/matcher/ClientVersionMatcher.java | 2 +-
.../rest/matcher/MultipartFormDataMatcher.java | 2 +-
.../apache/juneau/rest/matcher/RestMatcher.java | 2 +-
.../juneau/rest/matcher/UrlEncodedFormMatcher.java | 2 +-
.../juneau/rest/processor/ResponseProcessor.java | 2 +-
.../apache/juneau/rest/rrpc/RrpcRestOpContext.java | 2 +-
.../juneau/rest/servlet/BasicRestObject.java | 2 +-
.../juneau/rest/servlet/BasicRestObjectGroup.java | 2 +-
.../org/apache/juneau/rest/servlet/RestObject.java | 4 +-
.../apache/juneau/rest/servlet/RestServlet.java | 6 +-
.../rest/swagger/BasicSwaggerProviderSession.java | 2 +-
.../rest/util/BoundedServletInputStream.java | 2 +-
.../rest/util/CachingHttpServletRequest.java | 6 +-
.../rest/util/CachingHttpServletResponse.java | 6 +-
.../rest/util/FinishableServletOutputStream.java | 2 +-
.../org/apache/juneau/rest/util/RestUtils.java | 2 +-
.../juneau/rest/vars/RequestAttributeVar.java | 2 +-
juneau-sc/juneau-sc-server/pom.xml | 5 +
.../http/remote/Remote_CommonInterfaces_Test.java | 36 ++---
.../org/apache/juneau/rest/RestOp_Params_Test.java | 2 +-
.../rest/Rest_PredefinedStatusCodes_Test.java | 2 +-
.../juneau/rest/annotation/RestInit_Test.java | 2 +-
.../rest/annotation/RestOp_Matchers_Test.java | 2 +-
.../juneau/rest/annotation/RestPostCall_Test.java | 2 +-
.../juneau/rest/annotation/RestPreCall_Test.java | 2 +-
.../juneau/rest/annotation/RestStartCall_Test.java | 2 +-
.../rest/test/client/ThirdPartyProxyResource.java | 2 +-
pom.xml | 6 +-
89 files changed, 142 insertions(+), 990 deletions(-)
diff --git a/juneau-build-javadoc.sh b/juneau-build-javadoc.sh
index 8fb3a0e13..17b12b1b1 100755
--- a/juneau-build-javadoc.sh
+++ b/juneau-build-javadoc.sh
@@ -11,7 +11,7 @@
# * specific language governing permissions and limitations under the License. *
# ***************************************************************************************************************************
-. juneau-env.sh
+. ./juneau-env.sh
function fail_with_message {
X_DATE=$(date +'%H:%M:%S')
diff --git a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/store/FileStore.java b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/store/FileStore.java
index f3b5af273..168e6968b 100644
--- a/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/store/FileStore.java
+++ b/juneau-core/juneau-config/src/main/java/org/apache/juneau/config/store/FileStore.java
@@ -577,7 +577,6 @@ public class FileStore extends ConfigStore {
dir.toPath().register(watchService, kinds, modifier);
}
- @SuppressWarnings("restriction")
private WatchEvent.Modifier lookupModifier(WatcherSensitivity s) {
try {
switch(s) {
diff --git a/juneau-examples/juneau-examples-rest-springboot/juneau-examples-rest-springboot.launch b/juneau-examples/juneau-examples-rest-springboot/juneau-examples-rest-springboot.launch
index 35cab1ceb..085c063eb 100644
--- a/juneau-examples/juneau-examples-rest-springboot/juneau-examples-rest-springboot.launch
+++ b/juneau-examples/juneau-examples-rest-springboot/juneau-examples-rest-springboot.launch
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
+ <booleanAttribute key="org.eclipse.debug.core.ATTR_FORCE_SYSTEM_CONSOLE_ENCODING" value="false"/>
<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
<listEntry value="/juneau-examples-rest-springboot/src/main/java/org/apache/juneau/examples/rest/springboot/App.java"/>
</listAttribute>
@@ -9,10 +10,11 @@
<booleanAttribute key="org.eclipse.jdt.debug.ui.CONSIDER_INHERITED_MAIN" value="true"/>
<booleanAttribute key="org.eclipse.jdt.debug.ui.INCLUDE_EXTERNAL_JARS" value="true"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_ATTR_USE_ARGFILE" value="false"/>
+ <booleanAttribute key="org.eclipse.jdt.launching.ATTR_SHOW_CODEDETAILS_IN_EXCEPTION_MESSAGES" value="true"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_CLASSPATH_ONLY_JAR" value="false"/>
<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
<stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.m2e.launchconfig.classpathProvider"/>
- <stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11/"/>
+ <stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-18/"/>
<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.apache.juneau.examples.rest.springboot.App"/>
<stringAttribute key="org.eclipse.jdt.launching.MODULE_NAME" value="juneau-examples-rest-springboot"/>
<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="juneau-examples-rest-springboot"/>
diff --git a/juneau-examples/juneau-examples-rest-springboot/src/main/java/org/apache/juneau/examples/rest/springboot/App.java b/juneau-examples/juneau-examples-rest-springboot/src/main/java/org/apache/juneau/examples/rest/springboot/App.java
index 4204be8d1..22e95a928 100644
--- a/juneau-examples/juneau-examples-rest-springboot/src/main/java/org/apache/juneau/examples/rest/springboot/App.java
+++ b/juneau-examples/juneau-examples-rest-springboot/src/main/java/org/apache/juneau/examples/rest/springboot/App.java
@@ -12,8 +12,6 @@
// ***************************************************************************************************************************
package org.apache.juneau.examples.rest.springboot;
-import javax.servlet.*;
-
import org.apache.juneau.rest.annotation.*;
import org.apache.juneau.rest.springboot.*;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@@ -95,7 +93,7 @@ public class App {
* @return The servlet registration mapped to "/*".
*/
@Bean
- public ServletRegistrationBean<Servlet> getRootServlet(RootResources rootResources) {
+ public ServletRegistrationBean<jakarta.servlet.Servlet> getRootServlet(RootResources rootResources) {
return new ServletRegistrationBean<>(rootResources, "/*");
}
}
diff --git a/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/RequestEchoResource.java b/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/RequestEchoResource.java
index f222fa29e..12bd0da13 100644
--- a/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/RequestEchoResource.java
+++ b/juneau-examples/juneau-examples-rest/src/main/java/org/apache/juneau/examples/rest/RequestEchoResource.java
@@ -12,8 +12,8 @@
// ***************************************************************************************************************************
package org.apache.juneau.examples.rest;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
import org.apache.juneau.annotation.*;
import org.apache.juneau.html.annotation.*;
diff --git a/juneau-microservice/juneau-microservice-ftest/.gitignore b/juneau-microservice/juneau-microservice-ftest/.gitignore
deleted file mode 100644
index 34acf885c..000000000
--- a/juneau-microservice/juneau-microservice-ftest/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-/target/
-**/.DS_Store
-.classpath
-.project
-/.settings/
-/bin/
diff --git a/juneau-microservice/juneau-microservice-ftest/files/jetty.xml b/juneau-microservice/juneau-microservice-ftest/files/jetty.xml
deleted file mode 100644
index 30a1fd8e7..000000000
--- a/juneau-microservice/juneau-microservice-ftest/files/jetty.xml
+++ /dev/null
@@ -1,80 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_3.dtd">
-<!--
- ***************************************************************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file *
- * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file *
- * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance *
- * with the License. You may obtain a copy of the License at *
- * *
- * http://www.apache.org/licenses/LICENSE-2.0 *
- * *
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an *
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the *
- * specific language governing permissions and limitations under the License. *
- ***************************************************************************************************************************
--->
-
-<Configure id="ExampleServer" class="org.eclipse.jetty.server.Server">
-
- <Set name="connectors">
- <Array type="org.eclipse.jetty.server.Connector">
- <Item>
- <New class="org.eclipse.jetty.server.ServerConnector">
- <Arg>
- <Ref refid="ExampleServer" />
- </Arg>
- <Set name="port">$S{availablePort,8080}</Set>
- </New>
- </Item>
- </Array>
- </Set>
-
- <New id="context" class="org.eclipse.jetty.servlet.ServletContextHandler">
- <Set name="contextPath">/</Set>
- <Set name="sessionHandler">
- <New class="org.eclipse.jetty.server.session.SessionHandler" />
- </Set>
- </New>
-
- <Set name="handler">
- <New class="org.eclipse.jetty.server.handler.HandlerCollection">
- <Set name="handlers">
- <Array type="org.eclipse.jetty.server.Handler">
- <Item>
- <Ref refid="context" />
- </Item>
- <Item>
- <New class="org.eclipse.jetty.server.handler.DefaultHandler" />
- </Item>
- </Array>
- </Set>
- </New>
- </Set>
-
- <Set name="requestLog">
- <New id="RequestLogImpl" class="org.eclipse.jetty.server.CustomRequestLog">
- <!-- Param 0: org.eclipse.jetty.server.RequestLogWriter -->
- <Arg>
- <New class="org.eclipse.jetty.server.RequestLogWriter">
- <Set name="append">false</Set>
- <Set name="filename"><Property name="jetty.logs" default="$C{Logging/logDir,logs}" />/jetty-requests.log</Set>
- <Set name="filenameDateFormat">yyyy_MM_dd</Set>
- <Set name="retainDays">90</Set>
- <Set name="timeZone">GMT</Set>
- </New>
- </Arg>
- <!-- Param 1: String -->
- <Arg>
- <Get class="org.eclipse.jetty.server.CustomRequestLog" name="EXTENDED_NCSA_FORMAT" />
- </Arg>
- </New>
- </Set>
-
- <Get name="ThreadPool">
- <Set name="minThreads" type="int">10</Set>
- <Set name="maxThreads" type="int">100</Set>
- <Set name="idleTimeout" type="int">60000</Set>
- <Set name="detailedDump">true</Set>
- </Get>
-</Configure>
diff --git a/juneau-microservice/juneau-microservice-ftest/juneau-microservice-test.cfg b/juneau-microservice/juneau-microservice-ftest/juneau-microservice-test.cfg
deleted file mode 100644
index 3157fdaff..000000000
--- a/juneau-microservice/juneau-microservice-ftest/juneau-microservice-test.cfg
+++ /dev/null
@@ -1,38 +0,0 @@
-# ***************************************************************************************************************************
-# * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file *
-# * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file *
-# * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance *
-# * with the License. You may obtain a copy of the License at *
-# * *
-# * http://www.apache.org/licenses/LICENSE-2.0 *
-# * *
-# * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an *
-# * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the *
-# * specific language governing permissions and limitations under the License. *
-# ***************************************************************************************************************************
-
-saveConfigAction = RESTART_SERVER
-
-[Jetty]
-config = files/jetty.xml
-resolveVars = true
-port = 10001,0,0,0
-
-[REST]
-
-staticFiles = htdocs:htdocs
-
-[Test]
-int1 = 1
-int2 = [1,2,3]
-int3 = $C{Test/int1,-1}
-int4 = $C{Test/int3,-1}
-int5 = $C{XXX,-1}
-boolean1 = true
-boolean2 = [true,true]
-testManifestEntry = $MF{Test-Entry}
-
-[SystemProperties]
-org.eclipse.jetty.util.log.class = org.apache.juneau.microservice.jetty.JettyLogger
-org.eclipse.jetty.LEVEL = ALL
-derby.stream.error.file = $C{Logging/logDir}/derby-errors.log
\ No newline at end of file
diff --git a/juneau-microservice/juneau-microservice-ftest/juneau-microservice-test.launch b/juneau-microservice/juneau-microservice-ftest/juneau-microservice-test.launch
deleted file mode 100644
index d42cc7989..000000000
--- a/juneau-microservice/juneau-microservice-ftest/juneau-microservice-test.launch
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
- <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
- <listEntry value="/juneau-microservice-ftest"/>
- </listAttribute>
- <listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
- <listEntry value="4"/>
- </listAttribute>
- <booleanAttribute key="org.eclipse.jdt.debug.ui.CONSIDER_INHERITED_MAIN" value="true"/>
- <booleanAttribute key="org.eclipse.jdt.debug.ui.INCLUDE_EXTERNAL_JARS" value="true"/>
- <booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
- <stringAttribute key="org.eclipse.jdt.launching.CLASSPATH_PROVIDER" value="org.eclipse.m2e.launchconfig.classpathProvider"/>
- <stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
- <stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.apache.juneau.microservice.jetty.JettyMicroservice"/>
- <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="juneau-microservice-test.cfg"/>
- <stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="juneau-microservice-ftest"/>
- <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.m2e.launchconfig.sourcepathProvider"/>
-</launchConfiguration>
diff --git a/juneau-microservice/juneau-microservice-ftest/logs/.gitignore b/juneau-microservice/juneau-microservice-ftest/logs/.gitignore
deleted file mode 100644
index bd317cc13..000000000
--- a/juneau-microservice/juneau-microservice-ftest/logs/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/*log*
diff --git a/juneau-microservice/juneau-microservice-ftest/logs/empty.txt b/juneau-microservice/juneau-microservice-ftest/logs/empty.txt
deleted file mode 100644
index e69de29bb..000000000
diff --git a/juneau-microservice/juneau-microservice-ftest/pom.xml b/juneau-microservice/juneau-microservice-ftest/pom.xml
deleted file mode 100644
index d1c97de00..000000000
--- a/juneau-microservice/juneau-microservice-ftest/pom.xml
+++ /dev/null
@@ -1,112 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ***************************************************************************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file *
- * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file *
- * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance *
- * with the License. You may obtain a copy of the License at *
- * *
- * http://www.apache.org/licenses/LICENSE-2.0 *
- * *
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an *
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the *
- * specific language governing permissions and limitations under the License. *
- ***************************************************************************************************************************
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-
- <modelVersion>4.0.0</modelVersion>
-
- <parent>
- <groupId>org.apache.juneau</groupId>
- <artifactId>juneau-microservice</artifactId>
- <version>9.0.0-SNAPSHOT</version>
- </parent>
-
- <artifactId>juneau-microservice-ftest</artifactId>
- <name>juneau/microservice/microservice-ftest</name>
- <description>Apache Juneau Microservice Function Tests</description>
-
- <properties>
- <maven.javadoc.skip>true</maven.javadoc.skip>
- </properties>
-
- <dependencies>
- <dependency>
- <groupId>org.apache.juneau</groupId>
- <artifactId>juneau-examples-rest</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.juneau</groupId>
- <artifactId>juneau-rest-server</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>org.apache.juneau</groupId>
- <artifactId>juneau-rest-mock</artifactId>
- <version>${project.version}</version>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <scope>compile</scope>
- </dependency>
- <dependency>
- <groupId>javax.ws.rs</groupId>
- <artifactId>jsr311-api</artifactId>
- </dependency>
- <dependency>
- <groupId>jakarta.servlet</groupId>
- <artifactId>jakarta.servlet-api</artifactId>
- </dependency>
- <dependency>
- <groupId>javax.activation</groupId>
- <artifactId>javax.activation-api</artifactId>
- </dependency>
- <dependency>
- <groupId>com.sun.activation</groupId>
- <artifactId>javax.activation</artifactId>
- </dependency>
- <dependency>
- <groupId>org.apache.juneau</groupId>
- <artifactId>juneau-utest-utils</artifactId>
- <version>${project.version}</version>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-surefire-plugin</artifactId>
- <configuration>
- <includes>
- <include>
- **/_TestSuite.java
- </include>
- </includes>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.jacoco</groupId>
- <artifactId>jacoco-maven-plugin</artifactId>
- <executions>
- <execution>
- <id>default-prepare-agent</id>
- <goals>
- <goal>prepare-agent</goal>
- </goals>
- </execution>
- <execution>
- <id>default-report</id>
- <phase>prepare-package</phase>
- <goals>
- <goal>report</goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/juneau-microservice/juneau-microservice-ftest/src/main/java/empty.txt b/juneau-microservice/juneau-microservice-ftest/src/main/java/empty.txt
deleted file mode 100644
index e69de29bb..000000000
diff --git a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/ConfigResource.java b/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/ConfigResource.java
deleted file mode 100644
index 57de47845..000000000
--- a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/ConfigResource.java
+++ /dev/null
@@ -1,40 +0,0 @@
-// ***************************************************************************************************************************
-// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file *
-// * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file *
-// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance *
-// * with the License. You may obtain a copy of the License at *
-// * *
-// * http://www.apache.org/licenses/LICENSE-2.0 *
-// * *
-// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an *
-// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the *
-// * specific language governing permissions and limitations under the License. *
-// ***************************************************************************************************************************
-package org.apache.juneau.rest.test;
-
-import static org.apache.juneau.http.HttpMethod.*;
-
-import org.apache.juneau.http.annotation.*;
-import org.apache.juneau.rest.*;
-import org.apache.juneau.rest.annotation.*;
-import org.apache.juneau.rest.servlet.*;
-
-/**
- * JUnit automated testcase resource.
- */
-@Rest(
- path="/testConfig"
-)
-@SuppressWarnings({"serial"})
-public class ConfigResource extends BasicRestServlet {
-
- @RestOp(method=GET, path="/")
- public Object test1(RestRequest req) {
- return req.getConfig().toMap();
- }
-
- @RestOp(method=GET, path="/{key}/{class}")
- public Object test2(RestRequest req, @Path("key") String key, @Path("class") Class<?> c) throws Exception {
- return req.getConfig().get(key).as(c).orElse(null);
- }
-}
diff --git a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/ConfigTest.java b/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/ConfigTest.java
deleted file mode 100644
index 6f5e3a120..000000000
--- a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/ConfigTest.java
+++ /dev/null
@@ -1,64 +0,0 @@
-// ***************************************************************************************************************************
-// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file *
-// * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file *
-// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance *
-// * with the License. You may obtain a copy of the License at *
-// * *
-// * http://www.apache.org/licenses/LICENSE-2.0 *
-// * *
-// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an *
-// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the *
-// * specific language governing permissions and limitations under the License. *
-// ***************************************************************************************************************************
-package org.apache.juneau.rest.test;
-
-import static org.apache.juneau.assertions.Assertions.*;
-import static org.apache.juneau.common.internal.StringUtils.*;
-import static org.junit.Assert.*;
-import static org.junit.runners.MethodSorters.*;
-
-import java.util.*;
-
-import org.apache.juneau.collections.*;
-import org.apache.juneau.config.*;
-import org.apache.juneau.rest.client.*;
-import org.junit.*;
-
-@FixMethodOrder(NAME_ASCENDING)
-public class ConfigTest extends RestTestcase {
-
- private static String URL = "/testConfig";
-
- //====================================================================================================
- // Basic tests
- //====================================================================================================
- @Test
- public void test() throws Exception {
- RestClient c = TestMicroservice.client().accept("text/json5").build();
-
- Map<String,Map<String,Object>> m = c.get(URL).run().getContent().as(Map.class, String.class, JsonMap.class);
-
- Config cf = Config.create().memStore().build().load(m);
-
- assertObject(cf.getSection("Test").asMap().get()).asJson().is("{int1:'1',int2:'[1,2,3]',int3:'1',int4:'1',int5:'-1',boolean1:'true',boolean2:'[true,true]',testManifestEntry:'test-value'}");
-
- assertEquals("'1'", c.get(URL + "/Test%2Fint1/" + getName(String.class)).run().getContent().asString());
- assertEquals("'[1,2,3]'", c.get(URL + "/Test%2Fint2/" + getName(String.class)).run().getContent().asString());
- assertEquals("['1','2','3']", c.get(URL + "/Test%2Fint2/" + getName(String[].class)).run().getContent().asString());
- assertEquals("[1,2,3]", c.get(URL + "/Test%2Fint2/" + getName(int[].class)).run().getContent().asString());
- assertEquals("[1,2,3]", c.get(URL + "/Test%2Fint2/" + getName(Integer[].class)).run().getContent().asString());
- assertEquals("1", c.get(URL + "/Test%2Fint3/" + getName(Integer.class)).run().getContent().asString());
- assertEquals("1", c.get(URL + "/Test%2Fint4/" + getName(Integer.class)).run().getContent().asString());
- assertEquals("-1", c.get(URL + "/Test%2Fint5/" + getName(Integer.class)).run().getContent().asString());
- assertEquals("true", c.get(URL + "/Test%2Fboolean1/" + getName(Boolean.class)).run().getContent().asString());
- assertEquals("[true,true]", c.get(URL + "/Test%2Fboolean2/" + getName(Boolean[].class)).run().getContent().asString());
- assertEquals("'test-value'", c.get(URL + "/Test%2FtestManifestEntry/" + getName(String.class)).run().getContent().asString());
-
- cf.close();
- c.closeQuietly();
- }
-
- private String getName(Class<?> c) {
- return urlEncode(c.getName());
- }
-}
diff --git a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/LargePojosResource.java b/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/LargePojosResource.java
deleted file mode 100644
index ee9edf581..000000000
--- a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/LargePojosResource.java
+++ /dev/null
@@ -1,43 +0,0 @@
-// ***************************************************************************************************************************
-// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file *
-// * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file *
-// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance *
-// * with the License. You may obtain a copy of the License at *
-// * *
-// * http://www.apache.org/licenses/LICENSE-2.0 *
-// * *
-// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an *
-// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the *
-// * specific language governing permissions and limitations under the License. *
-// ***************************************************************************************************************************
-package org.apache.juneau.rest.test;
-
-import static org.apache.juneau.http.HttpMethod.*;
-
-import org.apache.juneau.http.annotation.*;
-import org.apache.juneau.rest.annotation.*;
-import org.apache.juneau.rest.servlet.*;
-import org.apache.juneau.testutils.pojos.*;
-
-/**
- * JUnit automated testcase resource.
- */
-@Rest(
- path="/testLargePojos"
-)
-public class LargePojosResource extends BasicRestServlet {
- private static final long serialVersionUID = 1L;
-
- //====================================================================================================
- // Test how long it takes to serialize/parse various content types.
- //====================================================================================================
- @RestOp(method=GET, path="/")
- public LargePojo testGet() {
- return LargePojo.get();
- }
-
- @RestOp(method=PUT, path="/")
- public String testPut(@Content LargePojo in) {
- return "ok";
- }
-}
diff --git a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/RestTestcase.java b/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/RestTestcase.java
deleted file mode 100644
index d5827b546..000000000
--- a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/RestTestcase.java
+++ /dev/null
@@ -1,91 +0,0 @@
-// ***************************************************************************************************************************
-// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file *
-// * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file *
-// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance *
-// * with the License. You may obtain a copy of the License at *
-// * *
-// * http://www.apache.org/licenses/LICENSE-2.0 *
-// * *
-// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an *
-// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the *
-// * specific language governing permissions and limitations under the License. *
-// ***************************************************************************************************************************
-package org.apache.juneau.rest.test;
-
-import static org.apache.juneau.internal.CollectionUtils.*;
-
-import java.io.*;
-import java.util.*;
-
-import org.apache.juneau.parser.*;
-import org.apache.juneau.rest.client.*;
-import org.apache.juneau.serializer.*;
-import org.junit.*;
-
-/**
- * Superclass of REST testcases that start up the REST test microservice before running the tests locally.
- *
- * @author James Bognar (james.bognar@salesforce.com)
- */
-public class RestTestcase {
-
- private static boolean microserviceStarted;
-
- // Reusable RestClients keyed by label that live for the duration of a testcase class.
- private static Map<String,RestClient> clients = map();
-
- // Reusable object cache that lives for the duration of a testcase class.
- private static Map<String,Object> cache = map();
-
- @BeforeClass
- public static void setUp() {
- microserviceStarted = TestMicroservice.startMicroservice();
- }
-
- /**
- * Creates a REST client against the test microservice using the specified serializer and parser.
- * Client is automatically closed on tear-down.
- */
- protected RestClient getClient(String label, Serializer serializer, Parser parser) {
- if (! clients.containsKey(label))
- clients.put(label, TestMicroservice.client(serializer, parser).build());
- return clients.get(label);
- }
-
- /**
- * Same as {@link #getClient(String, Serializer, Parser)} but sets the debug flag on the client.
- */
- protected RestClient getDebugClient(String label, Serializer serializer, Parser parser) {
- if (! clients.containsKey(label))
- clients.put(label, TestMicroservice.client(serializer, parser).debug().build());
- return clients.get(label);
- }
-
- protected void addClientToLifecycle(RestClient c) {
- clients.put(UUID.randomUUID().toString(), c);
- }
-
- @SuppressWarnings("unchecked")
- protected <T> T getCached(String label, Class<T> c) {
- return (T)cache.get(label);
- }
-
- protected void cache(String label, Object o) {
- cache.put(label, o);
- }
-
- @AfterClass
- public static void tearDown() {
- if (microserviceStarted)
- TestMicroservice.stopMicroservice();
- for (RestClient rc : clients.values()) {
- try {
- rc.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- clients.clear();
- cache.clear();
- }
-}
diff --git a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/Root.java b/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/Root.java
deleted file mode 100644
index 5f1716666..000000000
--- a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/Root.java
+++ /dev/null
@@ -1,40 +0,0 @@
-// ***************************************************************************************************************************
-// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file *
-// * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file *
-// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance *
-// * with the License. You may obtain a copy of the License at *
-// * *
-// * http://www.apache.org/licenses/LICENSE-2.0 *
-// * *
-// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an *
-// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the *
-// * specific language governing permissions and limitations under the License. *
-// ***************************************************************************************************************************
-package org.apache.juneau.rest.test;
-
-import static org.apache.juneau.http.HttpMethod.*;
-
-import org.apache.juneau.microservice.jetty.resources.*;
-import org.apache.juneau.microservice.resources.*;
-import org.apache.juneau.rest.*;
-import org.apache.juneau.rest.annotation.*;
-import org.apache.juneau.rest.beans.*;
-import org.apache.juneau.rest.servlet.*;
-
-@Rest(
- path="/*",
- children={
- DebugResource.class,
- ConfigResource.class,
- LargePojosResource.class,
- ShutdownResource.class,
- }
-)
-public class Root extends BasicRestServlet {
- private static final long serialVersionUID = 1L;
-
- @RestOp(method=GET, path="/")
- public ChildResourceDescriptions doGet(RestRequest req) throws Exception {
- return ChildResourceDescriptions.of(req);
- }
-}
\ No newline at end of file
diff --git a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/TestMicroservice.java b/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/TestMicroservice.java
deleted file mode 100644
index 59730d5b4..000000000
--- a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/TestMicroservice.java
+++ /dev/null
@@ -1,171 +0,0 @@
-// ***************************************************************************************************************************
-// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file *
-// * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file *
-// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance *
-// * with the License. You may obtain a copy of the License at *
-// * *
-// * http://www.apache.org/licenses/LICENSE-2.0 *
-// * *
-// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an *
-// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the *
-// * specific language governing permissions and limitations under the License. *
-// ***************************************************************************************************************************
-package org.apache.juneau.rest.test;
-
-import static org.apache.juneau.common.internal.ThrowableUtils.*;
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
-
-import org.apache.http.*;
-import org.apache.http.client.*;
-import org.apache.http.impl.client.*;
-import org.apache.http.protocol.*;
-import org.apache.juneau.microservice.jetty.*;
-import org.apache.juneau.parser.*;
-import org.apache.juneau.rest.client.*;
-import org.apache.juneau.serializer.*;
-
-/**
- * Utility class for starting up the tests microservice.
- * @author james.bognar
- */
-public class TestMicroservice {
-
- static JettyMicroservice microservice;
- static URI microserviceURI;
-
- // Reusable HTTP clients that get created and shut down with the microservice.
- public static RestClient DEFAULT_CLIENT, DEFAULT_CLIENT_DEBUG;
- public static RestClient DEFAULT_CLIENT_PLAINTEXT;
-
- /**
- * Starts the microservice.
- * @return <jk>true</jk> if the service started, <jk>false</jk> if it's already started.
- * If this returns <jk>false</jk> then don't call stopMicroservice()!.
- */
- public static boolean startMicroservice() {
- if (microservice != null)
- return false;
- try {
- Locale.setDefault(Locale.US);
- microservice = JettyMicroservice
- .create()
- .configName("juneau-microservice-test.cfg")
- .manifest(
- new StringReader("Test-Entry: test-value\n")
- )
- .servlet(Root.class)
- .build()
- ;
- microserviceURI = microservice.start().getURI();
- DEFAULT_CLIENT = client().json().build();
- DEFAULT_CLIENT_DEBUG = client().json().debug().build();
- DEFAULT_CLIENT_PLAINTEXT = client().plainText().build();
- return true;
- } catch (Throwable e) {
- e.printStackTrace(); // NOT DEBUG
- return false;
- }
- }
-
- /**
- * Returns the URI of the microservice.
- * @return The URI of the microservice.
- */
- public static URI getURI() {
- if (microservice == null)
- startMicroservice();
- return microserviceURI;
- }
-
- /**
- * Stops the microservice.
- */
- public static void stopMicroservice() {
- try {
- microservice.stop();
- microservice = null;
- DEFAULT_CLIENT.closeQuietly();
- DEFAULT_CLIENT_PLAINTEXT.closeQuietly();
-
- } catch (Exception e) {
- System.err.println(e); // NOT DEBUG
- }
- }
-
- /**
- * Create a new HTTP client.
- */
- public static RestClient.Builder client() {
- try {
- final RequestLine[] currentRequest = new RequestLine[1];
- final StatusLine[] currentResponse = new StatusLine[1];
- RestClient.Builder rc = RestClient.create()
- .json()
- .rootUrl(microserviceURI)
- .noTrace();
- rc.retryHandler(
- new HttpRequestRetryHandler() {
- @Override
- public boolean retryRequest(IOException exception, int executionCount, HttpContext context) {
- System.err.println("*** ERROR ***"); // NOT DEBUG
- TestMicroservice.jettyDump(currentRequest[0], currentResponse[0]);
- return (executionCount < 3);
- }
- }
- )
- .addInterceptorFirst(new org.apache.http.HttpRequestInterceptor() {
- @Override
- public void process(HttpRequest r, HttpContext c) throws HttpException, IOException {
- currentRequest[0] = r.getRequestLine();
- }
- })
- .addInterceptorFirst(new org.apache.http.HttpResponseInterceptor() {
- @Override
- public void process(HttpResponse r, HttpContext c) throws HttpException, IOException {
- currentResponse[0] = r.getStatusLine();
- }
- });
- return rc;
- } catch (Exception e) {
- throw asRuntimeException(e);
- }
- }
-
- /**
- * Create a new HTTP client using the specified serializer and parser.
- */
- public static RestClient.Builder client(Serializer s, Parser p) {
- return client().serializer(s).parser(p);
- }
-
- /**
- * Create a new HTTP client using the specified serializer and parser.
- */
- public static RestClient.Builder client(Class<? extends Serializer> s, Class<? extends Parser> p) {
- return client().serializer(s).parser(p);
- }
-
- public static CloseableHttpClient createHttpClient() {
- try {
- return HttpClients.custom().setRedirectStrategy(new LaxRedirectStrategy()).build();
- } catch (Exception e) {
- throw asRuntimeException(e);
- }
- }
-
- private static int dumpCount = 0;
-
- public static void jettyDump(RequestLine rl, StatusLine sl) {
- try (FileWriter fw = new FileWriter(microservice.getConfig().get("Logging/logDir").orElse(".") + "/jetty-thread-dump-"+(dumpCount++)+".log")) {
- String dump = microservice.getServer().dump();
- fw.append("RequestLine = [" + rl + "]\n");
- fw.append("StatusLine = [" + sl + "]\n");
- fw.append(dump);
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-}
diff --git a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/_TestSuite.java b/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/_TestSuite.java
deleted file mode 100644
index a58d74bc8..000000000
--- a/juneau-microservice/juneau-microservice-ftest/src/test/java/org/apache/juneau/rest/test/_TestSuite.java
+++ /dev/null
@@ -1,42 +0,0 @@
-// ***************************************************************************************************************************
-// * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file *
-// * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file *
-// * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance *
-// * with the License. You may obtain a copy of the License at *
-// * *
-// * http://www.apache.org/licenses/LICENSE-2.0 *
-// * *
-// * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an *
-// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the *
-// * specific language governing permissions and limitations under the License. *
-// ***************************************************************************************************************************
-package org.apache.juneau.rest.test;
-
-import org.junit.*;
-import org.junit.runner.*;
-import org.junit.runners.*;
-import org.junit.runners.Suite.*;
-
-/**
- * Runs all the testcases in this project.
- * Starts a REST service running org.apache.juneau.rest.testutils.Root on port 10001.
- * Stops the REST service after running the tests.
- */
-@RunWith(Suite.class)
-@SuiteClasses({
- ConfigTest.class
-})
-public class _TestSuite {
-
- @BeforeClass
- public static void setUp() {
- double version = Double.parseDouble(System.getProperty("java.specification.version"));
- Assume.assumeFalse("Java version " + version + " detected. Tests will be skipped.", version < 1.8);
- TestMicroservice.startMicroservice();
- }
-
- @AfterClass
- public static void tearDown() {
- TestMicroservice.stopMicroservice();
- }
-}
diff --git a/juneau-microservice/juneau-microservice-ftest/src/test/resources/org/apache/juneau/rest/test/HtmlPropertiesResource.properties b/juneau-microservice/juneau-microservice-ftest/src/test/resources/org/apache/juneau/rest/test/HtmlPropertiesResource.properties
deleted file mode 100644
index a35bfe71c..000000000
--- a/juneau-microservice/juneau-microservice-ftest/src/test/resources/org/apache/juneau/rest/test/HtmlPropertiesResource.properties
+++ /dev/null
@@ -1,31 +0,0 @@
-# ***************************************************************************************************************************
-# * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file *
-# * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file *
-# * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance *
-# * with the License. You may obtain a copy of the License at *
-# * *
-# * http://www.apache.org/licenses/LICENSE-2.0 *
-# * *
-# * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an *
-# * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the *
-# * specific language governing permissions and limitations under the License. *
-# * *
-# ***************************************************************************************************************************
-
-LocalizedExplicit.pageTitle = LocalizedExplicit.nls.pageTitle
-LocalizedExplicit.pageText = LocalizedExplicit.nls.pageText
-
-LocalizedExplicit.test2.pageTitle = LocalizedExplicit.test2.nls.pageTitle
-LocalizedExplicit.test2.pageText = LocalizedExplicit.test2.nls.pageText
-
-LocalizedExplicit.test3.pageTitle = LocalizedExplicit.test3.nls.pageTitle
-LocalizedExplicit.test3.pageText = LocalizedExplicit.test3.nls.pageText
-
-LocalizedExplicit.test4.pageTitle = LocalizedExplicit.test4.nls.pageTitle
-LocalizedExplicit.test4.pageText = LocalizedExplicit.test4.nls.pageText
-
-LocalizedImplicit.pageTitle = LocalizedImplicit.nls.pageTitle
-LocalizedImplicit.pageText = LocalizedImplicit.nls.pageText
-
-LocalizedImplicit.test2.pageTitle = LocalizedImplicit.test2.nls.pageTitle
-LocalizedImplicit.test2.pageText = LocalizedImplicit.test2.nls.pageText
diff --git a/juneau-microservice/juneau-microservice-ftest/src/test/resources/org/apache/juneau/rest/test/ParamsResource.properties b/juneau-microservice/juneau-microservice-ftest/src/test/resources/org/apache/juneau/rest/test/ParamsResource.properties
deleted file mode 100644
index 73add6193..000000000
--- a/juneau-microservice/juneau-microservice-ftest/src/test/resources/org/apache/juneau/rest/test/ParamsResource.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-# ***************************************************************************************************************************
-# * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file *
-# * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file *
-# * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance *
-# * with the License. You may obtain a copy of the License at *
-# * *
-# * http://www.apache.org/licenses/LICENSE-2.0 *
-# * *
-# * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an *
-# * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the *
-# * specific language governing permissions and limitations under the License. *
-# * *
-# ***************************************************************************************************************************
-
-foo = bar
\ No newline at end of file
diff --git a/juneau-microservice/juneau-microservice-ftest/src/test/resources/org/apache/juneau/rest/test/ParamsResource_ja_JP.properties b/juneau-microservice/juneau-microservice-ftest/src/test/resources/org/apache/juneau/rest/test/ParamsResource_ja_JP.properties
deleted file mode 100644
index 336741ed9..000000000
--- a/juneau-microservice/juneau-microservice-ftest/src/test/resources/org/apache/juneau/rest/test/ParamsResource_ja_JP.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-# ***************************************************************************************************************************
-# * Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file *
-# * distributed with this work for additional information regarding copyright ownership. The ASF licenses this file *
-# * to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance *
-# * with the License. You may obtain a copy of the License at *
-# * *
-# * http://www.apache.org/licenses/LICENSE-2.0 *
-# * *
-# * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an *
-# * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the *
-# * specific language governing permissions and limitations under the License. *
-# * *
-# ***************************************************************************************************************************
-
-foo = baz
\ No newline at end of file
diff --git a/juneau-microservice/juneau-microservice-jetty/src/main/java/org/apache/juneau/microservice/jetty/JettyMicroservice.java b/juneau-microservice/juneau-microservice-jetty/src/main/java/org/apache/juneau/microservice/jetty/JettyMicroservice.java
index 7103e8726..4fe8b8e91 100644
--- a/juneau-microservice/juneau-microservice-jetty/src/main/java/org/apache/juneau/microservice/jetty/JettyMicroservice.java
+++ b/juneau-microservice/juneau-microservice-jetty/src/main/java/org/apache/juneau/microservice/jetty/JettyMicroservice.java
@@ -24,7 +24,7 @@ import java.net.*;
import java.util.*;
import java.util.logging.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
import org.apache.juneau.*;
import org.apache.juneau.collections.*;
diff --git a/juneau-microservice/juneau-my-springboot-microservice/src/main/java/org/apache/juneau/microservice/springboot/template/App.java b/juneau-microservice/juneau-my-springboot-microservice/src/main/java/org/apache/juneau/microservice/springboot/template/App.java
index 032bfd93d..c9c5b7c0f 100644
--- a/juneau-microservice/juneau-my-springboot-microservice/src/main/java/org/apache/juneau/microservice/springboot/template/App.java
+++ b/juneau-microservice/juneau-my-springboot-microservice/src/main/java/org/apache/juneau/microservice/springboot/template/App.java
@@ -12,7 +12,7 @@
// ***************************************************************************************************************************
package org.apache.juneau.microservice.springboot.template;
-import javax.servlet.*;
+import jakarta.servlet.*;
import org.apache.juneau.rest.annotation.*;
import org.apache.juneau.rest.springboot.*;
diff --git a/juneau-microservice/pom.xml b/juneau-microservice/pom.xml
index deeb7f90a..fa641ff4a 100644
--- a/juneau-microservice/pom.xml
+++ b/juneau-microservice/pom.xml
@@ -32,7 +32,6 @@
<module>juneau-microservice-core</module>
<module>juneau-microservice-jetty</module>
<module>juneau-my-jetty-microservice</module>
- <module>juneau-microservice-ftest</module>
<module>juneau-my-springboot-microservice</module>
</modules>
diff --git a/juneau-open-javadoc.sh b/juneau-open-javadoc.sh
index 385980bd7..17ee33f58 100755
--- a/juneau-open-javadoc.sh
+++ b/juneau-open-javadoc.sh
@@ -11,7 +11,7 @@
# * specific language governing permissions and limitations under the License. *
# ***************************************************************************************************************************
-. juneau-env.sh
+. ./juneau-env.sh
open target/site/apidocs/overview-summary.html
diff --git a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/ResponseContent.java b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/ResponseContent.java
index 18255c164..567ac09dc 100644
--- a/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/ResponseContent.java
+++ b/juneau-rest/juneau-rest-client/src/main/java/org/apache/juneau/rest/client/ResponseContent.java
@@ -1375,4 +1375,13 @@ public class ResponseContent implements HttpEntity {
private <T> ClassMeta<T> getClassMeta(Type type, Type...args) {
return getBeanContext().getClassMeta(type, args);
}
+
+ @Override
+ public String toString() {
+ try {
+ return asString();
+ } catch (RestCallException e) {
+ return e.getLocalizedMessage();
+ }
+ }
}
diff --git a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockHttpSession.java b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockHttpSession.java
index be2237818..7691d2772 100644
--- a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockHttpSession.java
+++ b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockHttpSession.java
@@ -16,8 +16,8 @@ import static org.apache.juneau.internal.CollectionUtils.*;
import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
/**
* An implementation of {@link HttpSession} for mocking purposes.
@@ -32,7 +32,7 @@ import javax.servlet.http.*;
*/
public class MockHttpSession implements HttpSession {
- private Map<String,Object> attributes = map(), values = map();
+ private Map<String,Object> attributes = map();
private long creationTime, lastAccessedTime;
private int maxInactiveInterval;
@@ -171,52 +171,25 @@ public class MockHttpSession implements HttpSession {
return maxInactiveInterval;
}
- @SuppressWarnings("deprecation")
- @Override /* HttpSession */
- public HttpSessionContext getSessionContext() {
- return null;
- }
-
@Override /* HttpSession */
public Object getAttribute(String name) {
return attributes.get(name);
}
- @Override /* HttpSession */
- public Object getValue(String name) {
- return values.get(name);
- }
-
@Override /* HttpSession */
public Enumeration<String> getAttributeNames() {
return Collections.enumeration(attributes.keySet());
}
- @Override /* HttpSession */
- public String[] getValueNames() {
- return values.keySet().toArray(new String[0]);
- }
-
@Override /* HttpSession */
public void setAttribute(String name, Object value) {
attributes.put(name, value);
}
-
- @Override /* HttpSession */
- public void putValue(String name, Object value) {
- values.put(name, value);
- }
-
@Override /* HttpSession */
public void removeAttribute(String name) {
attributes.remove(name);
}
- @Override /* HttpSession */
- public void removeValue(String name) {
- values.remove(name);
- }
-
@Override /* HttpSession */
public void invalidate() {
}
diff --git a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockRestClient.java b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockRestClient.java
index c167bd7a6..454dcc81f 100644
--- a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockRestClient.java
+++ b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockRestClient.java
@@ -29,7 +29,7 @@ import java.util.logging.*;
import java.util.zip.*;
import javax.net.ssl.*;
-import javax.servlet.http.*;
+import jakarta.servlet.http.*;
import org.apache.http.*;
import org.apache.http.auth.*;
diff --git a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockRestRequest.java b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockRestRequest.java
index f75233c5f..380fe3573 100644
--- a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockRestRequest.java
+++ b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockRestRequest.java
@@ -19,8 +19,8 @@ import java.security.*;
import java.util.*;
import java.util.function.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
import org.apache.http.*;
import org.apache.http.client.config.*;
diff --git a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockServletRequest.java b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockServletRequest.java
index 2e81b5f15..e9e5715e4 100644
--- a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockServletRequest.java
+++ b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockServletRequest.java
@@ -23,8 +23,8 @@ import java.io.*;
import java.security.*;
import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
import org.apache.http.*;
import org.apache.juneau.common.internal.*;
@@ -629,11 +629,6 @@ public class MockServletRequest implements HttpServletRequest {
return requestDispatcher.get(path);
}
- @Override /* HttpServletRequest */
- public String getRealPath(String path) {
- return path;
- }
-
@Override /* HttpServletRequest */
public int getRemotePort() {
return remotePort;
@@ -845,11 +840,6 @@ public class MockServletRequest implements HttpServletRequest {
return false;
}
- @Override /* HttpServletRequest */
- public boolean isRequestedSessionIdFromUrl() {
- return false;
- }
-
@Override /* HttpServletRequest */
public boolean authenticate(HttpServletResponse response) throws IOException, ServletException {
return false;
@@ -1050,4 +1040,19 @@ public class MockServletRequest implements HttpServletRequest {
return this;
}
+
+ @Override
+ public String getRequestId() {
+ return null;
+ }
+
+ @Override
+ public String getProtocolRequestId() {
+ return null;
+ }
+
+ @Override
+ public ServletConnection getServletConnection() {
+ return null;
+ }
}
diff --git a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockServletResponse.java b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockServletResponse.java
index e65eb8ddb..e7f57a116 100644
--- a/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockServletResponse.java
+++ b/juneau-rest/juneau-rest-mock/src/main/java/org/apache/juneau/rest/mock/MockServletResponse.java
@@ -17,8 +17,8 @@ import static org.apache.juneau.internal.CollectionUtils.*;
import java.io.*;
import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
import org.apache.juneau.internal.*;
import org.apache.juneau.rest.util.*;
@@ -168,16 +168,6 @@ public class MockServletResponse implements HttpServletResponse {
return null;
}
- @Override /* HttpServletResponse */
- public String encodeUrl(String url) {
- return null;
- }
-
- @Override /* HttpServletResponse */
- public String encodeRedirectUrl(String url) {
- return null;
- }
-
@Override /* HttpServletResponse */
public void sendError(int sc, String msg) throws IOException {
this.sc = sc;
@@ -253,12 +243,6 @@ public class MockServletResponse implements HttpServletResponse {
return this;
}
- @Override /* HttpServletResponse */
- public void setStatus(int sc, String sm) {
- this.sc = sc;
- this.msg = sm;
- }
-
@Override /* HttpServletResponse */
public int getStatus() {
return sc;
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/OverrideableHttpServletRequest.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/OverrideableHttpServletRequest.java
index 82d2b93a7..5da69c425 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/OverrideableHttpServletRequest.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/OverrideableHttpServletRequest.java
@@ -14,7 +14,7 @@ package org.apache.juneau.rest;
import static org.apache.juneau.rest.util.RestUtils.*;
-import javax.servlet.http.*;
+import jakarta.servlet.http.*;
/**
* A wrapper class that allows you to override basic fields.
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestChildren.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestChildren.java
index 9faf9320e..2b7ae3ab7 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestChildren.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestChildren.java
@@ -16,7 +16,7 @@ import static org.apache.juneau.internal.CollectionUtils.*;
import java.util.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
import org.apache.juneau.*;
import org.apache.juneau.cp.*;
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
index da7e66eff..3103360c2 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestContext.java
@@ -12,7 +12,7 @@
// ***************************************************************************************************************************
package org.apache.juneau.rest;
-import static javax.servlet.http.HttpServletResponse.*;
+import static jakarta.servlet.http.HttpServletResponse.*;
import static org.apache.juneau.collections.JsonMap.*;
import static org.apache.juneau.common.internal.IOUtils.*;
import static org.apache.juneau.common.internal.StringUtils.*;
@@ -36,8 +36,8 @@ import java.util.concurrent.atomic.*;
import java.util.function.*;
import java.util.logging.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
import org.apache.http.Header;
import org.apache.juneau.*;
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOpContext.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOpContext.java
index 4796f1e85..b62b140e8 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOpContext.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestOpContext.java
@@ -28,8 +28,8 @@ import java.util.*;
import java.util.concurrent.*;
import java.util.function.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
import org.apache.http.*;
import org.apache.juneau.*;
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java
index 410a1c34d..5b0ed4add 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestRequest.java
@@ -37,8 +37,8 @@ import java.util.*;
import java.util.logging.*;
import java.util.stream.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
import org.apache.http.*;
import org.apache.http.message.*;
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestResponse.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestResponse.java
index 26dc1c95c..c4ac12ebb 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestResponse.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestResponse.java
@@ -21,8 +21,8 @@ import java.io.*;
import java.nio.charset.*;
import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
import org.apache.http.*;
import org.apache.juneau.*;
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestSession.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestSession.java
index 5cda349f1..2d24b75b6 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestSession.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/RestSession.java
@@ -17,7 +17,7 @@ import static org.apache.juneau.internal.CollectionUtils.*;
import java.io.*;
import java.util.*;
-import javax.servlet.http.*;
+import jakarta.servlet.http.*;
import org.apache.http.*;
import org.apache.juneau.*;
@@ -284,10 +284,9 @@ public class RestSession extends ContextSession {
* @param value The status code.
* @return This object.
*/
- @SuppressWarnings("deprecation")
public RestSession status(StatusLine value) {
if (value != null)
- res.setStatus(value.getStatusCode(), value.getReasonPhrase());
+ res.setStatus(value.getStatusCode());
return this;
}
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestDestroy.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestDestroy.java
index 26469f12e..0a042bcb1 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestDestroy.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestDestroy.java
@@ -17,7 +17,7 @@ import static java.lang.annotation.RetentionPolicy.*;
import java.lang.annotation.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
import org.apache.juneau.rest.*;
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestEndCall.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestEndCall.java
index 53384c82b..0d2e1bbc9 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestEndCall.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestEndCall.java
@@ -17,7 +17,7 @@ import static java.lang.annotation.RetentionPolicy.*;
import java.lang.annotation.*;
-import javax.servlet.http.*;
+import jakarta.servlet.http.*;
/**
* Identifies a method that gets called right before we exit the servlet service method.
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestInit.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestInit.java
index b81172190..2884e7aab 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestInit.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestInit.java
@@ -17,7 +17,7 @@ import static java.lang.annotation.RetentionPolicy.*;
import java.lang.annotation.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
import org.apache.juneau.rest.*;
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostCall.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostCall.java
index 3558f8e6a..8f63ed511 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostCall.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostCall.java
@@ -20,8 +20,8 @@ import java.lang.annotation.*;
import java.util.*;
import java.util.logging.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
import org.apache.juneau.*;
import org.apache.juneau.config.*;
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostInit.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostInit.java
index 39bacea46..e93b911d4 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostInit.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPostInit.java
@@ -17,7 +17,7 @@ import static java.lang.annotation.RetentionPolicy.*;
import java.lang.annotation.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
import org.apache.juneau.rest.*;
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPreCall.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPreCall.java
index 81abc36f9..c5dd12e92 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPreCall.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestPreCall.java
@@ -20,8 +20,8 @@ import java.lang.annotation.*;
import java.util.*;
import java.util.logging.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
import org.apache.juneau.*;
import org.apache.juneau.config.*;
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestStartCall.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestStartCall.java
index f64b64e44..242732a63 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestStartCall.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/annotation/RestStartCall.java
@@ -17,7 +17,7 @@ import static java.lang.annotation.RetentionPolicy.*;
import java.lang.annotation.*;
-import javax.servlet.http.*;
+import jakarta.servlet.http.*;
import org.apache.juneau.http.response.*;
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/arg/CookieList.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/arg/CookieList.java
index caa721f40..8b4f204ef 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/arg/CookieList.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/arg/CookieList.java
@@ -16,7 +16,7 @@ import static org.apache.juneau.internal.CollectionUtils.*;
import java.util.*;
-import javax.servlet.http.*;
+import jakarta.servlet.http.*;
/**
* A simple list of {@link Cookie} objects.
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/arg/HttpServletRequestArgs.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/arg/HttpServletRequestArgs.java
index 44e3147ac..3f4d9221e 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/arg/HttpServletRequestArgs.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/arg/HttpServletRequestArgs.java
@@ -14,8 +14,8 @@ package org.apache.juneau.rest.arg;
import java.security.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
import org.apache.juneau.reflect.*;
import org.apache.juneau.rest.annotation.*;
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/arg/HttpServletResponseArgs.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/arg/HttpServletResponseArgs.java
index 6b2c94cdc..e77a20016 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/arg/HttpServletResponseArgs.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/arg/HttpServletResponseArgs.java
@@ -12,7 +12,7 @@
// ***************************************************************************************************************************
package org.apache.juneau.rest.arg;
-import javax.servlet.http.*;
+import jakarta.servlet.http.*;
import org.apache.juneau.reflect.*;
import org.apache.juneau.rest.annotation.*;
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/arg/HttpSessionArgs.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/arg/HttpSessionArgs.java
index 539017cfc..04ac36a53 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/arg/HttpSessionArgs.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/arg/HttpSessionArgs.java
@@ -12,7 +12,7 @@
// ***************************************************************************************************************************
package org.apache.juneau.rest.arg;
-import javax.servlet.http.*;
+import jakarta.servlet.http.*;
import org.apache.juneau.reflect.*;
import org.apache.juneau.rest.annotation.*;
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/arg/RestRequestArgs.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/arg/RestRequestArgs.java
index ebaf0e12d..ddd64aea2 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/arg/RestRequestArgs.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/arg/RestRequestArgs.java
@@ -15,8 +15,8 @@ package org.apache.juneau.rest.arg;
import java.io.*;
import java.util.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
import org.apache.juneau.*;
import org.apache.juneau.cp.*;
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/arg/RestResponseArgs.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/arg/RestResponseArgs.java
index 425e75876..1b9dd6ffd 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/arg/RestResponseArgs.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/arg/RestResponseArgs.java
@@ -13,7 +13,7 @@
package org.apache.juneau.rest.arg;
import java.io.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
import org.apache.juneau.reflect.*;
import org.apache.juneau.rest.*;
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/debug/DebugEnablement.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/debug/DebugEnablement.java
index cb19fb725..a3cdf3fd9 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/debug/DebugEnablement.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/debug/DebugEnablement.java
@@ -18,7 +18,7 @@ import static org.apache.juneau.internal.ObjectUtils.*;
import java.lang.reflect.Method;
import java.util.function.*;
-import javax.servlet.http.*;
+import jakarta.servlet.http.*;
import org.apache.juneau.*;
import org.apache.juneau.cp.*;
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestAttributes.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestAttributes.java
index c0b29a606..e62b4bcdb 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestAttributes.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestAttributes.java
@@ -17,7 +17,7 @@ import static org.apache.juneau.internal.CollectionUtils.*;
import java.util.*;
-import javax.servlet.http.*;
+import jakarta.servlet.http.*;
import org.apache.juneau.collections.*;
import org.apache.juneau.rest.*;
@@ -28,7 +28,7 @@ import org.apache.juneau.svl.*;
*
* <p>
* The {@link RequestAttributes} object is the API for accessing the standard servlet attributes on an HTTP request
- * (i.e. {@link javax.servlet.ServletRequest#getAttribute(String)}).
+ * (i.e. {@link jakarta.servlet.ServletRequest#getAttribute(String)}).
* </p>
*
* <p class='bjava'>
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestContent.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestContent.java
index 236979a18..02816a867 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestContent.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestContent.java
@@ -20,7 +20,7 @@ import java.io.*;
import java.lang.reflect.*;
import java.util.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
import org.apache.juneau.*;
import org.apache.juneau.collections.*;
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestFormParam.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestFormParam.java
index 3e2a22fd6..0be92eaed 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestFormParam.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestFormParam.java
@@ -92,7 +92,7 @@ import org.apache.juneau.rest.*;
*/
public class RequestFormParam extends RequestHttpPart implements NameValuePair {
- private final javax.servlet.http.Part part;
+ private final jakarta.servlet.http.Part part;
/**
* Constructor.
@@ -100,7 +100,7 @@ public class RequestFormParam extends RequestHttpPart implements NameValuePair {
* @param request The request object.
* @param part The HTTP part.
*/
- public RequestFormParam(RestRequest request, javax.servlet.http.Part part) {
+ public RequestFormParam(RestRequest request, jakarta.servlet.http.Part part) {
super(FORMDATA, request, part.getName(), null);
this.part = part;
}
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestFormParams.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestFormParams.java
index b17f1299d..b175b88a4 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestFormParams.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/httppart/RequestFormParams.java
@@ -22,7 +22,7 @@ import static org.apache.juneau.internal.CollectionUtils.*;
import java.util.*;
import java.util.stream.*;
-import javax.servlet.http.*;
+import jakarta.servlet.http.*;
import org.apache.http.*;
import org.apache.juneau.*;
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logger/BasicTestCallLogger.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logger/BasicTestCallLogger.java
index aaf5cc497..882d2e38b 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logger/BasicTestCallLogger.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logger/BasicTestCallLogger.java
@@ -17,7 +17,7 @@ import static org.apache.juneau.Enablement.*;
import static org.apache.juneau.common.internal.StringUtils.*;
import static java.util.logging.Level.*;
-import javax.servlet.http.*;
+import jakarta.servlet.http.*;
import org.apache.juneau.cp.*;
import org.apache.juneau.rest.*;
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logger/CallLogger.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logger/CallLogger.java
index 3eba21a23..8779c340a 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logger/CallLogger.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logger/CallLogger.java
@@ -25,7 +25,7 @@ import java.util.*;
import java.util.function.*;
import java.util.logging.*;
-import javax.servlet.http.*;
+import jakarta.servlet.http.*;
import org.apache.juneau.*;
import org.apache.juneau.common.internal.*;
@@ -685,9 +685,6 @@ public class CallLogger {
sb.append("\n=== END ======================================================================");
}
- if (rule.isLogStackTrace() && e == null)
- e = new Throwable("Stacktrace");
-
log(level, sb.toString(), e);
}
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logger/CallLoggerRule.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logger/CallLoggerRule.java
index 3c3300f87..010dc4898 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logger/CallLoggerRule.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/logger/CallLoggerRule.java
@@ -17,7 +17,7 @@ import static org.apache.juneau.collections.JsonMap.*;
import java.util.function.*;
import java.util.logging.*;
-import javax.servlet.http.*;
+import jakarta.servlet.http.*;
import org.apache.juneau.*;
import org.apache.juneau.cp.*;
@@ -332,7 +332,6 @@ public class CallLoggerRule {
private final Enablement enabled;
private final Predicate<HttpServletRequest> enabledTest;
private final CallLoggingDetail requestDetail, responseDetail;
- private final boolean logStackTrace;
/**
* Constructor.
@@ -349,7 +348,6 @@ public class CallLoggerRule {
this.enabledTest = b.enabledTest;
this.requestDetail = b.requestDetail;
this.responseDetail = b.responseDetail;
- this.logStackTrace = b.logStackTrace;
}
/**
@@ -419,15 +417,6 @@ public class CallLoggerRule {
return enabledTest;
}
- /**
- * Returns <jk>true</jk> if a stack trace should be logged.
- *
- * @return <jk>true</jk> if a stack trace should be logged.
- */
- public boolean isLogStackTrace() {
- return logStackTrace;
- }
-
@Override /* Object */
public String toString() {
return filteredMap()
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/matcher/ClientVersionMatcher.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/matcher/ClientVersionMatcher.java
index 31f97738a..fc9b91ae0 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/matcher/ClientVersionMatcher.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/matcher/ClientVersionMatcher.java
@@ -15,7 +15,7 @@ package org.apache.juneau.rest.matcher;
import static org.apache.juneau.common.internal.StringUtils.*;
import static org.apache.juneau.rest.annotation.RestOpAnnotation.*;
-import javax.servlet.http.*;
+import jakarta.servlet.http.*;
import org.apache.juneau.*;
import org.apache.juneau.internal.*;
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/matcher/MultipartFormDataMatcher.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/matcher/MultipartFormDataMatcher.java
index 466b6824e..2826aa213 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/matcher/MultipartFormDataMatcher.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/matcher/MultipartFormDataMatcher.java
@@ -12,7 +12,7 @@
// ***************************************************************************************************************************
package org.apache.juneau.rest.matcher;
-import javax.servlet.http.*;
+import jakarta.servlet.http.*;
/**
* Predefined matcher for matching requests with content type <js>"multipart/form-data"</js>.
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/matcher/RestMatcher.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/matcher/RestMatcher.java
index 16bbc34aa..6c8db62a6 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/matcher/RestMatcher.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/matcher/RestMatcher.java
@@ -12,7 +12,7 @@
// ***************************************************************************************************************************
package org.apache.juneau.rest.matcher;
-import javax.servlet.http.*;
+import jakarta.servlet.http.*;
import org.apache.juneau.rest.annotation.*;
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/matcher/UrlEncodedFormMatcher.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/matcher/UrlEncodedFormMatcher.java
index bf99e4d11..c0285a9c4 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/matcher/UrlEncodedFormMatcher.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/matcher/UrlEncodedFormMatcher.java
@@ -12,7 +12,7 @@
// ***************************************************************************************************************************
package org.apache.juneau.rest.matcher;
-import javax.servlet.http.*;
+import jakarta.servlet.http.*;
/**
* Predefined matcher for matching requests with content type <js>"application/x-www-form-urlencoded"</js>.
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/processor/ResponseProcessor.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/processor/ResponseProcessor.java
index f3a5a276e..06ae56b26 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/processor/ResponseProcessor.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/processor/ResponseProcessor.java
@@ -14,7 +14,7 @@ package org.apache.juneau.rest.processor;
import java.io.*;
-import javax.servlet.http.*;
+import jakarta.servlet.http.*;
import org.apache.juneau.http.response.*;
import org.apache.juneau.rest.*;
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/rrpc/RrpcRestOpContext.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/rrpc/RrpcRestOpContext.java
index b440a0ae7..acc3dce92 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/rrpc/RrpcRestOpContext.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/rrpc/RrpcRestOpContext.java
@@ -12,7 +12,7 @@
// ***************************************************************************************************************************
package org.apache.juneau.rest.rrpc;
-import javax.servlet.*;
+import jakarta.servlet.*;
import org.apache.juneau.*;
import org.apache.juneau.http.remote.*;
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/servlet/BasicRestObject.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/servlet/BasicRestObject.java
index 3954540c2..7fad8e159 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/servlet/BasicRestObject.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/servlet/BasicRestObject.java
@@ -14,7 +14,7 @@ package org.apache.juneau.rest.servlet;
import java.util.*;
-import javax.servlet.http.*;
+import jakarta.servlet.http.*;
import org.apache.juneau.dto.swagger.Swagger;
import org.apache.juneau.rest.*;
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/servlet/BasicRestObjectGroup.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/servlet/BasicRestObjectGroup.java
index bca213771..c48aefdb9 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/servlet/BasicRestObjectGroup.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/servlet/BasicRestObjectGroup.java
@@ -12,7 +12,7 @@
// ***************************************************************************************************************************
package org.apache.juneau.rest.servlet;
-import javax.servlet.http.*;
+import jakarta.servlet.http.*;
import org.apache.juneau.rest.*;
import org.apache.juneau.rest.annotation.*;
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/servlet/RestObject.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/servlet/RestObject.java
index f826219b9..97478fa17 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/servlet/RestObject.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/servlet/RestObject.java
@@ -19,8 +19,8 @@ import java.util.concurrent.atomic.*;
import java.util.function.*;
import java.util.logging.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
import org.apache.juneau.common.internal.*;
import org.apache.juneau.http.response.*;
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/servlet/RestServlet.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/servlet/RestServlet.java
index 1e48fc4ce..d56639309 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/servlet/RestServlet.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/servlet/RestServlet.java
@@ -13,7 +13,7 @@
package org.apache.juneau.rest.servlet;
import static java.util.logging.Level.*;
-import static javax.servlet.http.HttpServletResponse.*;
+import static jakarta.servlet.http.HttpServletResponse.*;
import static org.apache.juneau.common.internal.StringUtils.*;
import static org.apache.juneau.internal.ClassUtils.*;
@@ -23,8 +23,8 @@ import java.util.concurrent.atomic.*;
import java.util.function.*;
import java.util.logging.*;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
import org.apache.juneau.reflect.*;
import org.apache.juneau.rest.*;
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/swagger/BasicSwaggerProviderSession.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/swagger/BasicSwaggerProviderSession.java
index 72d0995af..23bc7f576 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/swagger/BasicSwaggerProviderSession.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/swagger/BasicSwaggerProviderSession.java
@@ -24,7 +24,7 @@ import java.lang.reflect.Method;
import java.util.*;
import java.util.function.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
import org.apache.juneau.*;
import org.apache.juneau.annotation.*;
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/util/BoundedServletInputStream.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/util/BoundedServletInputStream.java
index 844d337a4..f7de326be 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/util/BoundedServletInputStream.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/util/BoundedServletInputStream.java
@@ -14,7 +14,7 @@ package org.apache.juneau.rest.util;
import java.io.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
/**
* ServletInputStream wrapper around a normal input stream with support for limiting input.
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/util/CachingHttpServletRequest.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/util/CachingHttpServletRequest.java
index 78187c69e..7d892d588 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/util/CachingHttpServletRequest.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/util/CachingHttpServletRequest.java
@@ -16,9 +16,9 @@ import static org.apache.juneau.common.internal.IOUtils.*;
import java.io.IOException;
-import javax.servlet.ServletInputStream;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletRequestWrapper;
+import jakarta.servlet.ServletInputStream;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequestWrapper;
/**
* Wraps an {@link HttpServletRequest} and preloads the content into memory for debugging purposes.
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/util/CachingHttpServletResponse.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/util/CachingHttpServletResponse.java
index dc7b97c60..9cb5518ea 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/util/CachingHttpServletResponse.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/util/CachingHttpServletResponse.java
@@ -15,9 +15,9 @@ package org.apache.juneau.rest.util;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.WriteListener;
-import javax.servlet.http.*;
+import jakarta.servlet.ServletOutputStream;
+import jakarta.servlet.WriteListener;
+import jakarta.servlet.http.*;
/**
* Wraps an {@link HttpServletResponse} and caches the output stream in a separate buffer for debugging purposes.
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/util/FinishableServletOutputStream.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/util/FinishableServletOutputStream.java
index f6742228b..346d8151f 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/util/FinishableServletOutputStream.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/util/FinishableServletOutputStream.java
@@ -14,7 +14,7 @@ package org.apache.juneau.rest.util;
import java.io.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
import org.apache.juneau.encoders.*;
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/util/RestUtils.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/util/RestUtils.java
index 59b97b927..e04cddb9e 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/util/RestUtils.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/util/RestUtils.java
@@ -21,7 +21,7 @@ import java.io.*;
import java.util.*;
import java.util.regex.*;
-import javax.servlet.http.*;
+import jakarta.servlet.http.*;
import org.apache.juneau.*;
import org.apache.juneau.json.*;
diff --git a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/RequestAttributeVar.java b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/RequestAttributeVar.java
index a278dcda4..3776a747d 100644
--- a/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/RequestAttributeVar.java
+++ b/juneau-rest/juneau-rest-server/src/main/java/org/apache/juneau/rest/vars/RequestAttributeVar.java
@@ -12,7 +12,7 @@
// ***************************************************************************************************************************
package org.apache.juneau.rest.vars;
-import javax.servlet.http.*;
+import jakarta.servlet.http.*;
import org.apache.juneau.http.response.*;
import org.apache.juneau.rest.*;
diff --git a/juneau-sc/juneau-sc-server/pom.xml b/juneau-sc/juneau-sc-server/pom.xml
index 9d2325f88..859a9b227 100644
--- a/juneau-sc/juneau-sc-server/pom.xml
+++ b/juneau-sc/juneau-sc-server/pom.xml
@@ -60,6 +60,11 @@
<type>test-jar</type>
<scope>test</scope>
</dependency>
+
+ <dependency>
+ <groupId>jakarta.servlet</groupId>
+ <artifactId>jakarta.servlet-api</artifactId>
+ </dependency>
<!-- Other -->
<dependency>
diff --git a/juneau-utest/src/test/java/org/apache/juneau/http/remote/Remote_CommonInterfaces_Test.java b/juneau-utest/src/test/java/org/apache/juneau/http/remote/Remote_CommonInterfaces_Test.java
index 95ec64334..2f1833eaa 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/http/remote/Remote_CommonInterfaces_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/http/remote/Remote_CommonInterfaces_Test.java
@@ -172,24 +172,24 @@ public class Remote_CommonInterfaces_Test {
// HttpClient goes into loop if status code is less than 200 so we can't test those.
C x = MockRestClient.create(C1.class).json().disableRedirectHandling().build().getRemote(C.class);
- assertObject(x.ok()).asString().isContains("HTTP/1.1 200 OK");
- assertObject(x.accepted()).asString().isContains("HTTP/1.1 202 Accepted");
- assertObject(x.alreadyReported()).asString().isContains("HTTP/1.1 208 Already Reported");
- assertObject(x.created()).asString().isContains("HTTP/1.1 201 Created");
- assertObject(x.found()).asString().isContains("HTTP/1.1 302 Found");
- assertObject(x.iMUsed()).asString().isContains("HTTP/1.1 226 IM Used");
- assertObject(x.movedPermanently()).asString().isContains("HTTP/1.1 301 Moved Permanently");
- assertObject(x.multipleChoices()).asString().isContains("HTTP/1.1 300 Multiple Choices");
- assertObject(x.multiStatus()).asString().isContains("HTTP/1.1 207 Multi-Status");
- assertObject(x.noContent()).asString().isContains("HTTP/1.1 204 No Content");
- assertObject(x.nonAuthoritiveInformation()).asString().isContains("HTTP/1.1 203 Non-Authoritative Information");
- assertObject(x.notModified()).asString().isContains("HTTP/1.1 304 Not Modified");
- assertObject(x.partialContent()).asString().isContains("HTTP/1.1 206 Partial Content");
- assertObject(x.permanentRedirect()).asString().isContains("HTTP/1.1 308 Permanent Redirect");
- assertObject(x.resetContent()).asString().isContains("HTTP/1.1 205 Reset Content");
- assertObject(x.seeOther()).asString().isContains("HTTP/1.1 303 See Other");
- assertObject(x.temporaryRedirect()).asString().isContains("HTTP/1.1 307 Temporary Redirect");
- assertObject(x.useProxy()).asString().isContains("HTTP/1.1 305 Use Proxy");
+ assertObject(x.ok()).asString().isContains("HTTP/1.1 200");
+ assertObject(x.accepted()).asString().isContains("HTTP/1.1 202");
+ assertObject(x.alreadyReported()).asString().isContains("HTTP/1.1 208");
+ assertObject(x.created()).asString().isContains("HTTP/1.1 201");
+ assertObject(x.found()).asString().isContains("HTTP/1.1 302");
+ assertObject(x.iMUsed()).asString().isContains("HTTP/1.1 226");
+ assertObject(x.movedPermanently()).asString().isContains("HTTP/1.1 301");
+ assertObject(x.multipleChoices()).asString().isContains("HTTP/1.1 300");
+ assertObject(x.multiStatus()).asString().isContains("HTTP/1.1 207");
+ assertObject(x.noContent()).asString().isContains("HTTP/1.1 204");
+ assertObject(x.nonAuthoritiveInformation()).asString().isContains("HTTP/1.1 203");
+ assertObject(x.notModified()).asString().isContains("HTTP/1.1 304");
+ assertObject(x.partialContent()).asString().isContains("HTTP/1.1 206");
+ assertObject(x.permanentRedirect()).asString().isContains("HTTP/1.1 308");
+ assertObject(x.resetContent()).asString().isContains("HTTP/1.1 205");
+ assertObject(x.seeOther()).asString().isContains("HTTP/1.1 303");
+ assertObject(x.temporaryRedirect()).asString().isContains("HTTP/1.1 307");
+ assertObject(x.useProxy()).asString().isContains("HTTP/1.1 305");
}
//-----------------------------------------------------------------------------------------------------------------
diff --git a/juneau-utest/src/test/java/org/apache/juneau/rest/RestOp_Params_Test.java b/juneau-utest/src/test/java/org/apache/juneau/rest/RestOp_Params_Test.java
index 3e17d1bf0..411230f6b 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/rest/RestOp_Params_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/rest/RestOp_Params_Test.java
@@ -19,7 +19,7 @@ import static org.junit.runners.MethodSorters.*;
import java.io.*;
import java.util.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
import org.apache.juneau.config.*;
import org.apache.juneau.cp.Messages;
diff --git a/juneau-utest/src/test/java/org/apache/juneau/rest/Rest_PredefinedStatusCodes_Test.java b/juneau-utest/src/test/java/org/apache/juneau/rest/Rest_PredefinedStatusCodes_Test.java
index fea2de5cf..e44549768 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/rest/Rest_PredefinedStatusCodes_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/rest/Rest_PredefinedStatusCodes_Test.java
@@ -18,7 +18,7 @@ import static org.apache.juneau.testutils.StreamUtils.*;
import java.io.*;
-import javax.servlet.http.*;
+import jakarta.servlet.http.*;
import org.apache.juneau.http.annotation.Content;
import org.apache.juneau.http.annotation.Header;
diff --git a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestInit_Test.java b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestInit_Test.java
index 3a4454416..0f79f362d 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestInit_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestInit_Test.java
@@ -14,7 +14,7 @@ package org.apache.juneau.rest.annotation;
import static org.junit.runners.MethodSorters.*;
-import javax.servlet.*;
+import jakarta.servlet.*;
import org.apache.juneau.collections.*;
import org.apache.juneau.rest.*;
diff --git a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestOp_Matchers_Test.java b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestOp_Matchers_Test.java
index 698710151..0cb26b4ec 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestOp_Matchers_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestOp_Matchers_Test.java
@@ -14,7 +14,7 @@ package org.apache.juneau.rest.annotation;
import static org.junit.runners.MethodSorters.*;
-import javax.servlet.http.*;
+import jakarta.servlet.http.*;
import org.apache.juneau.common.internal.*;
import org.apache.juneau.rest.client.*;
diff --git a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestPostCall_Test.java b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestPostCall_Test.java
index b43154e83..88439a75c 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestPostCall_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestPostCall_Test.java
@@ -14,7 +14,7 @@ package org.apache.juneau.rest.annotation;
import static org.junit.runners.MethodSorters.*;
-import javax.servlet.http.*;
+import jakarta.servlet.http.*;
import org.apache.juneau.http.header.*;
import org.apache.juneau.rest.RestRequest;
diff --git a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestPreCall_Test.java b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestPreCall_Test.java
index c3a16c996..d85305656 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestPreCall_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestPreCall_Test.java
@@ -14,7 +14,7 @@ package org.apache.juneau.rest.annotation;
import static org.junit.runners.MethodSorters.*;
-import javax.servlet.http.*;
+import jakarta.servlet.http.*;
import org.apache.juneau.collections.*;
import org.apache.juneau.http.header.*;
diff --git a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestStartCall_Test.java b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestStartCall_Test.java
index 0c22415f1..ddd8794cd 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestStartCall_Test.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/rest/annotation/RestStartCall_Test.java
@@ -14,7 +14,7 @@ package org.apache.juneau.rest.annotation;
import static org.junit.runners.MethodSorters.*;
-import javax.servlet.http.*;
+import jakarta.servlet.http.*;
import org.apache.juneau.collections.*;
import org.apache.juneau.rest.RestRequest;
diff --git a/juneau-utest/src/test/java/org/apache/juneau/rest/test/client/ThirdPartyProxyResource.java b/juneau-utest/src/test/java/org/apache/juneau/rest/test/client/ThirdPartyProxyResource.java
index 09a0e5b98..3ff4416c9 100644
--- a/juneau-utest/src/test/java/org/apache/juneau/rest/test/client/ThirdPartyProxyResource.java
+++ b/juneau-utest/src/test/java/org/apache/juneau/rest/test/client/ThirdPartyProxyResource.java
@@ -20,7 +20,7 @@ import static org.junit.Assert.*;
import java.io.*;
import java.util.*;
-import javax.servlet.http.*;
+import jakarta.servlet.http.*;
import org.apache.juneau.annotation.*;
import org.apache.juneau.http.annotation.*;
diff --git a/pom.xml b/pom.xml
index 762d797d7..43cd1736e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -38,17 +38,17 @@
<jaxb.version>2.3.1</jaxb.version>
<junit.version>4.13.2</junit.version>
<jaxrs.version>1.1.1</jaxrs.version>
- <servlet.version>4.0.4</servlet.version>
+ <servlet.version>6.0.0</servlet.version>
<httpcore.version>4.4.15</httpcore.version>
<httpclient.version>4.5.13</httpclient.version>
- <jetty.version>10.0.12</jetty.version>
+ <jetty.version>11.0.12</jetty.version>
<juneau.compare.version>8.0.0</juneau.compare.version>
<javadoc.juneau.version>9.0.0</javadoc.juneau.version>
<juneauVersion>9.0.0</juneauVersion>
<juneauVersionNext>9.0.1</juneauVersionNext>
<derby.version>10.16.1.1</derby.version>
<hibernate.version>5.6.14.Final</hibernate.version>
- <springboot.version>2.7.5</springboot.version>
+ <springboot.version>3.0.0</springboot.version>
<xml.apis.version>2.0.2</xml.apis.version>
<javadoc.executable />
<javadoc.plugin.version>3.4.1</javadoc.plugin.version>