SWS-1034 - Add support for Java 11.

Backported to 2.x
This commit is contained in:
Greg Turnquist
2018-09-17 16:29:43 -05:00
parent 743fb29e50
commit d1e49a5d86
3 changed files with 140 additions and 13 deletions

View File

@@ -1,22 +1,85 @@
version: 2
jobs:
build:
java_8_test_current:
docker:
- image: circleci/openjdk:8u141
steps:
- checkout
- run:
name: Test current version
command: ./mvnw -Pdistribute,snapshot,docs clean test
name: Java 8 - Test current version
command: ./mvnw -Pdistribute,snapshot clean test
java_8_test_spring_next:
docker:
- image: circleci/openjdk:8u141
steps:
- checkout
- run:
name: Test Spring.NEXT
name: Java 8 - Test Spring.NEXT
command: ./mvnw -Pspringnext clean test
java_8_test_spring_buildsnapshot:
docker:
- image: circleci/openjdk:8u141
steps:
- checkout
- run:
name: Test Spring.NEXT snapshots
name: Java 8 - Test Spring.NEXT snapshots
command: ./mvnw -Pspringnext-snapshot clean test
java_11_test_current:
docker:
- image: circleci/openjdk:11-ea-27-jdk-sid
steps:
- checkout
- run:
name: Java 11 - Test current version
command: ./mvnw -Pdistribute,snapshot,java11 clean test
java_11_test_spring_next:
docker:
- image: circleci/openjdk:11-ea-27-jdk-sid
steps:
- checkout
- run:
name: Java 11 - Test Spring.NEXT
command: ./mvnw -Pspringnext,java11 clean test
java_11_test_spring_buildsnapshot:
docker:
- image: circleci/openjdk:11-ea-27-jdk-sid
steps:
- checkout
- run:
name: Java 11 - Test Spring.NEXT snapshots
command: ./mvnw -Pspringnext-snapshot,java11 clean test
deploy:
docker:
- image: circleci/openjdk:8u141
steps:
- checkout
- run:
name: Deploy to Artifactory
command: ./deploy.bash
workflows:
version: 2
build-and-deploy:
jobs:
- java_8_test_current
- java_11_test_current
- java_8_test_spring_next
- java_11_test_spring_next
- java_8_test_spring_buildsnapshot
- java_11_test_spring_buildsnapshot
- deploy:
requires:
- java_8_test_current
- java_11_test_current
- java_8_test_spring_next
- java_11_test_spring_next
- java_8_test_spring_buildsnapshot
- java_11_test_spring_buildsnapshot
general:
branches:

60
pom.xml
View File

@@ -105,8 +105,10 @@
<mock-javamail.version>1.6</mock-javamail.version>
<saaj-impl.version>1.3.28</saaj-impl.version>
<smack.version>4.1.9</smack.version>
<soap-api.version>1.3.8</soap-api.version>
<spring.version>4.2.9.RELEASE</spring.version>
<spring-security.version>4.0.4.RELEASE</spring-security.version>
<stax.version>1.7.8</stax.version>
<sun-mail.version>1.5.4</sun-mail.version>
<woodstox.version>4.2.0</woodstox.version>
<wsdl4j.version>1.6.3</wsdl4j.version>
@@ -583,6 +585,64 @@
</distributionManagement>
</profile>
<profile>
<id>java11</id>
<dependencies>
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-ri</artifactId>
<version>2.3.0</version>
<type>pom</type>
<exclusions>
<exclusion>
<groupId>org.codehaus.woodstox</groupId>
<artifactId>woodstox-core-asl</artifactId>
</exclusion>
<exclusion>
<groupId>org.jvnet.staxex</groupId>
<artifactId>stax-ex</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.xml.messaging.saaj</groupId>
<artifactId>saaj-impl</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.jvnet.staxex</groupId>
<artifactId>stax-ex</artifactId>
<version>${stax.version}</version>
</dependency>
<dependency>
<groupId>com.sun.xml.messaging.saaj</groupId>
<artifactId>saaj-impl</artifactId>
<version>${saaj-impl.version}</version>
<exclusions>
<exclusion>
<groupId>javax.xml.soap</groupId>
<artifactId>javax.xml.soap-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>javax.xml.soap</groupId>
<artifactId>javax.xml.soap-api</artifactId>
<version>${soap-api.version}</version>
</dependency>
<dependency>
<groupId>javax.xml.ws</groupId>
<artifactId>jaxws-api</artifactId>
<version>2.3.0</version>
</dependency>
</dependencies>
</profile>
</profiles>

View File

@@ -18,7 +18,7 @@ package org.springframework.ws.soap.saaj;
import java.util.Iterator;
import javax.xml.namespace.QName;
import javax.xml.soap.SOAPElement;
import javax.xml.soap.Node;
import javax.xml.soap.SOAPException;
import javax.xml.soap.SOAPHeader;
import javax.xml.soap.SOAPHeaderElement;
@@ -52,7 +52,7 @@ abstract class SaajSoapHeader extends SaajSoapElement<SOAPHeader> implements Soa
@Override
@SuppressWarnings("unchecked")
public Iterator<SoapHeaderElement> examineHeaderElements(QName name) throws SoapHeaderException {
Iterator<SOAPHeaderElement> iterator = getSaajHeader().getChildElements(name);
Iterator<Node> iterator = getSaajHeader().getChildElements(name);
return new SaajSoapHeaderElementIterator(iterator);
}
@@ -78,9 +78,9 @@ abstract class SaajSoapHeader extends SaajSoapElement<SOAPHeader> implements Soa
@SuppressWarnings("unchecked")
@Override
public void removeHeaderElement(QName name) throws SoapHeaderException {
Iterator<SOAPElement> iterator = getSaajHeader().getChildElements(name);
Iterator<Node> iterator = getSaajHeader().getChildElements(name);
if (iterator.hasNext()) {
SOAPElement element = iterator.next();
Node element = iterator.next();
element.detachNode();
}
}
@@ -96,9 +96,9 @@ abstract class SaajSoapHeader extends SaajSoapElement<SOAPHeader> implements Soa
protected static class SaajSoapHeaderElementIterator implements Iterator<SoapHeaderElement> {
private final Iterator<SOAPHeaderElement> iterator;
private final Iterator<? extends Node> iterator;
protected SaajSoapHeaderElementIterator(Iterator<SOAPHeaderElement> iterator) {
protected SaajSoapHeaderElementIterator(Iterator<? extends Node> iterator) {
Assert.notNull(iterator, "iterator must not be null");
this.iterator = iterator;
}
@@ -110,8 +110,12 @@ abstract class SaajSoapHeader extends SaajSoapElement<SOAPHeader> implements Soa
@Override
public SoapHeaderElement next() {
SOAPHeaderElement saajHeaderElement = iterator.next();
return new SaajSoapHeaderElement(saajHeaderElement);
Node saajHeaderElement = iterator.next();
if (saajHeaderElement instanceof SOAPHeaderElement) {
return new SaajSoapHeaderElement((SOAPHeaderElement) saajHeaderElement);
} else {
throw new RuntimeException("saajHeaderElement is not an instance of SOAPHeaderElement");
}
}
@Override