Skip to content

Commit fda9cd0

Browse files
committed
[#1802] Switch pax-web-itest-osgi from javax to jakarta
1 parent 918c2fb commit fda9cd0

File tree

18 files changed

+141
-139
lines changed

18 files changed

+141
-139
lines changed

pax-web-api/pom.xml

+11-8
Original file line numberDiff line numberDiff line change
@@ -136,14 +136,6 @@
136136
org.osgi.framework;version="[1.10,2)",
137137
org.osgi.framework.wiring;version="[1.2,2)",
138138

139-
<!-- OSGi CMPN R8.1 140 Whiteboard Specification for Jakarta™ Servlet -->
140-
org.osgi.service.servlet.context;version="2.0.0",
141-
org.osgi.service.servlet.runtime;version="2.0.0",
142-
org.osgi.service.servlet.runtime.dto;version="2.0.0",
143-
org.osgi.service.servlet.whiteboard;version="2.0.0",
144-
org.osgi.service.servlet.whiteboard.annotations;version="2.0.0",
145-
org.osgi.service.servlet.whiteboard.propertytypes;version="2.0.0",
146-
147139
<!-- from pax-logging-api -->
148140
org.slf4j;version="[2,3)"
149141
</Import-Package>
@@ -155,6 +147,17 @@
155147
org.ops4j.pax.web.utils;version="${pax-web.osgi.version}",
156148
<!-- Special export for org.keycloak:keycloak-osgi-adapter:18.0.x -->
157149
<!-- org.ops4j.pax.web.service;version="7.4",-->
150+
151+
<!-- re-export OSGi CMPN R7 102 HTTP Service packages, but moved to Pax Web -->
152+
org.ops4j.pax.web.service.http;version="${pax-web.osgi.version}",
153+
154+
<!-- OSGi CMPN R8.1 140 Whiteboard Specification for Jakarta™ Servlet -->
155+
org.osgi.service.servlet.context;version="2.0.0",
156+
org.osgi.service.servlet.runtime;version="2.0.0",
157+
org.osgi.service.servlet.runtime.dto;version="2.0.0",
158+
org.osgi.service.servlet.whiteboard;version="2.0.0",
159+
org.osgi.service.servlet.whiteboard.annotations;version="2.0.0",
160+
org.osgi.service.servlet.whiteboard.propertytypes;version="2.0.0",
158161
</Export-Package>
159162
<Include-Resource>
160163
{maven-resources},

pax-web-itest/pax-web-itest-common/pom.xml

+22-14
Original file line numberDiff line numberDiff line change
@@ -54,27 +54,28 @@
5454
<configuration>
5555
<instructions>
5656
<Import-Package>
57-
<!-- ranges indicate Servlet API 3.1+ (JavaEE 7+) -->
58-
javax.servlet;version="[3.1,5)",
59-
javax.servlet.annotation;version="[3.1,5)",
60-
javax.servlet.http;version="[3.1,5)",
61-
javax.websocket;resolution:=optional,
62-
javax.websocket.server;resolution:=optional,
63-
64-
<!-- ranges indicate we can work with OSGi Core R6+ -->
65-
org.osgi.framework;version="[1.8,2)",
57+
<!-- ranges indicate Servlet API 6.0+ (JakartaEE 10+) -->
58+
jakarta.servlet;version="[6,7)",
59+
jakarta.servlet.annotation;version="[6,7)",
60+
jakarta.servlet.http;version="[6,7)",
61+
62+
jakarta.websocket;version="[2.1,3)",
63+
jakarta.websocket.server;version="[2.1,3)",
64+
65+
<!-- OSGi Core R8+ -->
66+
org.osgi.framework;version="[1.10,2)",
6667
org.osgi.framework.wiring;version="[1.2,2)",
6768
org.osgi.util.tracker;version="[1.5,2)",
6869

6970
<!-- OSGi cmpn -->
7071
org.osgi.service.cm;resolution:=optional,
71-
org.osgi.service.http;version="[1.2,2)",
72-
org.osgi.service.http.context;version="[1.1,2)",
73-
org.osgi.service.http.runtime.dto;version="[1.1,2)",
74-
org.osgi.service.http.runtime;version="[1.1,2)",
72+
org.osgi.service.servlet.context;version="[2,3)",
73+
org.osgi.service.servlet.runtime.dto;version="[2,3)",
74+
org.osgi.service.servlet.runtime;version="[2,3)",
7575

7676
<!-- from pax-web-api -->
7777
org.ops4j.pax.web.service;version="${pax-web.osgi.version}",
78+
org.ops4j.pax.web.service.http;version="${pax-web.osgi.version}",
7879

7980
<!-- from pax-web-spi -->
8081
org.ops4j.pax.web.service.spi.model.events;version="${pax-web.osgi.version}",
@@ -87,7 +88,7 @@
8788
org.ops4j.pax.web.itest.utils.web,
8889

8990
<!-- from pax-logging-api -->
90-
org.slf4j;version="[1.7,2)",
91+
org.slf4j;version="[2,3)",
9192
org.ops4j.pax.logging;version="[2.0,3)",
9293

9394
<!-- test dependencies -->
@@ -147,6 +148,13 @@
147148
<artifactId>jakarta.servlet-api</artifactId>
148149
</dependency>
149150

151+
<!-- OSGi -->
152+
153+
<dependency>
154+
<groupId>org.osgi</groupId>
155+
<artifactId>osgi.core</artifactId>
156+
</dependency>
157+
150158
<!-- ServiceMIX -->
151159

152160
<dependency>

pax-web-itest/pax-web-itest-common/src/main/java/org/ops4j/pax/web/itest/AbstractControlledTestBase.java

+73-62
Large diffs are not rendered by default.

pax-web-itest/pax-web-itest-osgi/pom.xml

+4-4
Original file line numberDiff line numberDiff line change
@@ -288,7 +288,7 @@
288288
</dependency>
289289
<dependency>
290290
<groupId>org.osgi</groupId>
291-
<artifactId>osgi.cmpn</artifactId>
291+
<artifactId>org.osgi.service.servlet</artifactId>
292292
</dependency>
293293

294294
<dependency>
@@ -303,7 +303,7 @@
303303
<scope>test</scope>
304304
</dependency>
305305

306-
<!-- JavaEE -->
306+
<!-- JakartaEE -->
307307

308308
<dependency>
309309
<groupId>jakarta.annotation</groupId>
@@ -313,7 +313,7 @@
313313
<dependency>
314314
<groupId>jakarta.servlet</groupId>
315315
<artifactId>jakarta.servlet-api</artifactId>
316-
<!-- it has to be "test" - Pax Exam needs javax.servlet classes when loading @Test classes -->
316+
<!-- it has to be "test" - Pax Exam needs jakarta.servlet classes when loading @Test classes -->
317317
<scope>test</scope>
318318
</dependency>
319319

@@ -334,7 +334,7 @@
334334
</dependency>
335335
<dependency>
336336
<groupId>org.apache.logging.log4j</groupId>
337-
<artifactId>log4j-slf4j-impl</artifactId>
337+
<artifactId>log4j-slf4j2-impl</artifactId>
338338
<scope>test</scope>
339339
</dependency>
340340

pax-web-itest/pax-web-itest-osgi/readme.adoc

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ When using PaxExam native conainer (not Karaf container), we have two JVM instan
1212
PaxExam itself (before even starting any implementation of `org.ops4j.pax.exam.TestContainer`) uses Slf4J API, so we definitiely want two Maven dependencies in `test` scope:
1313

1414
* org.slf4j:slf4j-api
15-
* org.apache.logging.log4j:log4j-slf4j-impl
15+
* org.apache.logging.log4j:log4j-slf4j2-impl
1616

1717
And configuration file like `src/test/resources/log4j2-test.properties`.
1818

pax-web-itest/pax-web-itest-osgi/src/test/java/org/ops4j/pax/web/itest/osgi/ClassPathUtilIntegrationTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ public Option[] configure() {
6363
// to do it's job (like scanning for resources)
6464
mavenBundle("org.ops4j.pax.web.samples", "pax-web-spi-fragment").versionAsInProject().noStart(),
6565

66-
// bundle and two fragments to perform searching of /META-INF/services/javax.servlet.ServletContainerInitializer
66+
// bundle and two fragments to perform searching of /META-INF/services/jakarta.servlet.ServletContainerInitializer
6767
mavenBundle("org.ops4j.pax.web.samples", "initializers").versionAsInProject(),
6868
mavenBundle("org.ops4j.pax.web.samples", "initializers-fragment1").versionAsInProject().noStart(),
6969
mavenBundle("org.ops4j.pax.web.samples", "initializers-fragment2").versionAsInProject().noStart(),

pax-web-itest/pax-web-itest-osgi/src/test/java/org/ops4j/pax/web/itest/osgi/PaxWebRuntimeIntegrationTest.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
import java.util.concurrent.CountDownLatch;
2525
import java.util.concurrent.TimeUnit;
2626
import javax.inject.Inject;
27-
import javax.servlet.http.HttpServlet;
27+
import jakarta.servlet.http.HttpServlet;
2828

2929
import org.apache.commons.io.FileUtils;
3030
import org.apache.commons.io.IOUtils;
@@ -37,6 +37,7 @@
3737
import org.ops4j.pax.web.itest.osgi.support.MockServerController;
3838
import org.ops4j.pax.web.service.PaxWebConfig;
3939
import org.ops4j.pax.web.service.PaxWebConstants;
40+
import org.ops4j.pax.web.service.http.HttpService;
4041
import org.ops4j.pax.web.service.spi.ServerController;
4142
import org.ops4j.pax.web.service.spi.ServerControllerFactory;
4243
import org.ops4j.pax.web.service.spi.task.Batch;
@@ -46,7 +47,6 @@
4647
import org.osgi.framework.ServiceListener;
4748
import org.osgi.framework.ServiceReference;
4849
import org.osgi.framework.ServiceRegistration;
49-
import org.osgi.service.http.HttpService;
5050
import org.osgi.service.metatype.AttributeDefinition;
5151
import org.osgi.service.metatype.MetaTypeInformation;
5252
import org.osgi.service.metatype.MetaTypeService;
@@ -124,7 +124,7 @@ public void registerFakeServerControllerFactory() throws Exception {
124124
ServiceListener sl1 = (event) -> {
125125
if (event.getType() == ServiceEvent.REGISTERED) {
126126
String[] classes = (String[]) event.getServiceReference().getProperty(Constants.OBJECTCLASS);
127-
if (Arrays.asList(classes).contains("org.osgi.service.http.HttpService")) {
127+
if (Arrays.asList(classes).contains("org.ops4j.pax.web.service.http.HttpService")) {
128128
latch1.countDown();
129129
}
130130
}
@@ -157,7 +157,7 @@ public void sendBatch(Batch batch) {
157157
ServiceListener sl2 = (event) -> {
158158
if (event.getType() == ServiceEvent.UNREGISTERING) {
159159
String[] classes = (String[]) event.getServiceReference().getProperty(Constants.OBJECTCLASS);
160-
if (Arrays.asList(classes).contains("org.osgi.service.http.HttpService")) {
160+
if (Arrays.asList(classes).contains("org.ops4j.pax.web.service.http.HttpService")) {
161161
latch3.countDown();
162162
}
163163
}
@@ -186,7 +186,7 @@ public void checkTrackersForHttpServiceFactory() throws Exception {
186186
ServiceListener sl1 = (event) -> {
187187
if (event.getType() == ServiceEvent.REGISTERED) {
188188
String[] classes = (String[]) event.getServiceReference().getProperty(Constants.OBJECTCLASS);
189-
if (Arrays.asList(classes).contains("org.osgi.service.http.HttpService")) {
189+
if (Arrays.asList(classes).contains("org.ops4j.pax.web.service.http.HttpService")) {
190190
latch1.countDown();
191191
}
192192
}

pax-web-itest/pax-web-itest-osgi/src/test/java/org/ops4j/pax/web/itest/osgi/PaxWebSpiIntegrationTest.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
import java.util.List;
2727
import java.util.Optional;
2828
import java.util.jar.Manifest;
29-
import javax.servlet.ServletContainerInitializer;
29+
import jakarta.servlet.ServletContainerInitializer;
3030

3131
import org.apache.commons.io.IOUtils;
3232
import org.junit.Test;
@@ -76,7 +76,7 @@ public Option[] configure() {
7676
mavenBundle("org.ow2.asm", "asm-commons").version(System.getProperty("version.asm")).startLevel(START_LEVEL_TEST_BUNDLE - 1),
7777
mavenBundle("org.ow2.asm", "asm-tree").version(System.getProperty("version.asm")).startLevel(START_LEVEL_TEST_BUNDLE - 1),
7878

79-
// bundle and two fragments to perform searching of /META-INF/services/javax.servlet.ServletContainerInitializer
79+
// bundle and two fragments to perform searching of /META-INF/services/jakarta.servlet.ServletContainerInitializer
8080
mavenBundle("org.ops4j.pax.web.samples", "initializers").versionAsInProject(),
8181
mavenBundle("org.ops4j.pax.web.samples", "initializers-fragment1").versionAsInProject().noStart(),
8282
mavenBundle("org.ops4j.pax.web.samples", "initializers-fragment2").versionAsInProject().noStart(),

pax-web-itest/pax-web-itest-osgi/src/test/java/org/ops4j/pax/web/itest/osgi/support/MockServerController.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
package org.ops4j.pax.web.itest.osgi.support;
1717

1818
import java.net.URL;
19-
import javax.servlet.Servlet;
19+
import jakarta.servlet.Servlet;
2020

2121
import org.ops4j.pax.web.service.spi.ServerController;
2222
import org.ops4j.pax.web.service.spi.ServerState;

pax-web-itest/pax-web-itest-utils/src/main/java/org/ops4j/pax/web/itest/utils/web/Bundle2Activator.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,10 @@
2121

2222
import org.ops4j.pax.web.service.PaxWebConstants;
2323
import org.ops4j.pax.web.service.WebContainer;
24+
import org.ops4j.pax.web.service.http.HttpContext;
2425
import org.osgi.framework.BundleActivator;
2526
import org.osgi.framework.BundleContext;
2627
import org.osgi.framework.ServiceReference;
27-
import org.osgi.service.http.HttpContext;
2828

2929
public class Bundle2Activator implements BundleActivator {
3030

pax-web-itest/pax-web-itest-utils/src/main/java/org/ops4j/pax/web/itest/utils/web/FilterBundleActivator.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
import org.osgi.framework.BundleActivator;
2323
import org.osgi.framework.BundleContext;
2424
import org.osgi.framework.ServiceRegistration;
25-
import org.osgi.service.http.whiteboard.HttpWhiteboardConstants;
25+
import org.osgi.service.servlet.whiteboard.HttpWhiteboardConstants;
2626

2727
public class FilterBundleActivator implements BundleActivator {
2828

pax-web-itest/pax-web-itest-utils/src/main/java/org/ops4j/pax/web/itest/utils/web/ServletBundleActivator.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,11 @@
2020

2121
import org.ops4j.pax.web.service.PaxWebConstants;
2222
import org.ops4j.pax.web.service.WebContainer;
23+
import org.ops4j.pax.web.service.http.HttpContext;
2324
import org.osgi.framework.BundleActivator;
2425
import org.osgi.framework.BundleContext;
2526
import org.osgi.framework.ServiceReference;
2627
import org.osgi.framework.ServiceRegistration;
27-
import org.osgi.service.http.HttpContext;
2828

2929
public class ServletBundleActivator implements BundleActivator {
3030

pax-web-spi/pom.xml

+4-4
Original file line numberDiff line numberDiff line change
@@ -105,10 +105,10 @@
105105
org.osgi.util.tracker;version="[1.5,2)",
106106

107107
<!-- OSGi cmpn -->
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)",
108+
org.osgi.service.servlet.context;version="[2,3)",
109+
org.osgi.service.servlet.whiteboard;version="[2,3)",
110+
org.osgi.service.servlet.runtime;version="[2,3)",
111+
org.osgi.service.servlet.runtime.dto;version="[2,3)",
112112

113113
<!-- from pax-web-api -->
114114
org.ops4j.pax.web.service;version="${pax-web.osgi.version}",

pax-web-tomcat-common/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@
5757
org.ops4j.pax.web.service;version="${pax-web.osgi.version}",
5858

5959
<!-- from pax-logging-api -->
60-
org.apache.juli.logging,
60+
org.apache.juli.logging;version="[9.0,11.0)",
6161

6262
<!-- JavaSE -->
6363
javax.management,

samples/samples-jsf/jsf-primefaces-embedded-fragment/pom.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@
4747
-->
4848
<Require-Bundle>org.ops4j.pax.web.samples.jsf-primefaces-commons2</Require-Bundle>
4949
<Import-Package>
50-
org.osgi.framework;version="[1.8,2)",
50+
org.osgi.framework;version="[1.10,2)",
5151
*
5252
</Import-Package>
5353
<Private-Package />
@@ -84,7 +84,7 @@
8484
<artifactId>osgi.core</artifactId>
8585
</dependency>
8686

87-
<!-- JavaEE -->
87+
<!-- JakartaEE -->
8888

8989
<dependency>
9090
<groupId>jakarta.servlet</groupId>

samples/samples-jsf/jsf-primefaces-embedded/pom.xml

+4-24
Original file line numberDiff line numberDiff line change
@@ -70,32 +70,12 @@
7070
-->
7171
<Require-Bundle>org.ops4j.pax.web.samples.jsf-primefaces-commons1</Require-Bundle>
7272
<Import-Package>
73-
org.osgi.framework;version="[1.8,2)",
74-
javax.servlet;version="[3.1,5)"
75-
javax.servlet.http;version="[3.1,5)",
73+
org.osgi.framework;version="[1.10,2)",
74+
jakarta.servlet;version="[6,7)"
75+
jakarta.servlet.http;version="[6,7)",
7676
org.ops4j.pax.web.samples.jsf3
7777
</Import-Package>
7878
<DynamicImport-Package>*</DynamicImport-Package>
79-
<!-- <Import-Package>-->
80-
<!-- javax.el,-->
81-
<!-- javax.faces.webapp,-->
82-
<!-- javax.servlet.jsp;version="[2.2,3.0)",-->
83-
<!-- javax.servlet.jsp.jstl.core;version="1.2",-->
84-
<!-- javax.servlet.jsp.jstl.fmt;version="1.2",-->
85-
<!-- javax.servlet.jsp.jstl.tlv;version="1.2",-->
86-
<!-- org.apache.taglibs.standard.resources;version="1.1.2",-->
87-
<!-- org.apache.taglibs.standard.tag.common.core;version="1.1.2",-->
88-
<!-- org.apache.taglibs.standard.tag.rt.core;version="1.1.2",-->
89-
<!-- org.apache.taglibs.standard.tei;version="1.1.2",-->
90-
<!-- org.apache.taglibs.standard.tlv;version="1.1.2",-->
91-
<!-- javax.faces.*,-->
92-
<!-- org.apache.myfaces.webapp,-->
93-
<!-- org.apache.myfaces.config,-->
94-
<!-- org.apache.myfaces.config.impl,-->
95-
<!-- org.apache.myfaces.config.impl.digester,-->
96-
<!-- org.apache.myfaces.config.impl.digester.elements,-->
97-
<!-- *-->
98-
<!-- </Import-Package>-->
9979
<Private-Package />
10080
<Export-Package>!*</Export-Package>
10181
<!--
@@ -188,7 +168,7 @@
188168
<scope>provided</scope>
189169
</dependency>
190170

191-
<!-- JavaEE -->
171+
<!-- JakartaEE -->
192172

193173
<dependency>
194174
<groupId>jakarta.servlet</groupId>

samples/samples-war/war-simplest-osgi/pom.xml

+3-3
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,8 @@
4747
</supportedProjectTypes>
4848
<instructions>
4949
<Import-Package>
50-
org.osgi.framework;version="[1.8,2)",
51-
javax.servlet.*;version="[3.1,5)",
50+
org.osgi.framework;version="[1.10,2)",
51+
jakarta.servlet.*;version="[6,7)",
5252
sun.nio.ch;resolution:=optional,
5353
*
5454
</Import-Package>
@@ -113,7 +113,7 @@
113113
are packaged in WAR
114114
-->
115115

116-
<!-- JavaEE -->
116+
<!-- JakartaEE -->
117117

118118
<dependency>
119119
<groupId>jakarta.servlet</groupId>

samples/samples-war/war-simplest-osgi/src/main/java/org/ops4j/pax/web/samples/war/osgi/SimplestServlet.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@
1717

1818
import java.io.IOException;
1919
import java.nio.charset.StandardCharsets;
20-
import javax.servlet.ServletException;
21-
import javax.servlet.http.HttpServlet;
22-
import javax.servlet.http.HttpServletRequest;
23-
import javax.servlet.http.HttpServletResponse;
20+
import jakarta.servlet.ServletException;
21+
import jakarta.servlet.http.HttpServlet;
22+
import jakarta.servlet.http.HttpServletRequest;
23+
import jakarta.servlet.http.HttpServletResponse;
2424

2525
public class SimplestServlet extends HttpServlet {
2626

0 commit comments

Comments
 (0)