Skip to content

Commit c431380

Browse files
committed
[#1802] Switch pax-web-spi from javax to jakarta
1 parent a6e033c commit c431380

File tree

80 files changed

+596
-663
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

80 files changed

+596
-663
lines changed

pax-web-spi/pom.xml

+40-22
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
<build>
3737
<plugins>
3838
<plugin>
39+
<groupId>org.apache.maven.plugins</groupId>
3940
<artifactId>maven-dependency-plugin</artifactId>
4041
<executions>
4142
<execution>
@@ -58,6 +59,7 @@
5859
</executions>
5960
</plugin>
6061
<plugin>
62+
<groupId>org.apache.maven.plugins</groupId>
6163
<artifactId>maven-antrun-plugin</artifactId>
6264
<executions>
6365
<execution>
@@ -86,31 +88,31 @@
8688
<configuration>
8789
<instructions>
8890
<Import-Package>
89-
<!-- ranges indicate Servlet API 3.1+ (JavaEE 7+) -->
90-
javax.servlet;version="[3.1,5)",
91-
javax.servlet.annotation;version="[3.1,5)",
92-
javax.servlet.descriptor;version="[3.1,5)",
93-
javax.servlet.http;version="[3.1,5)",
94-
95-
javax.websocket;version="[1.1,2)";resolution:=optional,
96-
javax.websocket.server;version="[1.1,2)";resolution:=optional,
97-
98-
<!-- ranges indicate we can work with OSGi Core R6+ -->
99-
org.osgi.dto;version="[1.0,2)",
100-
org.osgi.framework;version="[1.8,2)",
101-
org.osgi.framework.dto;version="[1.0,2)",
91+
<!-- ranges indicate Servlet API 6.0+ (JakartaEE 10+) -->
92+
jakarta.servlet;version="[6,7)",
93+
jakarta.servlet.annotation;version="[6,7)",
94+
jakarta.servlet.descriptor;version="[6,7)",
95+
jakarta.servlet.http;version="[6,7)",
96+
97+
jakarta.websocket;version="[2.1,3)";resolution:=optional,
98+
jakarta.websocket.server;version="[2.1,3)";resolution:=optional,
99+
100+
<!-- OSGi Core R8+ -->
101+
org.osgi.dto;version="[1.1,2)",
102+
org.osgi.framework;version="[1.10,2)",
103+
org.osgi.framework.dto;version="[1.8,2)",
102104
org.osgi.framework.wiring;version="[1.2,2)",
103105
org.osgi.util.tracker;version="[1.5,2)",
104106

105107
<!-- OSGi cmpn -->
106-
org.osgi.service.http;version="[1.2,2)",
107-
org.osgi.service.http.context;version="[1.1,2)",
108-
org.osgi.service.http.whiteboard;version="[1.1,2)",
109-
org.osgi.service.http.runtime;version="[1.1,2)",
110-
org.osgi.service.http.runtime.dto;version="[1.1,2)",
108+
org.osgi.service.servlet.context;version="[1.1,2)",
109+
org.osgi.service.servlet.whiteboard;version="[1.1,2)",
110+
org.osgi.service.servlet.runtime;version="[1.1,2)",
111+
org.osgi.service.servlet.runtime.dto;version="[1.1,2)",
111112

112113
<!-- from pax-web-api -->
113114
org.ops4j.pax.web.service;version="${pax-web.osgi.version}",
115+
org.ops4j.pax.web.service.http;version="${pax-web.osgi.version}",
114116
org.ops4j.pax.web.service.views;version="${pax-web.osgi.version}",
115117
org.ops4j.pax.web.utils;version="${pax-web.osgi.version}",
116118

@@ -168,13 +170,18 @@
168170
<artifactId>osgi.core</artifactId>
169171
<scope>provided</scope>
170172
</dependency>
173+
<dependency>
174+
<groupId>org.osgi</groupId>
175+
<artifactId>org.osgi.service.servlet</artifactId>
176+
<scope>provided</scope>
177+
</dependency>
171178

172179
<dependency>
173180
<groupId>org.apache.felix</groupId>
174181
<artifactId>org.apache.felix.utils</artifactId>
175182
</dependency>
176183

177-
<!-- JavaEE -->
184+
<!-- JakartaEE -->
178185

179186
<dependency>
180187
<groupId>jakarta.servlet</groupId>
@@ -187,6 +194,12 @@
187194
<scope>provided</scope>
188195
<optional>true</optional>
189196
</dependency>
197+
<dependency>
198+
<groupId>jakarta.websocket</groupId>
199+
<artifactId>jakarta.websocket-client-api</artifactId>
200+
<scope>provided</scope>
201+
<optional>true</optional>
202+
</dependency>
190203

191204
<!-- Logging -->
192205

@@ -197,7 +210,7 @@
197210
</dependency>
198211
<dependency>
199212
<groupId>org.apache.logging.log4j</groupId>
200-
<artifactId>log4j-slf4j-impl</artifactId>
213+
<artifactId>log4j-slf4j2-impl</artifactId>
201214
<scope>test</scope>
202215
</dependency>
203216

@@ -227,8 +240,13 @@
227240
<!-- Testing -->
228241

229242
<dependency>
230-
<groupId>junit</groupId>
231-
<artifactId>junit</artifactId>
243+
<groupId>org.junit.jupiter</groupId>
244+
<artifactId>junit-jupiter-api</artifactId>
245+
<scope>test</scope>
246+
</dependency>
247+
<dependency>
248+
<groupId>org.junit.jupiter</groupId>
249+
<artifactId>junit-jupiter-engine</artifactId>
232250
<scope>test</scope>
233251
</dependency>
234252
<dependency>

pax-web-spi/src/main/java/org/ops4j/pax/web/service/spi/ServerController.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
package org.ops4j.pax.web.service.spi;
1818

1919
import java.net.URL;
20-
import javax.servlet.Servlet;
20+
import jakarta.servlet.Servlet;
2121

2222
import org.ops4j.pax.web.service.spi.config.Configuration;
2323
import org.ops4j.pax.web.service.spi.model.events.ServerListener;
@@ -103,16 +103,16 @@ public interface ServerController {
103103
* directory</li>
104104
* <li>{@code base} - if the "base" is not an absolute file: directory URL, this parameter will be treated
105105
* as prefix for the resource access as defined in Http/Whiteboard Service specifications (access via
106-
* {@link org.osgi.service.http.HttpContext#getResource(String)} or
107-
* {@link org.osgi.service.http.context.ServletContextHelper#getResource(String)}.</li>
106+
* {@link org.ops4j.pax.web.service.http.HttpContext#getResource(String)} or
107+
* {@link org.osgi.service.servlet.context.ServletContextHelper#getResource(String)}.</li>
108108
* </ul>
109109
*
110110
* @param urlBase if the "base" is found to be proper, accessible {@code file:} based directory, it is passed
111111
* to this creation method and {@code base} can be safely ignored
112112
* @param base According to HttpService and Whiteboard specifications, this is the <em>base</em> location for
113113
* resource fetching. By default this <em>base</em> is prepended to a path and (combined) used as argument
114-
* to {@link org.osgi.service.http.HttpContext#getResource(String)} or
115-
* {@link org.osgi.service.http.context.ServletContextHelper#getResource(String)}. It should not end with
114+
* to {@link org.ops4j.pax.web.service.http.HttpContext#getResource(String)} or
115+
* {@link org.osgi.service.servlet.context.ServletContextHelper#getResource(String)}. It should not end with
116116
* slash ({@code /}) and can be an empty string (meaning root of the bundle).
117117
* @return
118118
*/

pax-web-spi/src/main/java/org/ops4j/pax/web/service/spi/WarManager.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
*
2424
* @author Hiram Chirino
2525
*/
26-
@Review("Extend and integrate with org.osgi.service.http.runtime.HttpServiceRuntime for Karaf commands/services"
26+
@Review("Extend and integrate with org.osgi.service.servlet.runtime.HttpServiceRuntime for Karaf commands/services"
2727
+ " like org.apache.karaf.web.WebContainerService and org.apache.karaf.http.core.ServletService")
2828
public interface WarManager {
2929

pax-web-spi/src/main/java/org/ops4j/pax/web/service/spi/config/ServerConfiguration.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
public interface ServerConfiguration {
2424

2525
/**
26-
* Returns the temporary directory, directory that will be set as {@link javax.servlet.ServletContext#TEMPDIR}.
26+
* Returns the temporary directory, directory that will be set as {@link jakarta.servlet.ServletContext#TEMPDIR}.
2727
*
2828
* @return the temporary directory
2929
*/

pax-web-spi/src/main/java/org/ops4j/pax/web/service/spi/config/SessionConfiguration.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,19 @@
1616
package org.ops4j.pax.web.service.spi.config;
1717

1818
import java.io.File;
19-
import javax.servlet.SessionCookieConfig;
19+
import jakarta.servlet.SessionCookieConfig;
2020

2121
/**
2222
* <p>While some session configuration parameters (those specified in {@code web.xml} and
23-
* {@link javax.servlet.SessionCookieConfig}) can be specified through {@link org.ops4j.pax.web.service.WebContainer}
23+
* {@link jakarta.servlet.SessionCookieConfig}) can be specified through {@link org.ops4j.pax.web.service.WebContainer}
2424
* and during WAR deployment, some server-specific options can be configured only globally through
2525
* {@link org.ops4j.pax.web.service.PaxWebConstants#PID}.</p>
2626
*
2727
* <p>Global (this) configuration is also used when no context-specific session configuration is defined.</p>
2828
*/
2929
public interface SessionConfiguration {
3030

31-
// --- configuration that matches web.xml and javax.servlet.SessionCookieConfig
31+
// --- configuration that matches web.xml and jakarta.servlet.SessionCookieConfig
3232

3333
/**
3434
* {@code <session-config>/<session-timeout>} - returns the time in minutes after which an inative settion times out.
@@ -85,7 +85,7 @@ public interface SessionConfiguration {
8585
*/
8686
String getSessionCookieSameSite();
8787

88-
// --- configuration that's not related to web.xml or javax.servlet.SessionCookieConfig
88+
// --- configuration that's not related to web.xml or jakarta.servlet.SessionCookieConfig
8989

9090
/**
9191
* Allows configuration of Jetty's SessionHandler.SessionIdPathParameterName. By default it's {@code jsessionid}.

pax-web-spi/src/main/java/org/ops4j/pax/web/service/spi/context/DefaultHttpContext.java

+6-6
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,16 @@
2121
import java.util.LinkedHashSet;
2222
import java.util.Objects;
2323
import java.util.Set;
24-
import javax.servlet.ServletContext;
25-
import javax.servlet.http.HttpServletRequest;
26-
import javax.servlet.http.HttpServletResponse;
24+
import jakarta.servlet.ServletContext;
25+
import jakarta.servlet.http.HttpServletRequest;
26+
import jakarta.servlet.http.HttpServletResponse;
2727

2828
import org.ops4j.pax.web.service.PaxWebConstants;
2929
import org.ops4j.pax.web.service.WebContainerContext;
3030
import org.ops4j.pax.web.service.spi.util.Path;
3131
import org.osgi.framework.Bundle;
32-
import org.osgi.service.http.HttpContext;
33-
import org.osgi.service.http.HttpService;
32+
import org.ops4j.pax.web.service.http.HttpContext;
33+
import org.ops4j.pax.web.service.http.HttpService;
3434
import org.slf4j.Logger;
3535
import org.slf4j.LoggerFactory;
3636

@@ -172,7 +172,7 @@ public int hashCode() {
172172
* @return
173173
*/
174174
protected URL getResource(Bundle bundle, String name) {
175-
// "name" is passed from javax.servlet.ServletContext.getResource() which always should start with a slash
175+
// "name" is passed from jakarta.servlet.ServletContext.getResource() which always should start with a slash
176176
final String normalizedName = Path.normalizeResourcePath(name);
177177
LOG.trace("Searching bundle [" + bundle + "] for resource [" + normalizedName + "]");
178178
return bundle.getResource(normalizedName);

pax-web-spi/src/main/java/org/ops4j/pax/web/service/spi/context/DefaultMultiBundleWebContainerContext.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
import java.util.Queue;
2222
import java.util.Set;
2323
import java.util.concurrent.ConcurrentLinkedQueue;
24-
import javax.servlet.http.HttpServletRequest;
25-
import javax.servlet.http.HttpServletResponse;
24+
import jakarta.servlet.http.HttpServletRequest;
25+
import jakarta.servlet.http.HttpServletResponse;
2626

2727
import org.ops4j.pax.web.service.MultiBundleWebContainerContext;
2828
import org.osgi.framework.Bundle;

pax-web-spi/src/main/java/org/ops4j/pax/web/service/spi/context/DefaultServletContextHelper.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,11 @@
1818
import java.io.IOException;
1919
import java.net.URL;
2020
import java.util.Set;
21-
import javax.servlet.http.HttpServletRequest;
22-
import javax.servlet.http.HttpServletResponse;
21+
import jakarta.servlet.http.HttpServletRequest;
22+
import jakarta.servlet.http.HttpServletResponse;
2323

2424
import org.osgi.framework.Bundle;
25-
import org.osgi.service.http.context.ServletContextHelper;
25+
import org.osgi.service.servlet.context.ServletContextHelper;
2626

2727
/**
2828
* Default {@link ServletContextHelper} as specified in "140.2 The Servlet Context". Actually there's no need

pax-web-spi/src/main/java/org/ops4j/pax/web/service/spi/context/UniqueWebContainerContextWrapper.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@
1818
import java.io.IOException;
1919
import java.net.URL;
2020
import java.util.Set;
21-
import javax.servlet.http.HttpServletRequest;
22-
import javax.servlet.http.HttpServletResponse;
21+
import jakarta.servlet.http.HttpServletRequest;
22+
import jakarta.servlet.http.HttpServletResponse;
2323

2424
import org.ops4j.pax.web.service.WebContainerContext;
2525
import org.osgi.framework.Bundle;

pax-web-spi/src/main/java/org/ops4j/pax/web/service/spi/context/WebContainerContextWrapper.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -18,17 +18,17 @@
1818
import java.io.IOException;
1919
import java.net.URL;
2020
import java.util.Set;
21-
import javax.servlet.http.HttpServletRequest;
22-
import javax.servlet.http.HttpServletResponse;
21+
import jakarta.servlet.http.HttpServletRequest;
22+
import jakarta.servlet.http.HttpServletResponse;
2323

2424
import org.ops4j.pax.web.service.WebContainerContext;
2525
import org.osgi.framework.Bundle;
26-
import org.osgi.service.http.HttpContext;
27-
import org.osgi.service.http.context.ServletContextHelper;
26+
import org.ops4j.pax.web.service.http.HttpContext;
27+
import org.osgi.service.servlet.context.ServletContextHelper;
2828

2929
/**
3030
* A simple wrapper to enclose custom {@link HttpContext http contexts} (which gets registered directly to the
31-
* {@link org.osgi.service.http.HttpService}) or {@link ServletContextHelper} (registered via Whiteboard service)
31+
* {@link org.ops4j.pax.web.service.http.HttpService}) or {@link ServletContextHelper} (registered via Whiteboard service)
3232
* in an implementation of {@link org.ops4j.pax.web.service.WebContainerContext}.
3333
*/
3434
public class WebContainerContextWrapper extends DefaultHttpContext {

pax-web-spi/src/main/java/org/ops4j/pax/web/service/spi/context/package-info.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
*/
1616

1717
/**
18-
* <p>This package provides various implementations of {@link org.osgi.service.http.HttpContext} and
18+
* <p>This package provides various implementations of {@link org.ops4j.pax.web.service.http.HttpContext} and
1919
* {@link org.ops4j.pax.web.service.WebContainerContext} to be used in:<ul>
2020
* <li>Http Service implementation in pax-web-runtime bundle</li>
2121
* <li>Whiteboard Service implementation in pax-web-extender-whiteboard bundle</li>
@@ -24,7 +24,7 @@
2424
* <p><em>Unique</em> implementations are wrappers for existing instances of
2525
* {@link org.ops4j.pax.web.service.WebContainerContext} and
2626
* {@link org.ops4j.pax.web.service.MultiBundleWebContainerContext} because Http Service specification says
27-
* that {@link org.osgi.service.http.HttpService#createDefaultHttpContext()} returns new instance on each call,
27+
* that {@link org.ops4j.pax.web.service.http.HttpService#createDefaultHttpContext()} returns new instance on each call,
2828
* however we don't want these new instances to refer to different internal representations of the <em>contexts</em>.
2929
* </p>
3030
*/

pax-web-spi/src/main/java/org/ops4j/pax/web/service/spi/model/ContextKey.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
import org.ops4j.pax.web.service.WebContainerContext;
2121
import org.ops4j.pax.web.service.spi.context.WebContainerContextWrapper;
2222
import org.osgi.framework.Bundle;
23-
import org.osgi.service.http.HttpContext;
23+
import org.ops4j.pax.web.service.http.HttpContext;
2424

2525
public class ContextKey {
2626

pax-web-spi/src/main/java/org/ops4j/pax/web/service/spi/model/ModelRegistrationException.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@
1515
*/
1616
package org.ops4j.pax.web.service.spi.model;
1717

18-
import javax.servlet.ServletException;
18+
import jakarta.servlet.ServletException;
1919

20-
import org.osgi.service.http.NamespaceException;
20+
import org.ops4j.pax.web.service.http.NamespaceException;
2121

2222
/**
2323
* Special {@link RuntimeException} to handle checked exceptions thrown from {@link ModelRegistrationTask}

pax-web-spi/src/main/java/org/ops4j/pax/web/service/spi/model/ModelRegistrationTask.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,9 @@
1515
*/
1616
package org.ops4j.pax.web.service.spi.model;
1717

18-
import javax.servlet.ServletException;
18+
import jakarta.servlet.ServletException;
1919

20-
import org.osgi.service.http.NamespaceException;
20+
import org.ops4j.pax.web.service.http.NamespaceException;
2121

2222
/**
2323
* A task that can be passed to {@link ServerModel#run(ModelRegistrationTask)} to ensure running it in

0 commit comments

Comments
 (0)