The fix for INT-2650 (to avoid unnecessary array copying) was too general in that it also prevented types in collections and maps from being converted. Add tests to illustrate that such payloads are not converted. Change code to only short circuit the conversion process if the payload is a primitive array. An existing test ensures that arrays are not copied. Add more tests to complete coverage - discovered another bug - the early exit after using a property editor to convert to a String was never taken - it was testing against the Class of the TypeConverter instead of the Type. If the target type is a String, we don't need to perform conversion after the property editor has done its conversion. Fix MessageHistory test (was testing MessageHeaders).
Spring Integration
Checking out and Building
To check out the project and build from source, do the following:
git clone git://github.com/SpringSource/spring-integration.git
cd spring-integration
./gradlew build
If you encounter out of memory errors during the build, increase available heap and permgen for Gradle:
GRADLE_OPTS='-XX:MaxPermSize=1024m -Xmx1024m'
To build and install jars into your local Maven cache:
./gradlew install
To build api Javadoc (results will be in build/api):
./gradlew api
To build reference documentation (results will be in build/reference):
./gradlew reference
To build complete distribution including -dist, -docs, and -schema zip files (results will be in build/distributions)
./gradlew dist
Using Eclipse
To generate Eclipse metadata (.classpath and .project files), do the following:
./gradlew eclipse
Once complete, you may then import the projects into Eclipse as usual:
File -> Import -> Existing projects into workspace
Browse to the 'spring-integration' root directory. All projects should import free of errors.
Using IntelliJ IDEA
To generate IDEA metadata (.iml and .ipr files), do the following:
./gradlew idea
Resources
For more information, please visit the Spring Integration website at: http://www.springsource.org/spring-integration