Skip to content

Commit

Permalink
SWS-967 Add other build profiles
Browse files Browse the repository at this point in the history
* Make it possible to run the build with different dependencies and different version of JDK
* Fix JUnit to make it forward compatible
* Fix other things that are deprecated in Spring 4.3 and removed in Spring 5
  • Loading branch information
gregturn committed Aug 29, 2016
1 parent 00e61b7 commit 15c0213
Show file tree
Hide file tree
Showing 8 changed files with 105 additions and 8 deletions.
14 changes: 11 additions & 3 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -50,14 +50,14 @@ configure(allprojects) {
}

repositories {
maven { url 'http://repo.spring.io/libs-release' }
maven { url 'https://repo.spring.io/libs-release' }
}

dependencies {
compile("commons-logging:commons-logging:1.1.3")
compile("org.springframework:spring-core:$springVersion")

testCompile("junit:junit:4.10")
testCompile("junit:junit:4.12")
testCompile("org.easymock:easymock:3.1")
testCompile("xmlunit:xmlunit:1.5")
testCompile("com.sun.mail:javax.mail:1.5.4")
Expand All @@ -84,7 +84,15 @@ configure(subprojects) { subproject ->
apply plugin: "propdeps-maven"
apply from: "${rootProject.projectDir}/publish-maven.gradle"

if (project.hasProperty('platformVersion')) {
/**
* To run an alternate profile...
* ./gradlew -Pprofile=spring4-next clean build
* ./gradlew -Pprofile=spring5 clean build
*/
if (project.hasProperty('profile')) {
apply from: "${project.rootDir}/${profile}-profile.gradle"
println "+++ Configuring ${subproject.name} for Spring Framework ${springVersion}"
} else if (project.hasProperty('platformVersion')) {
apply plugin: 'spring-io'

repositories {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
/*
* Copyright 2016 the original author or authors.
*
* Licensed 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.springframework.ws.support;

/**
* Miscellaneous utilities for web applications. Used by various framework classes.
*
* NOTE: These are the parts of org.springframework.web.util.WebUtils deprecated in Spring Framework 5.
*
* @author Greg Turnquist
* @author Rod Johnson
* @author Juergen Hoeller
* @author Sebastien Deleuze
* @since 2.4.0
*/
public abstract class WebUtils {

/**
* Extract the URL filename from the given request URL path.
* Correctly resolves nested paths such as "/products/view.html" as well.
* @param urlPath the request URL path (e.g. "/index.html")
* @return the extracted URI filename (e.g. "index")
*/
public static String extractFilenameFromUrlPath(String urlPath) {
String filename = extractFullFilenameFromUrlPath(urlPath);
int dotIndex = filename.lastIndexOf('.');
if (dotIndex != -1) {
filename = filename.substring(0, dotIndex);
}
return filename;
}

/**
* Extract the full URL filename (including file extension) from the given
* request URL path. Correctly resolve nested paths such as
* "/products/view.html" and remove any path and or query parameters.
* @param urlPath the request URL path (e.g. "/products/index.html")
* @return the extracted URI filename (e.g. "index.html")
*/
public static String extractFullFilenameFromUrlPath(String urlPath) {
int end = urlPath.indexOf('?');
if (end == -1) {
end = urlPath.indexOf('#');
if (end == -1) {
end = urlPath.length();
}
}
int begin = urlPath.lastIndexOf('/', end) + 1;
int paramIndex = urlPath.indexOf(';', begin);
end = (paramIndex != -1 && paramIndex < end ? paramIndex : end);
return urlPath.substring(begin, end);
}


}
Original file line number Diff line number Diff line change
Expand Up @@ -28,14 +28,14 @@
import org.springframework.web.context.WebApplicationContext;
import org.springframework.web.servlet.DispatcherServlet;
import org.springframework.web.servlet.FrameworkServlet;
import org.springframework.web.util.WebUtils;
import org.springframework.ws.WebServiceMessageFactory;
import org.springframework.ws.server.EndpointAdapter;
import org.springframework.ws.server.EndpointExceptionResolver;
import org.springframework.ws.server.EndpointMapping;
import org.springframework.ws.server.MessageDispatcher;
import org.springframework.ws.support.DefaultStrategiesHelper;
import org.springframework.ws.transport.WebServiceMessageReceiver;
import org.springframework.ws.support.WebUtils;
import org.springframework.ws.wsdl.WsdlDefinition;
import org.springframework.xml.xsd.XsdSchema;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,14 @@
package org.springframework.ws.transport.http;

import static org.hamcrest.core.IsEqual.*;
import static org.springframework.test.util.MatcherAssertionErrors.*;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.*;

import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.HashMap;
import java.util.Map;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
</bean>
</sws:payloadRoot>
<sws:soapAction value="mySoapAction">
<ref local="externalSoapActionInterceptor"/>
<ref bean="externalSoapActionInterceptor"/>
<bean class="org.springframework.ws.config.MyInterceptor">
<property name="order" value="5"/>
</bean>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
</sws:payloadRoot>
<sws:soapAction value="mySoapAction">
<bean class="org.springframework.ws.server.endpoint.interceptor.PayloadLoggingInterceptor"/>
<ref local="externalSoapActionInterceptor"/>
<ref bean="externalSoapActionInterceptor"/>
<bean class="org.springframework.ws.server.endpoint.interceptor.PayloadLoggingInterceptor"/>
</sws:soapAction>
</sws:interceptors>
Expand Down
6 changes: 6 additions & 0 deletions spring4-next-profile.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
/**
* Enable with "-Pprofile=spring4-next"
*/

ext.springVersion = "4.3.2.RELEASE"
ext.springSecurityVersion = "4.1.3.RELEASE"
15 changes: 15 additions & 0 deletions spring5-profile.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
/**
* Enable with "-Pprofile=spring5"
*/

ext.springVersion = "5.0.0.BUILD-SNAPSHOT"
ext.springSecurityVersion = "4.2.0.BUILD-SNAPSHOT"

compileJava {
sourceCompatibility=1.8
targetCompatibility=1.8
}

repositories {
maven { url 'https://repo.spring.io/libs-snapshot' }
}

0 comments on commit 15c0213

Please sign in to comment.