diff --git a/ejb/embeddable/pom.xml b/ejb/embeddable/pom.xml
index 17032dd7d..cc1eacac5 100644
--- a/ejb/embeddable/pom.xml
+++ b/ejb/embeddable/pom.xml
@@ -18,7 +18,7 @@
junit
junit
- 4.10
+ 4.13.1
test
jar
diff --git a/jaspic/common/pom.xml b/jaspic/common/pom.xml
index 82da0e698..069b74319 100644
--- a/jaspic/common/pom.xml
+++ b/jaspic/common/pom.xml
@@ -46,19 +46,19 @@
junit
junit
- 4.11
+ 4.13.1
provided
net.sourceforge.htmlunit
htmlunit
- 2.31
+ 2.37.0
provided
org.jsoup
jsoup
- 1.9.1
+ 1.14.2
diff --git a/jaxrpc/jaxrpc-security/pom.xml b/jaxrpc/jaxrpc-security/pom.xml
index dcc9c6c31..37c76a192 100644
--- a/jaxrpc/jaxrpc-security/pom.xml
+++ b/jaxrpc/jaxrpc-security/pom.xml
@@ -32,7 +32,7 @@
org.apache.ant
ant
- 1.7.0
+ 1.10.11
diff --git a/jaxws/jaxws-client/pom.xml b/jaxws/jaxws-client/pom.xml
index 94b71f3be..cbdc0d008 100644
--- a/jaxws/jaxws-client/pom.xml
+++ b/jaxws/jaxws-client/pom.xml
@@ -18,6 +18,7 @@
com.helger.maven
jaxws-maven-plugin
+ 2.6.2
generate-sources
diff --git a/jaxws/pom.xml b/jaxws/pom.xml
index 84686e4cb..81a9e49f2 100644
--- a/jaxws/pom.xml
+++ b/jaxws/pom.xml
@@ -24,16 +24,10 @@
${project.version}
test
-
- javax.xml.ws
- jaxws-api
- 2.3.1
- test
-
com.sun.xml.ws
jaxws-rt
- 2.3.2
+ 2.3.5
test
diff --git a/pom.xml b/pom.xml
index a8716f1e8..732727fc8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -10,9 +10,9 @@
Java EE 7 Sample: javaee7-samples
- 1.4.1.Final
+ 1.7.0.Alpha1
1.7
- 3.0.0
+ 3.5.4
UTF-8
false
@@ -129,7 +129,7 @@
fish.payara.arquillian
payara-client-ee7
- 1.0.Beta3-m1
+ 2.2
test
@@ -163,26 +163,24 @@
junit
junit
- 4.12
+ 4.13.1
test
org.hamcrest
hamcrest-core
- 2.1
test
org.hamcrest
hamcrest-library
- 2.1
test
org.assertj
assertj-core
- 1.5.0
+ 3.16.1
test
@@ -228,7 +226,7 @@
net.sourceforge.htmlunit
htmlunit
- 2.35.0
+ 2.40.0
test
@@ -258,12 +256,12 @@
jakarta.xml.bind
jakarta.xml.bind-api
- 2.3.2
+ 3.0.0
org.glassfish.jaxb
jaxb-runtime
- 2.3.2
+ 3.0.0
@@ -282,7 +280,7 @@
org.apache.maven.plugins
maven-compiler-plugin
- 3.8.0
+ 3.8.1
${java.min.version}
${java.min.version}
@@ -300,7 +298,7 @@
org.apache.maven.plugins
maven-war-plugin
- 3.2.2
+ 3.2.3
true
false
@@ -333,7 +331,7 @@
org.wildfly.plugins
wildfly-maven-plugin
- 1.0.2.Final
+ 1.2.1.Final
@@ -341,12 +339,12 @@
org.apache.maven.plugins
maven-enforcer-plugin
- 3.0.0-M2
+ 3.0.0-M3
org.apache.maven.plugins
maven-surefire-plugin
- 3.0.0-M3
+ 3.0.0-M4
@@ -380,7 +378,7 @@
cloud.piranha.arquillian
piranha-arquillian-server
- 20.1.2
+ 20.6.0-SNAPSHOT
@@ -392,8 +390,8 @@
piranha-embedded
- 20.1.2
- false
+ 20.6.0-SNAPSHOT
+ true
${skipEJB}
@@ -426,7 +424,7 @@
fish.payara.arquillian
arquillian-payara-server-4-managed
- 1.0.Beta3-m1
+ 1.1
@@ -1445,7 +1443,7 @@
org.apache.maven.plugins
maven-antrun-plugin
- 1.1
+ 1.8
process-test-classes
@@ -1705,7 +1703,7 @@
org.apache.maven.plugins
maven-dependency-plugin
- 2.4
+ 3.1.2
sources
diff --git a/servlet/pom.xml b/servlet/pom.xml
index 912a59a6e..1bbe27055 100644
--- a/servlet/pom.xml
+++ b/servlet/pom.xml
@@ -27,6 +27,7 @@
resource-packaging
file-upload
programmatic-registration
+ servlet-libs
security-basicauth
diff --git a/servlet/protocol-handler/pom.xml b/servlet/protocol-handler/pom.xml
index e49c5507f..71b9394f4 100644
--- a/servlet/protocol-handler/pom.xml
+++ b/servlet/protocol-handler/pom.xml
@@ -12,4 +12,19 @@
war
Java EE 7 Sample: servlet - protocol-handler
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+
+
+
+ true
+
+
+
+
+
diff --git a/servlet/protocol-handler/src/main/java/org/javaee7/servlet/protocolhandler/UpgradeServlet.java b/servlet/protocol-handler/src/main/java/org/javaee7/servlet/protocolhandler/UpgradeServlet.java
index 8bca67535..862f14a79 100644
--- a/servlet/protocol-handler/src/main/java/org/javaee7/servlet/protocolhandler/UpgradeServlet.java
+++ b/servlet/protocol-handler/src/main/java/org/javaee7/servlet/protocolhandler/UpgradeServlet.java
@@ -39,6 +39,7 @@
*/
package org.javaee7.servlet.protocolhandler;
+import static javax.servlet.http.HttpServletResponse.SC_BAD_REQUEST;
import static javax.servlet.http.HttpServletResponse.SC_SWITCHING_PROTOCOLS;
import java.io.IOException;
@@ -66,11 +67,16 @@ public class UpgradeServlet extends HttpServlet {
* @throws IOException if an I/O error occurs
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- response.setStatus(SC_SWITCHING_PROTOCOLS);
- response.setHeader("Connection", "Upgrade");
- response.setHeader("Upgrade", "echo");
- request.upgrade(MyProtocolHandler.class);
-
- System.out.println("Request upgraded to MyProtocolHandler");
+ String requestedUpgrade = request.getHeader("Upgrade");
+ if ("echo".equals(requestedUpgrade)) {
+ response.setStatus(SC_SWITCHING_PROTOCOLS);
+ response.setHeader("Connection", "Upgrade");
+ response.setHeader("Upgrade", "echo");
+ request.upgrade(MyProtocolHandler.class);
+
+ System.out.println("Request upgraded to MyProtocolHandler");
+ } else {
+ response.sendError(SC_BAD_REQUEST, "unknown upgrade " + requestedUpgrade);
+ }
}
}
diff --git a/servlet/protocol-handler/src/test/java/org/javaee7/servlet/protocolhandler/ProtocolHandlerTest.java b/servlet/protocol-handler/src/test/java/org/javaee7/servlet/protocolhandler/ProtocolHandlerTest.java
index 2e02c1baa..a7fe9e1bd 100644
--- a/servlet/protocol-handler/src/test/java/org/javaee7/servlet/protocolhandler/ProtocolHandlerTest.java
+++ b/servlet/protocol-handler/src/test/java/org/javaee7/servlet/protocolhandler/ProtocolHandlerTest.java
@@ -1,6 +1,6 @@
package org.javaee7.servlet.protocolhandler;
-import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.assertEquals;
import java.io.IOException;
import java.io.InputStream;
@@ -44,6 +44,8 @@ public void testUpgradeProtocol() throws IOException, URISyntaxException {
// typically hang when reading.
URLConnection connection = new URL(base, "UpgradeServlet").openConnection();
+ connection.setRequestProperty("Connection", "Upgrade");
+ connection.setRequestProperty("Upgrade", "echo");
connection.setConnectTimeout(2000);
connection.setReadTimeout(2000);
@@ -71,7 +73,7 @@ public void testUpgradeProtocol() throws IOException, URISyntaxException {
}
}
- assertTrue("In protocol handler".equals(response.toString()));
+ assertEquals("In protocol handler", response.toString());
}
}
diff --git a/servlet/resource-packaging/src/test/java/org/javaee7/servlet/resource/packaging/ResourcePackagingTest.java b/servlet/resource-packaging/src/test/java/org/javaee7/servlet/resource/packaging/ResourcePackagingTest.java
index 5d179c70a..7a662a411 100644
--- a/servlet/resource-packaging/src/test/java/org/javaee7/servlet/resource/packaging/ResourcePackagingTest.java
+++ b/servlet/resource-packaging/src/test/java/org/javaee7/servlet/resource/packaging/ResourcePackagingTest.java
@@ -1,22 +1,19 @@
package org.javaee7.servlet.resource.packaging;
-import static org.hamcrest.CoreMatchers.equalTo;
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.startsWith;
-import static org.junit.Assert.assertThat;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
import java.io.File;
import java.net.MalformedURLException;
-import java.net.URI;
import java.net.URISyntaxException;
import java.net.URL;
+import java.util.logging.Logger;
-import javax.ws.rs.client.Client;
import javax.ws.rs.client.ClientBuilder;
-import javax.ws.rs.client.WebTarget;
import javax.ws.rs.core.Response;
import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.container.test.api.RunAsClient;
import org.jboss.arquillian.junit.Arquillian;
import org.jboss.arquillian.test.api.ArquillianResource;
import org.jboss.shrinkwrap.api.ShrinkWrap;
@@ -29,26 +26,32 @@
*/
@RunWith(Arquillian.class)
public class ResourcePackagingTest {
+
+ Logger logger = Logger.getLogger(ResourcePackagingTest.class.getName());
@Deployment(testable = false)
public static WebArchive deploy() throws URISyntaxException {
return ShrinkWrap.create(WebArchive.class)
- .addAsLibrary(new File("src/main/webapp/WEB-INF/lib/myResources.jar"), "myResources.jar");
+ .addAsLibrary(new File("src/main/webapp/WEB-INF/lib/myResources.jar"), "myResources.jar");
}
@ArquillianResource
private URL base;
@Test
- public void getMyResourceJarStyles() throws MalformedURLException {
- Client client = ClientBuilder.newClient();
- WebTarget target = client.target(URI.create(new URL(base, "styles.css").toExternalForm()));
- Response response = target.request().get();
-
- assertThat(response.getStatus(), is(equalTo(200)));
+ @RunAsClient
+ public void getMyResourceJarStyles() throws MalformedURLException, URISyntaxException {
+ Response response =
+ ClientBuilder.newClient()
+ .target(new URL(base, "styles.css").toURI())
+ .request()
+ .get();
+
+ assertEquals(200, response.getStatus());
String style = response.readEntity(String.class);
- assertThat(style, startsWith("body {"));
+
+ assertTrue(style.startsWith("body {"));
}
}
diff --git a/servlet/servlet-libs/empty-app-servlet-lib/pom.xml b/servlet/servlet-libs/empty-app-servlet-lib/pom.xml
new file mode 100644
index 000000000..5545d4563
--- /dev/null
+++ b/servlet/servlet-libs/empty-app-servlet-lib/pom.xml
@@ -0,0 +1,23 @@
+
+
+ 4.0.0
+
+
+ org.javaee7
+ servlet-libs
+ 1.0-SNAPSHOT
+
+
+ empty-app-servlet-lib
+ war
+
+ Java EE 7 Sample: servlet - empty-app-servlet-lib
+
+
+
+ org.javaee7
+ servlet-lib
+ 1.0-SNAPSHOT
+
+
+
diff --git a/servlet/servlet-libs/empty-app-servlet-lib/src/test/java/org/javaee7/servlet/servlet_libs/empty/app/EmptyAppWithLibTest.java b/servlet/servlet-libs/empty-app-servlet-lib/src/test/java/org/javaee7/servlet/servlet_libs/empty/app/EmptyAppWithLibTest.java
new file mode 100644
index 000000000..445d2f309
--- /dev/null
+++ b/servlet/servlet-libs/empty-app-servlet-lib/src/test/java/org/javaee7/servlet/servlet_libs/empty/app/EmptyAppWithLibTest.java
@@ -0,0 +1,59 @@
+package org.javaee7.servlet.servlet_libs.empty.app;
+
+import static org.junit.Assert.assertTrue;
+
+import java.net.MalformedURLException;
+import java.net.URISyntaxException;
+import java.net.URL;
+
+import javax.ws.rs.client.ClientBuilder;
+
+import org.jboss.arquillian.container.test.api.Deployment;
+import org.jboss.arquillian.container.test.api.RunAsClient;
+import org.jboss.arquillian.junit.Arquillian;
+import org.jboss.arquillian.test.api.ArquillianResource;
+import org.jboss.shrinkwrap.api.ShrinkWrap;
+import org.jboss.shrinkwrap.api.spec.JavaArchive;
+import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.jboss.shrinkwrap.resolver.api.maven.Maven;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/**
+ *
+ * @author Arjan Tijms
+ *
+ */
+@RunWith(Arquillian.class)
+public class EmptyAppWithLibTest {
+
+ @ArquillianResource
+ private URL base;
+
+ @Deployment(testable = false)
+ public static WebArchive deploy() throws URISyntaxException {
+ JavaArchive[] archiveWithServlet =
+ Maven.resolver()
+ .loadPomFromFile("pom.xml")
+ .resolve("org.javaee7:servlet-lib")
+ .withoutTransitivity()
+ .as(JavaArchive.class);
+
+ return ShrinkWrap.create(WebArchive.class)
+ .addAsLibraries(archiveWithServlet);
+ }
+
+ @Test
+ @RunAsClient
+ public void invokeBasicServlet() throws MalformedURLException, URISyntaxException {
+ String response =
+ ClientBuilder.newClient()
+ .target(new URL(base, "basic").toURI())
+ .request()
+ .get()
+ .readEntity(String.class);
+
+ assertTrue(response.startsWith("get request"));
+ }
+
+}
diff --git a/servlet/servlet-libs/pom.xml b/servlet/servlet-libs/pom.xml
new file mode 100644
index 000000000..ee2519d80
--- /dev/null
+++ b/servlet/servlet-libs/pom.xml
@@ -0,0 +1,25 @@
+
+
+ 4.0.0
+
+
+ org.javaee7
+ servlet
+ 1.0-SNAPSHOT
+
+
+
+ This module contains samples for functioning of web apps and code in libraries
+ (jars in WEB-INF/lib).
+
+
+ servlet-libs
+ pom
+
+ Java EE 7 Sample: Servlet - libs
+
+
+ servlet-lib
+ empty-app-servlet-lib
+
+
diff --git a/servlet/servlet-libs/servlet-lib/pom.xml b/servlet/servlet-libs/servlet-lib/pom.xml
new file mode 100644
index 000000000..8ad86b342
--- /dev/null
+++ b/servlet/servlet-libs/servlet-lib/pom.xml
@@ -0,0 +1,54 @@
+
+
+ 4.0.0
+
+ org.javaee7
+ servlet-lib
+ 1.0-SNAPSHOT
+
+ Java EE 7 Sample: servlet - servlet-lib
+
+ This module delivers a jar with a single Servlet in it. The intend is for this to be included
+ in the WEB-INF/lib folder of a war, to test that Servlets are found and correctly excecuted
+ from there. As such this module itself contains no tests.
+
+
+
+ UTF-8
+ 1.7
+
+
+
+
+ javax
+ javaee-api
+ 7.0
+ provided
+
+
+ junit
+ junit
+ 4.13.1
+
+
+
+
+
+
+ src/main/resources
+ true
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.6.1
+
+ ${java.min.version}
+ ${java.min.version}
+
+
+
+
+
diff --git a/servlet/servlet-libs/servlet-lib/src/main/java/org/javaee7/servlet/servlet_libs/basic/servlet/BasicServlet.java b/servlet/servlet-libs/servlet-lib/src/main/java/org/javaee7/servlet/servlet_libs/basic/servlet/BasicServlet.java
new file mode 100644
index 000000000..183ed6669
--- /dev/null
+++ b/servlet/servlet-libs/servlet-lib/src/main/java/org/javaee7/servlet/servlet_libs/basic/servlet/BasicServlet.java
@@ -0,0 +1,24 @@
+package org.javaee7.servlet.servlet_libs.basic.servlet;
+
+import java.io.IOException;
+
+import javax.servlet.ServletException;
+import javax.servlet.annotation.WebServlet;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * @author Arjan Tijms
+ */
+@WebServlet("/basic")
+public class BasicServlet extends HttpServlet {
+
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
+ response.getWriter().print("get request");
+ }
+
+}
diff --git a/test-utils/pom.xml b/test-utils/pom.xml
index 1a596a1f6..263f2eb41 100644
--- a/test-utils/pom.xml
+++ b/test-utils/pom.xml
@@ -9,7 +9,7 @@
UTF-8
- 1.1.14.Final
+ 1.7.0.Alpha1
1.7
@@ -35,7 +35,7 @@
junit
junit
- 4.12
+ 4.13.1
org.jboss.arquillian.container
diff --git a/websocket/atmosphere-chat/pom.xml b/websocket/atmosphere-chat/pom.xml
index f627751e2..2f6dd9c8a 100644
--- a/websocket/atmosphere-chat/pom.xml
+++ b/websocket/atmosphere-chat/pom.xml
@@ -30,7 +30,7 @@
ch.qos.logback
logback-core
- 1.0.13
+ 1.2.0
org.atmosphere