Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

INTTEMPLATES-14 - Upgrade to SI 2.2.0.RELEASE

  • Loading branch information...
commit 81fb0e3d48e9a5bc2cb01409f0ee9d5786f8f9dc 1 parent 3e82024
Gunnar Hillert authored
Showing with 10,717 additions and 188 deletions.
  1. +5 −5 si-sts-templates/pom.xml
  2. +4 −0 si-sts-templates/src/main/assembly/adapter.xml
  3. +11 −0 si-sts-templates/src/main/assembly/standalone-simple.xml
  4. +11 −0 si-sts-templates/src/main/assembly/standalone.xml
  5. +20 −0 si-sts-templates/src/main/assembly/war.xml
  6. +4 −4 si-template-projects/adapter/build.gradle
  7. +0 −1  si-template-projects/adapter/wizard.json
  8. +14 −7 si-template-projects/si-template-standalone-project/build.gradle
  9. BIN  si-template-projects/si-template-standalone-project/gradle/wrapper/gradle-wrapper.jar
  10. +6 −0 si-template-projects/si-template-standalone-project/gradle/wrapper/gradle-wrapper.properties
  11. +164 −0 si-template-projects/si-template-standalone-project/gradlew
  12. +90 −0 si-template-projects/si-template-standalone-project/gradlew.bat
  13. +9 −9 si-template-projects/si-template-standalone-project/pom.xml
  14. +57 −0 si-template-projects/si-template-standalone-project/publish-maven.gradle
  15. +2 −2 si-template-projects/si-template-standalone-project/src/main/java/sipackage/Main.java
  16. +5 −4 si-template-projects/si-template-standalone-project/src/main/java/sipackage/SpringIntegrationUtils.java
  17. +7 −8 si-template-projects/si-template-standalone-project/src/main/java/sipackage/TransformationHandler.java
  18. +4 −0 ...te-projects/si-template-standalone-project/src/test/java/sipackage/SpringIntegrationProjectStartupTest.java
  19. +21 −5 si-template-projects/si-template-standalone-project/wizard.json
  20. +13 −5 si-template-projects/si-template-standalone-simple-project/build.gradle
  21. BIN  si-template-projects/si-template-standalone-simple-project/gradle/wrapper/gradle-wrapper.jar
  22. +6 −0 si-template-projects/si-template-standalone-simple-project/gradle/wrapper/gradle-wrapper.properties
  23. +164 −0 si-template-projects/si-template-standalone-simple-project/gradlew
  24. +90 −0 si-template-projects/si-template-standalone-simple-project/gradlew.bat
  25. +8 −8 si-template-projects/si-template-standalone-simple-project/pom.xml
  26. +57 −0 si-template-projects/si-template-standalone-simple-project/publish-maven.gradle
  27. +0 −34 si-template-projects/si-template-standalone-simple-project/si-template-standalone-simple-project.iml
  28. +2 −2 si-template-projects/si-template-standalone-simple-project/src/main/java/sipackage/Main.java
  29. +2 −2 ...projects/si-template-standalone-simple-project/src/main/java/sipackage/service/StringConversionService.java
  30. +5 −1 ...ate-projects/si-template-standalone-simple-project/src/test/java/sipackage/StringConversionServiceTest.java
  31. +21 −5 si-template-projects/si-template-standalone-simple-project/wizard.json
  32. +3 −3 si-template-projects/si-template-war-project/.project
  33. +2 −1  si-template-projects/si-template-war-project/.settings/com.springsource.sts.config.flow.prefs
  34. +0 −4 si-template-projects/si-template-war-project/.settings/org.eclipse.jdt.core.prefs
  35. +4 −0 si-template-projects/si-template-war-project/.settings/org.eclipse.m2e.core.prefs
  36. +3 −5 si-template-projects/si-template-war-project/.settings/org.eclipse.wst.common.component
  37. +10 −0 si-template-projects/si-template-war-project/README.md
  38. +33 −12 si-template-projects/si-template-war-project/build.gradle
  39. BIN  si-template-projects/si-template-war-project/gradle/wrapper/gradle-wrapper.jar
  40. +6 −0 si-template-projects/si-template-war-project/gradle/wrapper/gradle-wrapper.properties
  41. +164 −0 si-template-projects/si-template-war-project/gradlew
  42. +90 −0 si-template-projects/si-template-war-project/gradlew.bat
  43. +18 −10 si-template-projects/si-template-war-project/pom.xml
  44. +57 −0 si-template-projects/si-template-war-project/publish-maven.gradle
  45. +3 −3 ...project/src/main/java/{stsorg/stsspringframework/stsintegration → sipackage}/model/TwitterMessage.java
  46. +5 −5 ...rc/main/java/{stsorg/stsspringframework/stsintegration → sipackage}/mvc/controller/HomeController.java
  47. +4 −0 si-template-projects/si-template-war-project/src/main/java/sipackage/package-info.java
  48. +4 −4 ...oject/src/main/java/{stsorg/stsspringframework/stsintegration → sipackage}/service/TwitterService.java
  49. +5 −5 ...in/java/{stsorg/stsspringframework/stsintegration → sipackage}/service/impl/DefaultTwitterService.java
  50. +2 −4 ...jects/si-template-war-project/src/main/resources/META-INF/spring/integration/spring-integration-context.xml
  51. +1 −1  si-template-projects/si-template-war-project/src/main/resources/META-INF/spring/mvc/servlet-context.xml
  52. +1 −1  si-template-projects/si-template-war-project/src/main/resources/log4j.xml
  53. +1 −1  si-template-projects/si-template-war-project/src/main/webapp/WEB-INF/views/home.jsp
  54. +0 −18 si-template-projects/si-template-war-project/src/main/webapp/js/jquery-1.6.1.min.js
  55. +9,472 −0 si-template-projects/si-template-war-project/src/main/webapp/js/jquery-1.8.3.min.js
  56. +3 −1 ...roject/src/test/java/{stsorg/stsspringframework/stsintegration → sipackage}/SpringIntegrationTest.java
  57. +24 −8 si-template-projects/si-template-war-project/wizard.json
View
10 si-sts-templates/pom.xml
@@ -3,7 +3,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.springframework.integration.sts.templates</groupId>
<artifactId>si-sts-templates</artifactId>
- <version>1.0.0.M3</version>
+ <version>1.0.0.M4</version>
<packaging>pom</packaging>
<name>${project.artifactId}</name>
@@ -29,10 +29,10 @@
<template.version>${project.version}</template.version>
<template.category>Integration</template.category>
- <template.standalone.size>12200</template.standalone.size>
- <template.standalone-simple.size>9900</template.standalone-simple.size>
- <template.war.size>61000</template.war.size>
- <template.adapter.size>117000</template.adapter.size>
+ <template.standalone.size>15087</template.standalone.size>
+ <template.standalone-simple.size>12656</template.standalone-simple.size>
+ <template.war.size>64708</template.war.size>
+ <template.adapter.size>118119</template.adapter.size>
</properties>
View
4 si-sts-templates/src/main/assembly/adapter.xml
@@ -30,5 +30,9 @@
<outputDirectory></outputDirectory>
<filtered>true</filtered>
</file>
+ <file>
+ <source>${project.basedir}/../si-template-projects/adapter/.settings/org.eclipse.jdt.core.prefs</source>
+ <outputDirectory>.settings</outputDirectory>
+ </file>
</files>
</assembly>
View
11 si-sts-templates/src/main/assembly/standalone-simple.xml
@@ -18,6 +18,9 @@
<exclude>**/.settings/**</exclude>
<exclude>**/.pmd</exclude>
<exclude>**/.idea/**</exclude>
+ <exclude>**/gradle/**</exclude>
+ <exclude>**/gradlew*</exclude>
+ <exclude>**/publish-maven.gradle</exclude>
<exclude>**/.gradle/**</exclude>
<exclude>**/build.gradle</exclude>
<exclude>**/build/**</exclude>
@@ -32,5 +35,13 @@
<outputDirectory></outputDirectory>
<filtered>true</filtered>
</file>
+ <file>
+ <source>${project.basedir}/../si-template-projects/si-template-standalone-simple-project/.settings/org.eclipse.core.resources.prefs</source>
+ <outputDirectory>.settings</outputDirectory>
+ </file>
+ <file>
+ <source>${project.basedir}/../si-template-projects/si-template-standalone-simple-project/.settings/org.eclipse.jdt.core.prefs</source>
+ <outputDirectory>.settings</outputDirectory>
+ </file>
</files>
</assembly>
View
11 si-sts-templates/src/main/assembly/standalone.xml
@@ -18,6 +18,9 @@
<exclude>**/.settings/**</exclude>
<exclude>**/.pmd</exclude>
<exclude>**/.idea/**</exclude>
+ <exclude>**/gradle/**</exclude>
+ <exclude>**/gradlew*</exclude>
+ <exclude>**/publish-maven.gradle</exclude>
<exclude>**/.gradle/**</exclude>
<exclude>**/build.gradle</exclude>
<exclude>**/build/**</exclude>
@@ -32,5 +35,13 @@
<outputDirectory></outputDirectory>
<filtered>true</filtered>
</file>
+ <file>
+ <source>${project.basedir}/../si-template-projects/si-template-standalone-project/.settings/org.eclipse.core.resources.prefs</source>
+ <outputDirectory>.settings</outputDirectory>
+ </file>
+ <file>
+ <source>${project.basedir}/../si-template-projects/si-template-standalone-project/.settings/org.eclipse.jdt.core.prefs</source>
+ <outputDirectory>.settings</outputDirectory>
+ </file>
</files>
</assembly>
View
20 si-sts-templates/src/main/assembly/war.xml
@@ -15,8 +15,12 @@
<excludes>
<exclude>**/*.log</exclude>
<exclude>**/.DS_Store</exclude>
+ <exclude>**/.settings/**</exclude>
<exclude>**/.pmd</exclude>
<exclude>**/.idea/**</exclude>
+ <exclude>**/gradle/**</exclude>
+ <exclude>**/gradlew*</exclude>
+ <exclude>**/publish-maven.gradle</exclude>
<exclude>**/.gradle/**</exclude>
<exclude>**/build.gradle</exclude>
<exclude>**/build/**</exclude>
@@ -31,5 +35,21 @@
<outputDirectory></outputDirectory>
<filtered>true</filtered>
</file>
+ <file>
+ <source>${project.basedir}/../si-template-projects/si-template-war-project/.settings/org.eclipse.core.resources.prefs</source>
+ <outputDirectory>.settings</outputDirectory>
+ </file>
+ <file>
+ <source>${project.basedir}/../si-template-projects/si-template-war-project/.settings/org.eclipse.jdt.core.prefs</source>
+ <outputDirectory>.settings</outputDirectory>
+ </file>
+ <file>
+ <source>${project.basedir}/../si-template-projects/si-template-war-project/.settings/org.eclipse.wst.common.project.facet.core.xml</source>
+ <outputDirectory>.settings</outputDirectory>
+ </file>
+ <file>
+ <source>${project.basedir}/../si-template-projects/si-template-war-project/.settings/org.eclipse.wst.common.component</source>
+ <outputDirectory>.settings</outputDirectory>
+ </file>
</files>
</assembly>
View
8 si-template-projects/adapter/build.gradle
@@ -28,9 +28,9 @@ ext {
junitVersion = '4.10'
log4jVersion = '1.2.12'
mockitoVersion = '1.9.0'
- springVersion = '3.1.2.RELEASE'
- springIntegrationVersion = '2.1.2.RELEASE'
-
+ springVersion = '3.1.3.RELEASE'
+ springIntegrationVersion = '2.2.0.RELEASE'
+
idPrefix = 'siAdapterLowerPrefix'
}
@@ -260,5 +260,5 @@ task dist(dependsOn: assemble) {
task wrapper(type: Wrapper) {
description = 'Generates gradlew[.bat] scripts'
- gradleVersion = '1.1'
+ gradleVersion = '1.3'
}
View
1  si-template-projects/adapter/wizard.json
@@ -60,7 +60,6 @@
}
]
},
-
"topLevelPackage" : "sipackage",
"projectName" : "si-template-project-name",
"pages" : {
View
21 si-template-projects/si-template-standalone-project/build.gradle
@@ -2,21 +2,24 @@ apply plugin: 'java'
apply plugin: 'application'
apply plugin: 'eclipse'
apply plugin: 'idea'
+apply from: 'publish-maven.gradle'
repositories {
mavenCentral()
maven { url 'http://repo.springsource.org/libs-milestone' }
}
-group = "mavenGroupId"
-version = "mavenVersion"
+group = "SI-TEMPLATE-GROUP-ID"
+version = "SI-TEMPLATE-BUILD-VERSION"
sourceCompatibility=1.6
targetCompatibility=1.6
-junitVersion = '4.10'
-log4jVersion = '1.2.16'
-springIntegrationVersion = '2.1.2.RELEASE'
+ext {
+ junitVersion = '4.11'
+ log4jVersion = '1.2.17'
+ springIntegrationVersion = '2.2.0.RELEASE'
+}
eclipse {
project {
@@ -27,7 +30,6 @@ eclipse {
mainClassName = "sipackage.Main"
run{
-
standardInput = System.in
}
@@ -35,7 +37,12 @@ dependencies {
compile "org.springframework.integration:spring-integration-core:$springIntegrationVersion"
compile "org.springframework.integration:spring-integration-file:$springIntegrationVersion"
compile "log4j:log4j:$log4jVersion"
- compile "commons-io:commons-io:2.1"
+ compile "commons-io:commons-io:2.4"
testCompile "junit:junit-dep:$junitVersion"
}
+
+task wrapper(type: Wrapper) {
+ description = 'Generates gradlew[.bat] scripts'
+ gradleVersion = '1.3'
+}
View
BIN  si-template-projects/si-template-standalone-project/gradle/wrapper/gradle-wrapper.jar
Binary file not shown
View
6 si-template-projects/si-template-standalone-project/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,6 @@
+#Thu Dec 13 12:40:09 EST 2012
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
+distributionUrl=http\://services.gradle.org/distributions/gradle-1.3-bin.zip
View
164 si-template-projects/si-template-standalone-project/gradlew
@@ -0,0 +1,164 @@
+#!/usr/bin/env bash
+
+##############################################################################
+##
+## Gradle start up script for UN*X
+##
+##############################################################################
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS=""
+
+APP_NAME="Gradle"
+APP_BASE_NAME=`basename "$0"`
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD="maximum"
+
+warn ( ) {
+ echo "$*"
+}
+
+die ( ) {
+ echo
+ echo "$*"
+ echo
+ exit 1
+}
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+case "`uname`" in
+ CYGWIN* )
+ cygwin=true
+ ;;
+ Darwin* )
+ darwin=true
+ ;;
+ MINGW* )
+ msys=true
+ ;;
+esac
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched.
+if $cygwin ; then
+ [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+fi
+
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ] ; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG=`dirname "$PRG"`"/$link"
+ fi
+done
+SAVED="`pwd`"
+cd "`dirname \"$PRG\"`/"
+APP_HOME="`pwd -P`"
+cd "$SAVED"
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ if [ ! -x "$JAVACMD" ] ; then
+ die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+ fi
+else
+ JAVACMD="java"
+ which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+fi
+
+# Increase the maximum file descriptors if we can.
+if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
+ MAX_FD_LIMIT=`ulimit -H -n`
+ if [ $? -eq 0 ] ; then
+ if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
+ MAX_FD="$MAX_FD_LIMIT"
+ fi
+ ulimit -n $MAX_FD
+ if [ $? -ne 0 ] ; then
+ warn "Could not set maximum file descriptor limit: $MAX_FD"
+ fi
+ else
+ warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
+ fi
+fi
+
+# For Darwin, add options to specify how the application appears in the dock
+if $darwin; then
+ GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
+fi
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin ; then
+ APP_HOME=`cygpath --path --mixed "$APP_HOME"`
+ CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
+
+ # We build the pattern for arguments to be converted via cygpath
+ ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
+ SEP=""
+ for dir in $ROOTDIRSRAW ; do
+ ROOTDIRS="$ROOTDIRS$SEP$dir"
+ SEP="|"
+ done
+ OURCYGPATTERN="(^($ROOTDIRS))"
+ # Add a user-defined pattern to the cygpath arguments
+ if [ "$GRADLE_CYGPATTERN" != "" ] ; then
+ OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
+ fi
+ # Now convert the arguments - kludge to limit ourselves to /bin/sh
+ i=0
+ for arg in "$@" ; do
+ CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
+ CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
+
+ if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
+ eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
+ else
+ eval `echo args$i`="\"$arg\""
+ fi
+ i=$((i+1))
+ done
+ case $i in
+ (0) set -- ;;
+ (1) set -- "$args0" ;;
+ (2) set -- "$args0" "$args1" ;;
+ (3) set -- "$args0" "$args1" "$args2" ;;
+ (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
+ (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
+ (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
+ (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
+ (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
+ (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
+ esac
+fi
+
+# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
+function splitJvmOpts() {
+ JVM_OPTS=("$@")
+}
+eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
+JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
+
+exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
View
90 si-template-projects/si-template-standalone-project/gradlew.bat
@@ -0,0 +1,90 @@
+@if "%DEBUG%" == "" @echo off
+@rem ##########################################################################
+@rem
+@rem Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS=
+
+set DIRNAME=%~dp0
+if "%DIRNAME%" == "" set DIRNAME=.
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if "%ERRORLEVEL%" == "0" goto init
+
+echo.
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto init
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:init
+@rem Get command-line arguments, handling Windowz variants
+
+if not "%OS%" == "Windows_NT" goto win9xME_args
+if "%@eval[2+2]" == "4" goto 4NT_args
+
+:win9xME_args
+@rem Slurp the command line arguments.
+set CMD_LINE_ARGS=
+set _SKIP=2
+
+:win9xME_args_slurp
+if "x%~1" == "x" goto execute
+
+set CMD_LINE_ARGS=%*
+goto execute
+
+:4NT_args
+@rem Get arguments from the 4NT Shell from JP Software
+set CMD_LINE_ARGS=%$
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
+
+:end
+@rem End local scope for the variables with windows NT shell
+if "%ERRORLEVEL%"=="0" goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
+exit /b 1
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
View
18 si-template-projects/si-template-standalone-project/pom.xml
@@ -2,23 +2,23 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
- <groupId>mavenGroupId</groupId>
- <artifactId>si-template-standalone-artifactId</artifactId>
- <version>mavenVersion</version>
+ <groupId>SI-TEMPLATE-GROUP-ID</groupId>
+ <artifactId>SI-TEMPLATE-ARTIFACT-ID</artifactId>
+ <version>SI-TEMPLATE-BUILD-VERSION</version>
<packaging>jar</packaging>
<name>si-template-project-name</name>
<url>http://www.springsource.org/spring-integration</url>
<prerequisites>
- <maven>2.2.0</maven>
+ <maven>2.2.1</maven>
</prerequisites>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <spring.integration.version>2.1.2.RELEASE</spring.integration.version>
- <log4j.version>1.2.16</log4j.version>
- <junit.version>4.10</junit.version>
+ <spring.integration.version>2.2.0.RELEASE</spring.integration.version>
+ <log4j.version>1.2.17</log4j.version>
+ <junit.version>4.11</junit.version>
</properties>
<repositories>
@@ -48,7 +48,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
- <version>2.3.2</version>
+ <version>3.0</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
@@ -106,7 +106,7 @@
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
- <version>2.1</version>
+ <version>2.4</version>
</dependency>
</dependencies>
View
57 si-template-projects/si-template-standalone-project/publish-maven.gradle
@@ -0,0 +1,57 @@
+apply plugin: 'maven'
+
+ext.optionalDeps = []
+ext.providedDeps = []
+
+ext.optional = { optionalDeps << it }
+ext.provided = { providedDeps << it }
+
+install {
+ repositories.mavenInstaller {
+ customizePom(pom, project)
+ }
+}
+
+def customizePom(pom, gradleProject) {
+ pom.whenConfigured { generatedPom ->
+ // respect 'optional' and 'provided' dependencies
+ gradleProject.optionalDeps.each { dep ->
+ generatedPom.dependencies.find { it.artifactId == dep.name }?.optional = true
+ }
+ gradleProject.providedDeps.each { dep ->
+ generatedPom.dependencies.find { it.artifactId == dep.name }?.scope = 'provided'
+ }
+
+ // eliminate test-scoped dependencies (no need in maven central poms)
+ generatedPom.dependencies.removeAll { dep ->
+ dep.scope == 'test'
+ }
+
+ // add all items necessary for maven central publication
+ generatedPom.project {
+ name = gradleProject.description
+ description = gradleProject.description
+ url = 'http://www.springsource.org/spring-integration'
+ organization {
+ name = 'SpringSource'
+ url = 'http://springsource.org'
+ }
+
+ licenses {
+ license {
+ name 'The Apache Software License, Version 2.0'
+ url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
+ distribution 'repo'
+ }
+ }
+
+ developers {
+ developer {
+ id = 'not specified'
+ name = 'SI-TEMPLATE-AUTHOR'
+ email = 'not specified'
+ }
+ }
+ }
+ }
+}
View
4 si-template-projects/si-template-standalone-project/src/main/java/sipackage/Main.java
@@ -25,8 +25,8 @@
/**
* Starts the Spring Context and will initialize the Spring Integration routes.
*
- * @author Your Name Here
- * @version 1.0
+ * @author SI-TEMPLATE-AUTHOR
+ * @since SI-TEMPLATE-VERSION
*
*/
public final class Main {
View
9 si-template-projects/si-template-standalone-project/src/main/java/sipackage/SpringIntegrationUtils.java
@@ -25,14 +25,15 @@
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.DirectFieldAccessor;
import org.springframework.context.ApplicationContext;
+import org.springframework.expression.Expression;
import org.springframework.integration.file.FileReadingMessageSource;
import org.springframework.integration.file.FileWritingMessageHandler;
/**
* Displays the names of the input and output directories.
*
- * @author Your Name Here
- * @version 1.0
+ * @author SI-TEMPLATE-AUTHOR
+ * @since SI-TEMPLATE-VERSION
*
*/
public final class SpringIntegrationUtils {
@@ -56,8 +57,8 @@ public static void displayDirectories(final ApplicationContext context) {
final List<String> outputDirectories = new ArrayList<String>();
for (final FileWritingMessageHandler messageHandler : fileWritingMessageHandlers.values()) {
- final File outDir = (File) new DirectFieldAccessor(messageHandler).getPropertyValue("destinationDirectory");
- outputDirectories.add(outDir.getAbsolutePath());
+ final Expression outDir = (Expression) new DirectFieldAccessor(messageHandler).getPropertyValue("destinationDirectoryExpression");
+ outputDirectories.add(outDir.getExpressionString());
}
final StringBuilder stringBuilder = new StringBuilder();
View
15 si-template-projects/si-template-standalone-project/src/main/java/sipackage/TransformationHandler.java
@@ -32,8 +32,8 @@
* the file into a string, converts the file contents into an upper-case string
* and then sets a few Spring Integration message headers.
*
- * @author Your Name Here
- * @version 1.0
+ * @author SI-TEMPLATE-AUTHOR
+ * @since SI-TEMPLATE-VERSION
*/
public class TransformationHandler {
@@ -59,13 +59,12 @@
}
final Message<String> message = MessageBuilder.withPayload(inputAsString.toUpperCase(Locale.ENGLISH))
- .setHeader(FileHeaders.FILENAME, filename)
- .setHeader(FileHeaders.ORIGINAL_FILE, inputFile)
- .setHeader("file_size", inputFile.length())
- .setHeader("file_extension", fileExtension)
- .build();
+ .setHeader(FileHeaders.FILENAME, filename)
+ .setHeader(FileHeaders.ORIGINAL_FILE, inputFile)
+ .setHeader("file_size", inputFile.length())
+ .setHeader("file_extension", fileExtension)
+ .build();
return message;
}
-
}
View
4 ...projects/si-template-standalone-project/src/test/java/sipackage/SpringIntegrationProjectStartupTest.java
@@ -24,6 +24,10 @@
/**
* Verify that the Spring Integration Application Context starts successfully.
+ *
+ * @author SI-TEMPLATE-AUTHOR
+ * @since SI-TEMPLATE-VERSION
+ *
*/
public class SpringIntegrationProjectStartupTest {
View
26 si-template-projects/si-template-standalone-project/wizard.json
@@ -3,28 +3,44 @@
"elements" : {
"element" : [
{
- "name" : "mavenGroupId",
- "description" : "Please enter a 'groupId'",
+ "name" : "SI-TEMPLATE-GROUP-ID",
+ "description" : "Please enter a 'groupId'",
"type" : "java.lang.String",
"page" : 0,
"required" : true,
},
{
- "name" : "si-template-standalone-artifactId",
+ "name" : "SI-TEMPLATE-ARTIFACT-ID",
"description" : "Please enter an 'artifactId'",
"type" : "java.lang.String",
"page" : 0,
"required" : true,
},
{
- "name" : "mavenVersion",
- "description" : "Please enter a version e.g. '1.0.0.BUILD-SNAPSHOT'",
+ "name" : "SI-TEMPLATE-BUILD-VERSION",
+ "description" : "Please enter a build version e.g. '1.0.0.BUILD-SNAPSHOT'",
"defaultValue": "1.0.0.BUILD-SNAPSHOT",
"type" : "java.lang.String",
"page" : 0,
"required" : true,
},
{
+ "name" : "SI-TEMPLATE-VERSION",
+ "description" : "Please enter a short version e.g. '1.0' (For JavaDocs)",
+ "defaultValue": "1.0",
+ "type" : "java.lang.String",
+ "page" : 0,
+ "required" : true,
+ },
+ {
+ "name" : "SI-TEMPLATE-AUTHOR",
+ "description" : "Please enter the author name",
+ "defaultValue": "Your name",
+ "type" : "java.lang.String",
+ "page" : 0,
+ "required" : true,
+ },
+ {
"name" : "topLevelPackage",
"description" : "Please specify the top-level package e.g. com.mycompany.myapp",
"type" : "java.lang.String",
View
18 si-template-projects/si-template-standalone-simple-project/build.gradle
@@ -2,21 +2,24 @@ apply plugin: 'java'
apply plugin: 'application'
apply plugin: 'eclipse'
apply plugin: 'idea'
+apply from: 'publish-maven.gradle'
repositories {
mavenCentral()
maven { url 'http://repo.springsource.org/libs-milestone' }
}
-group = "mavenGroupId"
-version = "mavenVersion"
+group = "SI-TEMPLATE-GROUP-ID"
+version = "SI-TEMPLATE-BUILD-VERSION"
sourceCompatibility=1.6
targetCompatibility=1.6
-junitVersion = '4.10'
-log4jVersion = '1.2.16'
-springIntegrationVersion = '2.1.2.RELEASE'
+ext {
+ junitVersion = '4.11'
+ log4jVersion = '1.2.17'
+ springIntegrationVersion = '2.2.0.RELEASE'
+}
eclipse {
project {
@@ -36,3 +39,8 @@ dependencies {
testCompile "junit:junit-dep:$junitVersion"
}
+
+task wrapper(type: Wrapper) {
+ description = 'Generates gradlew[.bat] scripts'
+ gradleVersion = '1.3'
+}
View
BIN  si-template-projects/si-template-standalone-simple-project/gradle/wrapper/gradle-wrapper.jar
Binary file not shown
View
6 si-template-projects/si-template-standalone-simple-project/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,6 @@
+#Thu Dec 13 12:26:30 EST 2012
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
+distributionUrl=http\://services.gradle.org/distributions/gradle-1.3-bin.zip
View
164 si-template-projects/si-template-standalone-simple-project/gradlew
@@ -0,0 +1,164 @@
+#!/usr/bin/env bash
+
+##############################################################################
+##
+## Gradle start up script for UN*X
+##
+##############################################################################
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS=""
+
+APP_NAME="Gradle"
+APP_BASE_NAME=`basename "$0"`
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD="maximum"
+
+warn ( ) {
+ echo "$*"
+}
+
+die ( ) {
+ echo
+ echo "$*"
+ echo
+ exit 1
+}
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+case "`uname`" in
+ CYGWIN* )
+ cygwin=true
+ ;;
+ Darwin* )
+ darwin=true
+ ;;
+ MINGW* )
+ msys=true
+ ;;
+esac
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched.
+if $cygwin ; then
+ [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+fi
+
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ] ; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG=`dirname "$PRG"`"/$link"
+ fi
+done
+SAVED="`pwd`"
+cd "`dirname \"$PRG\"`/"
+APP_HOME="`pwd -P`"
+cd "$SAVED"
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ if [ ! -x "$JAVACMD" ] ; then
+ die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+ fi
+else
+ JAVACMD="java"
+ which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+fi
+
+# Increase the maximum file descriptors if we can.
+if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
+ MAX_FD_LIMIT=`ulimit -H -n`
+ if [ $? -eq 0 ] ; then
+ if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
+ MAX_FD="$MAX_FD_LIMIT"
+ fi
+ ulimit -n $MAX_FD
+ if [ $? -ne 0 ] ; then
+ warn "Could not set maximum file descriptor limit: $MAX_FD"
+ fi
+ else
+ warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
+ fi
+fi
+
+# For Darwin, add options to specify how the application appears in the dock
+if $darwin; then
+ GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
+fi
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin ; then
+ APP_HOME=`cygpath --path --mixed "$APP_HOME"`
+ CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
+
+ # We build the pattern for arguments to be converted via cygpath
+ ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
+ SEP=""
+ for dir in $ROOTDIRSRAW ; do
+ ROOTDIRS="$ROOTDIRS$SEP$dir"
+ SEP="|"
+ done
+ OURCYGPATTERN="(^($ROOTDIRS))"
+ # Add a user-defined pattern to the cygpath arguments
+ if [ "$GRADLE_CYGPATTERN" != "" ] ; then
+ OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
+ fi
+ # Now convert the arguments - kludge to limit ourselves to /bin/sh
+ i=0
+ for arg in "$@" ; do
+ CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
+ CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
+
+ if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
+ eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
+ else
+ eval `echo args$i`="\"$arg\""
+ fi
+ i=$((i+1))
+ done
+ case $i in
+ (0) set -- ;;
+ (1) set -- "$args0" ;;
+ (2) set -- "$args0" "$args1" ;;
+ (3) set -- "$args0" "$args1" "$args2" ;;
+ (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
+ (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
+ (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
+ (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
+ (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
+ (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
+ esac
+fi
+
+# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
+function splitJvmOpts() {
+ JVM_OPTS=("$@")
+}
+eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
+JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
+
+exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
View
90 si-template-projects/si-template-standalone-simple-project/gradlew.bat
@@ -0,0 +1,90 @@
+@if "%DEBUG%" == "" @echo off
+@rem ##########################################################################
+@rem
+@rem Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS=
+
+set DIRNAME=%~dp0
+if "%DIRNAME%" == "" set DIRNAME=.
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if "%ERRORLEVEL%" == "0" goto init
+
+echo.
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto init
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:init
+@rem Get command-line arguments, handling Windowz variants
+
+if not "%OS%" == "Windows_NT" goto win9xME_args
+if "%@eval[2+2]" == "4" goto 4NT_args
+
+:win9xME_args
+@rem Slurp the command line arguments.
+set CMD_LINE_ARGS=
+set _SKIP=2
+
+:win9xME_args_slurp
+if "x%~1" == "x" goto execute
+
+set CMD_LINE_ARGS=%*
+goto execute
+
+:4NT_args
+@rem Get arguments from the 4NT Shell from JP Software
+set CMD_LINE_ARGS=%$
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
+
+:end
+@rem End local scope for the variables with windows NT shell
+if "%ERRORLEVEL%"=="0" goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
+exit /b 1
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
View
16 si-template-projects/si-template-standalone-simple-project/pom.xml
@@ -2,23 +2,23 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
- <groupId>mavenGroupId</groupId>
- <artifactId>si-template-standalone-simple-artifactId</artifactId>
- <version>mavenVersion</version>
+ <groupId>SI-TEMPLATE-GROUP-ID</groupId>
+ <artifactId>SI-TEMPLATE-ARTIFACT-ID</artifactId>
+ <version>SI-TEMPLATE-BUILD-VERSION</version>
<packaging>jar</packaging>
<name>si-template-project-name</name>
<url>http://www.springsource.org/spring-integration</url>
<prerequisites>
- <maven>2.2.0</maven>
+ <maven>2.2.1</maven>
</prerequisites>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <spring.integration.version>2.1.2.RELEASE</spring.integration.version>
- <log4j.version>1.2.16</log4j.version>
- <junit.version>4.10</junit.version>
+ <spring.integration.version>2.2.0.RELEASE</spring.integration.version>
+ <log4j.version>1.2.17</log4j.version>
+ <junit.version>4.11</junit.version>
</properties>
<repositories>
@@ -48,7 +48,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
- <version>2.3.2</version>
+ <version>3.0</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
View
57 si-template-projects/si-template-standalone-simple-project/publish-maven.gradle
@@ -0,0 +1,57 @@
+apply plugin: 'maven'
+
+ext.optionalDeps = []
+ext.providedDeps = []
+
+ext.optional = { optionalDeps << it }
+ext.provided = { providedDeps << it }
+
+install {
+ repositories.mavenInstaller {
+ customizePom(pom, project)
+ }
+}
+
+def customizePom(pom, gradleProject) {
+ pom.whenConfigured { generatedPom ->
+ // respect 'optional' and 'provided' dependencies
+ gradleProject.optionalDeps.each { dep ->
+ generatedPom.dependencies.find { it.artifactId == dep.name }?.optional = true
+ }
+ gradleProject.providedDeps.each { dep ->
+ generatedPom.dependencies.find { it.artifactId == dep.name }?.scope = 'provided'
+ }
+
+ // eliminate test-scoped dependencies (no need in maven central poms)
+ generatedPom.dependencies.removeAll { dep ->
+ dep.scope == 'test'
+ }
+
+ // add all items necessary for maven central publication
+ generatedPom.project {
+ name = gradleProject.description
+ description = gradleProject.description
+ url = 'http://www.springsource.org/spring-integration'
+ organization {
+ name = 'SpringSource'
+ url = 'http://springsource.org'
+ }
+
+ licenses {
+ license {
+ name 'The Apache Software License, Version 2.0'
+ url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
+ distribution 'repo'
+ }
+ }
+
+ developers {
+ developer {
+ id = 'not specified'
+ name = 'SI-TEMPLATE-AUTHOR'
+ email = 'not specified'
+ }
+ }
+ }
+ }
+}
View
34 si-template-projects/si-template-standalone-simple-project/si-template-standalone-simple-project.iml
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module type="JAVA_MODULE" version="4">
- <component name="NewModuleRootManager" inherit-compiler-output="true">
- <exclude-output />
- <content url="file://$MODULE_DIR$">
- <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
- <sourceFolder url="file://$MODULE_DIR$/src/main/resources" isTestSource="false" />
- <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
- <sourceFolder url="file://$MODULE_DIR$/src/test/resources" isTestSource="true" />
- <excludeFolder url="file://$MODULE_DIR$/.gradle" />
- <excludeFolder url="file://$MODULE_DIR$/build" />
- </content>
- <orderEntry type="inheritedJdk" />
- <orderEntry type="sourceFolder" forTests="false" />
- <orderEntry type="library" scope="TEST" name="hamcrest-core-1.1" level="project" />
- <orderEntry type="library" scope="TEST" name="junit-dep-4.10" level="project" />
- <orderEntry type="library" exported="" name="logback-classic-1.0.0" level="project" />
- <orderEntry type="library" exported="" name="spring-integration-core-2.1.0.RELEASE" level="project" />
- <orderEntry type="library" exported="" name="logback-core-1.0.0" level="project" />
- <orderEntry type="library" exported="" name="spring-beans-3.0.7.RELEASE" level="project" />
- <orderEntry type="library" exported="" name="aopalliance-1.0" level="project" />
- <orderEntry type="library" exported="" name="slf4j-api-1.6.4" level="project" />
- <orderEntry type="library" exported="" name="commons-logging-1.1.1" level="project" />
- <orderEntry type="library" exported="" name="log4j-over-slf4j-1.6.4" level="project" />
- <orderEntry type="library" exported="" name="spring-context-3.0.7.RELEASE" level="project" />
- <orderEntry type="library" exported="" name="spring-asm-3.0.7.RELEASE" level="project" />
- <orderEntry type="library" exported="" name="spring-aop-3.0.7.RELEASE" level="project" />
- <orderEntry type="library" exported="" name="jcl-over-slf4j-1.6.4" level="project" />
- <orderEntry type="library" exported="" name="spring-expression-3.0.7.RELEASE" level="project" />
- <orderEntry type="library" exported="" name="spring-core-3.0.7.RELEASE" level="project" />
- <orderEntry type="library" name="groovy-1.8.4" level="application" />
- </component>
-</module>
-
View
4 si-template-projects/si-template-standalone-simple-project/src/main/java/sipackage/Main.java
@@ -27,8 +27,8 @@
/**
* Starts the Spring Context and will initialize the Spring Integration routes.
*
- * @author Your Name Here
- * @version 1.0
+ * @author SI-TEMPLATE-AUTHOR
+ * @since SI-TEMPLATE-VERSION
*
*/
public final class Main {
View
4 ...jects/si-template-standalone-simple-project/src/main/java/sipackage/service/StringConversionService.java
@@ -18,8 +18,8 @@
/**
* Provides string manipulation services.
*
- * @author Your Name Here
- * @version 1.0
+ * @author SI-TEMPLATE-AUTHOR
+ * @since SI-TEMPLATE-VERSION
*
*/
public interface StringConversionService {
View
6 ...-projects/si-template-standalone-simple-project/src/test/java/sipackage/StringConversionServiceTest.java
@@ -16,7 +16,7 @@
package sipackage;
-import static junit.framework.Assert.*;
+import static org.junit.Assert.*;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
@@ -26,6 +26,10 @@
/**
* Verify that the Spring Integration Application Context starts successfully.
+ *
+ * @author SI-TEMPLATE-AUTHOR
+ * @since SI-TEMPLATE-VERSION
+ *
*/
public class StringConversionServiceTest {
View
26 si-template-projects/si-template-standalone-simple-project/wizard.json
@@ -3,28 +3,44 @@
"elements" : {
"element" : [
{
- "name" : "mavenGroupId",
- "description" : "Please enter a 'groupId'",
+ "name" : "SI-TEMPLATE-GROUP-ID",
+ "description" : "Please enter a 'groupId'",
"type" : "java.lang.String",
"page" : 0,
"required" : true,
},
{
- "name" : "si-template-standalone-simple-artifactId",
+ "name" : "SI-TEMPLATE-ARTIFACT-ID",
"description" : "Please enter an 'artifactId'",
"type" : "java.lang.String",
"page" : 0,
"required" : true,
},
{
- "name" : "mavenVersion",
- "description" : "Please enter a version e.g. '1.0.0.BUILD-SNAPSHOT'",
+ "name" : "SI-TEMPLATE-BUILD-VERSION",
+ "description" : "Please enter a build version e.g. '1.0.0.BUILD-SNAPSHOT'",
"defaultValue": "1.0.0.BUILD-SNAPSHOT",
"type" : "java.lang.String",
"page" : 0,
"required" : true,
},
{
+ "name" : "SI-TEMPLATE-VERSION",
+ "description" : "Please enter a short version e.g. '1.0' (For JavaDocs)",
+ "defaultValue": "1.0",
+ "type" : "java.lang.String",
+ "page" : 0,
+ "required" : true,
+ },
+ {
+ "name" : "SI-TEMPLATE-AUTHOR",
+ "description" : "Please enter the author name",
+ "defaultValue": "Your name",
+ "type" : "java.lang.String",
+ "page" : 0,
+ "required" : true,
+ },
+ {
"name" : "topLevelPackage",
"description" : "Please specify the top-level package e.g. com.mycompany.myapp",
"type" : "java.lang.String",
View
6 si-template-projects/si-template-war-project/.project
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
- <name>si-template-project-war</name>
+ <name>si-template-project-name</name>
<comment></comment>
<projects>
</projects>
@@ -26,12 +26,12 @@
</arguments>
</buildCommand>
<buildCommand>
- <name>org.eclipse.m2e.core.maven2Builder</name>
+ <name>org.eclipse.wst.validation.validationbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
- <name>org.eclipse.wst.validation.validationbuilder</name>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
<arguments>
</arguments>
</buildCommand>
View
3  si-template-projects/si-template-war-project/.settings/com.springsource.sts.config.flow.prefs
@@ -1,2 +1,3 @@
-//com.springsource.sts.config.flow.coordinates\:http\://www.springframework.org/schema/integration\:/si-template-war-artifactId/src/main/resources/META-INF/spring/integration/spring-integration-context.xml=<?xml version\="1.0" encoding\="UTF-8"?>\n<graph>\n<element clazz\="SearchInboundChannelAdapterModelElement" type\="search-inbound-channel-adapter">\n<structure end\="1384" endstart\="1339" start\="1089" startend\="1275"/>\n<bounds height\="112" width\="116" x\="19" y\="17"/>\n</element>\n<element clazz\="ServiceActivatorModelElement" type\="service-activator">\n<structure end\="1715" endstart\="1715" start\="1548" startend\="1715"/>\n<bounds height\="112" width\="116" x\="291" y\="17"/>\n</element>\n<element clazz\="LoggingChannelAdapterModelElement" type\="logging-channel-adapter">\n<structure end\="1995" endstart\="1995" start\="1835" startend\="1995"/>\n<bounds height\="112" width\="116" x\="291" y\="149"/>\n</element>\n<element clazz\="ChannelModelElement" type\="channel">\n<structure end\="2276" endstart\="2262" start\="2147" startend\="2180"/>\n<bounds height\="112" width\="116" x\="155" y\="17"/>\n</element>\n<element clazz\="ChannelModelElement" type\="channel">\n<structure end\="2317" endstart\="2317" start\="2279" startend\="2317"/>\n<bounds height\="112" width\="116" x\="19" y\="149"/>\n</element>\n<element clazz\="ControlBusModelElement" type\="control-bus">\n<structure end\="2538" endstart\="2538" start\="2469" startend\="2538"/>\n<bounds height\="112" width\="116" x\="155" y\="149"/>\n</element>\n<element clazz\="ImplicitOutputChannelModelElement" type\="channel">\n<structure end\="1715" endstart\="1715" start\="1548" startend\="1715"/>\n<bounds height\="112" width\="116" x\="427" y\="17"/>\n</element>\n</graph>
+//com.springsource.sts.config.flow.coordinates\:http\://www.springframework.org/schema/integration\:/SI-TEMPLATE-ARTIFACT-ID/src/main/resources/META-INF/spring/integration/spring-integration-context.xml=<?xml version\="1.0" encoding\="UTF-8"?>\n<graph>\n<element clazz\="SearchInboundChannelAdapterModelElement" type\="search-inbound-channel-adapter">\n<structure end\="1230" endstart\="1185" start\="935" startend\="1121"/>\n<bounds height\="112" width\="116" x\="19" y\="17"/>\n</element>\n<element clazz\="ServiceActivatorModelElement" type\="service-activator">\n<structure end\="1561" endstart\="1561" start\="1394" startend\="1561"/>\n<bounds height\="112" width\="116" x\="291" y\="17"/>\n</element>\n<element clazz\="ChannelModelElement" type\="channel">\n<structure end\="2045" endstart\="2031" start\="1916" startend\="1949"/>\n<bounds height\="112" width\="116" x\="155" y\="17"/>\n</element>\n<element clazz\="ChannelModelElement" type\="channel">\n<structure end\="2086" endstart\="2086" start\="2048" startend\="2086"/>\n<bounds height\="112" width\="116" x\="19" y\="149"/>\n</element>\n<element clazz\="ControlBusModelElement" type\="control-bus">\n<structure end\="2307" endstart\="2307" start\="2238" startend\="2307"/>\n<bounds height\="112" width\="116" x\="155" y\="149"/>\n</element>\n<element clazz\="ImplicitOutputChannelModelElement" type\="channel">\n<structure end\="1561" endstart\="1561" start\="1394" startend\="1561"/>\n<bounds height\="112" width\="116" x\="427" y\="17"/>\n</element>\n</graph>
+//com.springsource.sts.config.flow.coordinates\:http\://www.springframework.org/schema/integration\:/si-template-war-artifactId/src/main/resources/META-INF/spring/integration/spring-integration-context.xml=<?xml version\="1.0" encoding\="UTF-8"?>\n<graph>\n<element clazz\="SearchInboundChannelAdapterModelElement" type\="search-inbound-channel-adapter">\n<structure end\="1330" endstart\="1285" start\="1035" startend\="1221"/>\n<bounds height\="112" width\="116" x\="19" y\="17"/>\n</element>\n<element clazz\="ServiceActivatorModelElement" type\="service-activator">\n<structure end\="1661" endstart\="1661" start\="1494" startend\="1661"/>\n<bounds height\="112" width\="116" x\="291" y\="17"/>\n</element>\n<element clazz\="LoggingChannelAdapterModelElement" type\="logging-channel-adapter">\n<structure end\="1907" endstart\="1907" start\="1747" startend\="1907"/>\n<bounds height\="112" width\="116" x\="291" y\="149"/>\n</element>\n<element clazz\="ChannelModelElement" type\="channel">\n<structure end\="2188" endstart\="2174" start\="2059" startend\="2092"/>\n<bounds height\="112" width\="116" x\="155" y\="17"/>\n</element>\n<element clazz\="ChannelModelElement" type\="channel">\n<structure end\="2229" endstart\="2229" start\="2191" startend\="2229"/>\n<bounds height\="112" width\="116" x\="19" y\="149"/>\n</element>\n<element clazz\="ControlBusModelElement" type\="control-bus">\n<structure end\="2450" endstart\="2450" start\="2381" startend\="2450"/>\n<bounds height\="112" width\="116" x\="155" y\="149"/>\n</element>\n<element clazz\="ImplicitOutputChannelModelElement" type\="channel">\n<structure end\="1661" endstart\="1661" start\="1494" startend\="1661"/>\n<bounds height\="112" width\="116" x\="427" y\="17"/>\n</element>\n</graph>
eclipse.preferences.version=1
View
4 si-template-projects/si-template-war-project/.settings/org.eclipse.jdt.core.prefs
@@ -1,9 +1,5 @@
-#Mon Feb 27 13:56:59 EST 2012
eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
org.eclipse.jdt.core.compiler.compliance=1.6
-org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
-org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.source=1.6
View
4 si-template-projects/si-template-war-project/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
View
8 si-template-projects/si-template-war-project/.settings/org.eclipse.wst.common.component
@@ -1,12 +1,10 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project-modules id="moduleCoreId" project-version="1.5.0">
- <wb-module deploy-name="si-template-project-war">
+<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
+ <wb-module deploy-name="si-template-project-name">
<wb-resource deploy-path="/" source-path="/target/m2e-wtp/web-resources"/>
<wb-resource deploy-path="/" source-path="/src/main/webapp" tag="defaultRootSource"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/java"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src/main/resources"/>
- <property name="context-root" value="si-template-project-war"/>
<property name="java-output-path" value="target/classes"/>
+ <property name="context-root" value="SI-TEMPLATE-ARTIFACT-ID"/>
</wb-module>
</project-modules>
-
View
10 si-template-projects/si-template-war-project/README.md
@@ -9,6 +9,16 @@ Please keep in mind, that the provided Web UI is not necessary. You can in fact
run Spring Integration processes without any MVC integration. Thus, you can
run your Spring Integration components as mere backend processes.
+You can run the application from:
+
+* within STS (Right-click on the WAR project --> Run As --> Run on Server)
+* the command line:
+ - `mvn tomcat7:run`
+ - Open your browser at `http://localhost:8080/`
+* or alternatively:
+ - `mvn package`
+ - deploy the created war file (under `/target/*.war`) to a Servlet Container such as Tomcat
+
--------------------------------------------------------------------------------
For help please take a look at the Spring Integration documentation:
View
45 si-template-projects/si-template-war-project/build.gradle
@@ -2,23 +2,24 @@ apply plugin: 'java'
apply plugin: 'jetty'
apply plugin: 'eclipse'
apply plugin: 'idea'
+apply from: 'publish-maven.gradle'
repositories {
mavenCentral()
maven { url 'http://repo.springsource.org/libs-milestone' }
}
-group = "mavenGroupId"
-version = "mavenVersion"
+group = "SI-TEMPLATE-GROUP-ID"
+version = "SI-TEMPLATE-BUILD-VERSION"
-ext {
- sourceCompatibility=1.6
- targetCompatibility=1.6
+sourceCompatibility=1.6
+targetCompatibility=1.6
- junitVersion = '4.10'
- log4jVersion = '1.2.16'
- springIntegrationVersion = '2.1.2.RELEASE'
- springframeworkVersion = '3.1.1.RELEASE'
+ext {
+ junitVersion = '4.11'
+ log4jVersion = '1.2.17'
+ springIntegrationVersion = '2.2.0.RELEASE'
+ springframeworkVersion = '3.1.3.RELEASE'
}
eclipse {
@@ -26,11 +27,31 @@ eclipse {
}
dependencies {
+
+ testCompile "junit:junit-dep:$junitVersion"
+
+ // Spring
+
+ compile "org.springframework:spring-context:$springframeworkVersion"
+ compile "org.springframework:spring-webmvc:$springframeworkVersion"
+
+ // Spring Integration
+
compile "org.springframework.integration:spring-integration-core:$springIntegrationVersion"
compile "org.springframework.integration:spring-integration-twitter:$springIntegrationVersion"
- compile "org.springframework:spring-webmvc:$springframeworkVersion"
+
+ // Logging
+
compile "log4j:log4j:$log4jVersion"
- compile "commons-io:commons-io:2.1"
- testCompile "junit:junit-dep:$junitVersion"
+ // Servlet
+
+ compile ("javax.servlet:servlet-api:2.5", provided)
+ compile ("javax.servlet.jsp:jsp-api:2.1", provided)
+ compile "javax.servlet:jstl:1.2"
+}
+
+task wrapper(type: Wrapper) {
+ description = 'Generates gradlew[.bat] scripts'
+ gradleVersion = '1.3'
}
View
BIN  si-template-projects/si-template-war-project/gradle/wrapper/gradle-wrapper.jar
Binary file not shown
View
6 si-template-projects/si-template-war-project/gradle/wrapper/gradle-wrapper.properties
@@ -0,0 +1,6 @@
+#Thu Dec 13 12:10:01 EST 2012
+distributionBase=GRADLE_USER_HOME
+distributionPath=wrapper/dists
+zipStoreBase=GRADLE_USER_HOME
+zipStorePath=wrapper/dists
+distributionUrl=http\://services.gradle.org/distributions/gradle-1.3-bin.zip
View
164 si-template-projects/si-template-war-project/gradlew
@@ -0,0 +1,164 @@
+#!/usr/bin/env bash
+
+##############################################################################
+##
+## Gradle start up script for UN*X
+##
+##############################################################################
+
+# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+DEFAULT_JVM_OPTS=""
+
+APP_NAME="Gradle"
+APP_BASE_NAME=`basename "$0"`
+
+# Use the maximum available, or set MAX_FD != -1 to use that value.
+MAX_FD="maximum"
+
+warn ( ) {
+ echo "$*"
+}
+
+die ( ) {
+ echo
+ echo "$*"
+ echo
+ exit 1
+}
+
+# OS specific support (must be 'true' or 'false').
+cygwin=false
+msys=false
+darwin=false
+case "`uname`" in
+ CYGWIN* )
+ cygwin=true
+ ;;
+ Darwin* )
+ darwin=true
+ ;;
+ MINGW* )
+ msys=true
+ ;;
+esac
+
+# For Cygwin, ensure paths are in UNIX format before anything is touched.
+if $cygwin ; then
+ [ -n "$JAVA_HOME" ] && JAVA_HOME=`cygpath --unix "$JAVA_HOME"`
+fi
+
+# Attempt to set APP_HOME
+# Resolve links: $0 may be a link
+PRG="$0"
+# Need this for relative symlinks.
+while [ -h "$PRG" ] ; do
+ ls=`ls -ld "$PRG"`
+ link=`expr "$ls" : '.*-> \(.*\)$'`
+ if expr "$link" : '/.*' > /dev/null; then
+ PRG="$link"
+ else
+ PRG=`dirname "$PRG"`"/$link"
+ fi
+done
+SAVED="`pwd`"
+cd "`dirname \"$PRG\"`/"
+APP_HOME="`pwd -P`"
+cd "$SAVED"
+
+CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar
+
+# Determine the Java command to use to start the JVM.
+if [ -n "$JAVA_HOME" ] ; then
+ if [ -x "$JAVA_HOME/jre/sh/java" ] ; then
+ # IBM's JDK on AIX uses strange locations for the executables
+ JAVACMD="$JAVA_HOME/jre/sh/java"
+ else
+ JAVACMD="$JAVA_HOME/bin/java"
+ fi
+ if [ ! -x "$JAVACMD" ] ; then
+ die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+ fi
+else
+ JAVACMD="java"
+ which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+
+Please set the JAVA_HOME variable in your environment to match the
+location of your Java installation."
+fi
+
+# Increase the maximum file descriptors if we can.
+if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then
+ MAX_FD_LIMIT=`ulimit -H -n`
+ if [ $? -eq 0 ] ; then
+ if [ "$MAX_FD" = "maximum" -o "$MAX_FD" = "max" ] ; then
+ MAX_FD="$MAX_FD_LIMIT"
+ fi
+ ulimit -n $MAX_FD
+ if [ $? -ne 0 ] ; then
+ warn "Could not set maximum file descriptor limit: $MAX_FD"
+ fi
+ else
+ warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT"
+ fi
+fi
+
+# For Darwin, add options to specify how the application appears in the dock
+if $darwin; then
+ GRADLE_OPTS="$GRADLE_OPTS \"-Xdock:name=$APP_NAME\" \"-Xdock:icon=$APP_HOME/media/gradle.icns\""
+fi
+
+# For Cygwin, switch paths to Windows format before running java
+if $cygwin ; then
+ APP_HOME=`cygpath --path --mixed "$APP_HOME"`
+ CLASSPATH=`cygpath --path --mixed "$CLASSPATH"`
+
+ # We build the pattern for arguments to be converted via cygpath
+ ROOTDIRSRAW=`find -L / -maxdepth 1 -mindepth 1 -type d 2>/dev/null`
+ SEP=""
+ for dir in $ROOTDIRSRAW ; do
+ ROOTDIRS="$ROOTDIRS$SEP$dir"
+ SEP="|"
+ done
+ OURCYGPATTERN="(^($ROOTDIRS))"
+ # Add a user-defined pattern to the cygpath arguments
+ if [ "$GRADLE_CYGPATTERN" != "" ] ; then
+ OURCYGPATTERN="$OURCYGPATTERN|($GRADLE_CYGPATTERN)"
+ fi
+ # Now convert the arguments - kludge to limit ourselves to /bin/sh
+ i=0
+ for arg in "$@" ; do
+ CHECK=`echo "$arg"|egrep -c "$OURCYGPATTERN" -`
+ CHECK2=`echo "$arg"|egrep -c "^-"` ### Determine if an option
+
+ if [ $CHECK -ne 0 ] && [ $CHECK2 -eq 0 ] ; then ### Added a condition
+ eval `echo args$i`=`cygpath --path --ignore --mixed "$arg"`
+ else
+ eval `echo args$i`="\"$arg\""
+ fi
+ i=$((i+1))
+ done
+ case $i in
+ (0) set -- ;;
+ (1) set -- "$args0" ;;
+ (2) set -- "$args0" "$args1" ;;
+ (3) set -- "$args0" "$args1" "$args2" ;;
+ (4) set -- "$args0" "$args1" "$args2" "$args3" ;;
+ (5) set -- "$args0" "$args1" "$args2" "$args3" "$args4" ;;
+ (6) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" ;;
+ (7) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" ;;
+ (8) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" ;;
+ (9) set -- "$args0" "$args1" "$args2" "$args3" "$args4" "$args5" "$args6" "$args7" "$args8" ;;
+ esac
+fi
+
+# Split up the JVM_OPTS And GRADLE_OPTS values into an array, following the shell quoting and substitution rules
+function splitJvmOpts() {
+ JVM_OPTS=("$@")
+}
+eval splitJvmOpts $DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS
+JVM_OPTS[${#JVM_OPTS[*]}]="-Dorg.gradle.appname=$APP_BASE_NAME"
+
+exec "$JAVACMD" "${JVM_OPTS[@]}" -classpath "$CLASSPATH" org.gradle.wrapper.GradleWrapperMain "$@"
View
90 si-template-projects/si-template-war-project/gradlew.bat
@@ -0,0 +1,90 @@
+@if "%DEBUG%" == "" @echo off
+@rem ##########################################################################
+@rem
+@rem Gradle startup script for Windows
+@rem
+@rem ##########################################################################
+
+@rem Set local scope for the variables with windows NT shell
+if "%OS%"=="Windows_NT" setlocal
+
+@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script.
+set DEFAULT_JVM_OPTS=
+
+set DIRNAME=%~dp0
+if "%DIRNAME%" == "" set DIRNAME=.
+set APP_BASE_NAME=%~n0
+set APP_HOME=%DIRNAME%
+
+@rem Find java.exe
+if defined JAVA_HOME goto findJavaFromJavaHome
+
+set JAVA_EXE=java.exe
+%JAVA_EXE% -version >NUL 2>&1
+if "%ERRORLEVEL%" == "0" goto init
+
+echo.
+echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH.
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:findJavaFromJavaHome
+set JAVA_HOME=%JAVA_HOME:"=%
+set JAVA_EXE=%JAVA_HOME%/bin/java.exe
+
+if exist "%JAVA_EXE%" goto init
+
+echo.
+echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME%
+echo.
+echo Please set the JAVA_HOME variable in your environment to match the
+echo location of your Java installation.
+
+goto fail
+
+:init
+@rem Get command-line arguments, handling Windowz variants
+
+if not "%OS%" == "Windows_NT" goto win9xME_args
+if "%@eval[2+2]" == "4" goto 4NT_args
+
+:win9xME_args
+@rem Slurp the command line arguments.
+set CMD_LINE_ARGS=
+set _SKIP=2
+
+:win9xME_args_slurp
+if "x%~1" == "x" goto execute
+
+set CMD_LINE_ARGS=%*
+goto execute
+
+:4NT_args
+@rem Get arguments from the 4NT Shell from JP Software
+set CMD_LINE_ARGS=%$
+
+:execute
+@rem Setup the command line
+
+set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
+
+@rem Execute Gradle
+"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
+
+:end
+@rem End local scope for the variables with windows NT shell
+if "%ERRORLEVEL%"=="0" goto mainEnd
+
+:fail
+rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of
+rem the _cmd.exe /c_ return code!
+if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1
+exit /b 1
+
+:mainEnd
+if "%OS%"=="Windows_NT" endlocal
+
+:omega
View
28 si-template-projects/si-template-war-project/pom.xml
@@ -2,24 +2,24 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
- <groupId>mavenGroupId</groupId>
- <artifactId>si-template-war-artifactId</artifactId>
- <version>mavenVersion</version>
+ <groupId>SI-TEMPLATE-GROUP-ID</groupId>
+ <artifactId>SI-TEMPLATE-ARTIFACT-ID</artifactId>
+ <version>SI-TEMPLATE-BUILD-VERSION</version>
<packaging>war</packaging>
- <name>si-template-project-war</name>
+ <name>si-template-project-name</name>
<url>http://www.springsource.org/spring-integration</url>
<prerequisites>
- <maven>2.2.0</maven>
+ <maven>2.2.1</maven>
</prerequisites>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
- <spring.integration.version>2.1.2.RELEASE</spring.integration.version>
- <org.springframework-version>3.1.1.RELEASE</org.springframework-version>
- <log4j.version>1.2.16</log4j.version>
- <junit.version>4.10</junit.version>
+ <spring.integration.version>2.2.0.RELEASE</spring.integration.version>
+ <org.springframework-version>3.1.3.RELEASE</org.springframework-version>
+ <log4j.version>1.2.17</log4j.version>
+ <junit.version>4.11</junit.version>
</properties>
<repositories>
@@ -50,7 +50,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
- <version>2.3.2</version>
+ <version>3.0</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
@@ -59,6 +59,14 @@
<showDeprecation>true</showDeprecation>
</configuration>
</plugin>
+ <plugin>
+ <groupId>org.apache.tomcat.maven</groupId>
+ <artifactId>tomcat7-maven-plugin</artifactId>
+ <version>2.0</version>
+ <configuration>
+ <path>/</path>
+ </configuration>
+ </plugin>
</plugins>
</build>
View
57 si-template-projects/si-template-war-project/publish-maven.gradle
@@ -0,0 +1,57 @@
+apply plugin: 'maven'
+
+ext.optionalDeps = []
+ext.providedDeps = []
+
+ext.optional = { optionalDeps << it }
+ext.provided = { providedDeps << it }
+
+install {
+ repositories.mavenInstaller {
+ customizePom(pom, project)
+ }
+}
+
+def customizePom(pom, gradleProject) {
+ pom.whenConfigured { generatedPom ->
+ // respect 'optional' and 'provided' dependencies
+ gradleProject.optionalDeps.each { dep ->
+ generatedPom.dependencies.find { it.artifactId == dep.name }?.optional = true
+ }
+ gradleProject.providedDeps.each { dep ->
+ generatedPom.dependencies.find { it.artifactId == dep.name }?.scope = 'provided'
+ }
+
+ // eliminate test-scoped dependencies (no need in maven central poms)
+ generatedPom.dependencies.removeAll { dep ->
+ dep.scope == 'test'
+ }
+
+ // add all items necessary for maven central publication
+ generatedPom.project {
+ name = gradleProject.description
+ description = gradleProject.description
+ url = 'http://www.springsource.org/spring-integration'
+ organization {
+ name = 'SpringSource'
+ url = 'http://springsource.org'
+ }
+
+ licenses {
+ license {
+ name 'The Apache Software License, Version 2.0'
+ url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
+ distribution 'repo'
+ }
+ }
+
+ developers {
+ developer {
+ id = 'not specified'
+ name = 'SI-TEMPLATE-AUTHOR'
+ email = 'not specified'
+ }
+ }
+ }
+ }
+}
View
6 ...ramework/stsintegration/model/TwitterMessage.java → ...src/main/java/sipackage/model/TwitterMessage.java
@@ -13,15 +13,15 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package stsorg.stsspringframework.stsintegration.model;
+package sipackage.model;
import java.util.Date;
/**
* Represents some common Twitter related fields.
*
- * @author Your Name Here
- * @version 1.0
+ * @author SI-TEMPLATE-AUTHOR
+ * @since SI-TEMPLATE-VERSION
*
*/
public class TwitterMessage {
View
10 ...stsintegration/mvc/controller/HomeController.java → ...java/sipackage/mvc/controller/HomeController.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package stsorg.stsspringframework.stsintegration.mvc.controller;
+package sipackage.mvc.controller;
import java.util.Collection;
@@ -24,14 +24,14 @@
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
-import stsorg.stsspringframework.stsintegration.model.TwitterMessage;
-import stsorg.stsspringframework.stsintegration.service.TwitterService;
+import sipackage.model.TwitterMessage;
+import sipackage.service.TwitterService;
/**
* Handles requests for the application home page.
*
- * @author Your Name Here
- * @version 1.0
+ * @author SI-TEMPLATE-AUTHOR
+ * @since SI-TEMPLATE-VERSION
*
*/
@Controller
View
4 si-template-projects/si-template-war-project/src/main/java/sipackage/package-info.java
@@ -0,0 +1,4 @@
+/**
+ * Root package of the SI-TEMPLATE-ARTIFACT-ID application.
+ */
+package sipackage;
View
8 ...mework/stsintegration/service/TwitterService.java → ...c/main/java/sipackage/service/TwitterService.java
@@ -13,17 +13,17 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package stsorg.stsspringframework.stsintegration.service;
+package sipackage.service;
import java.util.Collection;
-import stsorg.stsspringframework.stsintegration.model.TwitterMessage;
+import sipackage.model.TwitterMessage;
/**
* Provides some basic methods for controlling the flow of Twitter messages.
*
- * @author Your Name Here
- * @version 1.0
+ * @author SI-TEMPLATE-AUTHOR
+ * @since SI-TEMPLATE-VERSION
*
*/
public interface TwitterService {
View
10 ...tegration/service/impl/DefaultTwitterService.java → ...sipackage/service/impl/DefaultTwitterService.java
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package stsorg.stsspringframework.stsintegration.service.impl;
+package sipackage.service.impl;
import java.util.Collection;
import java.util.LinkedHashMap;
@@ -28,14 +28,14 @@
import org.springframework.social.twitter.api.Tweet;
import org.springframework.stereotype.Service;
-import stsorg.stsspringframework.stsintegration.model.TwitterMessage;
-import stsorg.stsspringframework.stsintegration.service.TwitterService;
+import sipackage.model.TwitterMessage;
+import sipackage.service.TwitterService;
/**
* Implementation of the TwitterService interface.
*
- * @author Your Name Here
- * @version 1.0
+ * @author SI-TEMPLATE-AUTHOR
+ * @since SI-TEMPLATE-VERSION
*
*/
@Service
View
6 ...ts/si-template-war-project/src/main/resources/META-INF/spring/integration/spring-integration-context.xml
@@ -12,8 +12,7 @@
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
- <context:component-scan
- base-package="stsorg.stsspringframework.stsintegration.service" />
+ <context:component-scan base-package="sipackage"/>
<!-- See also: http://static.springsource.org/spring-integration/reference/htmlsingle/#twitter -->
<int-twitter:search-inbound-channel-adapter
@@ -28,8 +27,7 @@
input-channel="twitterChannel" output-channel="nullChannel" ref="twitterService"
method="addTwitterMessages" />
- <bean id="twitterService"
- class="stsorg.stsspringframework.stsintegration.service.impl.DefaultTwitterService" />
+ <bean id="twitterService" class="sipackage.service.impl.DefaultTwitterService"/>
<int:logging-channel-adapter id="logger"
level="INFO"
View
2  si-template-projects/si-template-war-project/src/main/resources/META-INF/spring/mvc/servlet-context.xml
@@ -9,7 +9,7 @@
<!-- Scans within the base package of the application for @Components to
configure as beans -->
- <context:component-scan base-package="stsorg.stsspringframework.stsintegration.mvc.controller" />
+ <context:component-scan base-package="sipackage.mvc.controller" />
<!-- <mvc:default-servlet-handler /> -->
View
2  si-template-projects/si-template-war-project/src/main/resources/log4j.xml
@@ -15,7 +15,7 @@
<level value="info" />
</logger>
- <logger name="stsorg.stsspringframework.stsintegration">
+ <logger name="sipackage">
<level value="info" />
</logger>
View
2  si-template-projects/si-template-war-project/src/main/webapp/WEB-INF/views/home.jsp
@@ -15,7 +15,7 @@
<![endif]-->
<link rel="stylesheet" href="<c:url value='/css/main.css'/>" type="text/css">
- <script src="<c:url value='/js/jquery-1.6.1.min.js'/>"></script>
+ <script src="<c:url value='/js/jquery-1.8.3.min.js'/>"></script>
<script src="<c:url value='/js/jquery.periodicalupdater.js'/>"></script>
</head>
<body>
View
18 si-template-projects/si-template-war-project/src/main/webapp/js/jquery-1.6.1.min.js
@@ -1,18 +0,0 @@
-/*!
- * jQuery JavaScript Library v1.6.1
- * http://jquery.com/
- *
- * Copyright 2011, John Resig
- * Dual licensed under the MIT or GPL Version 2 licenses.
- * http://jquery.org/license
- *
- * Includes Sizzle.js
- * http://sizzlejs.com/
- * Copyright 2011, The Dojo Foundation
- * Released under the MIT, BSD, and GPL Licenses.
- *
- * Date: Thu May 12 15:04:36 2011 -0400
- */
-(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!cj[a]){var b=f("<"+a+">").appendTo("body"),d=b.css("display");b.remove();if(d==="none"||d===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),c.body.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write("<!doctype><html><body></body></html>");b=cl.createElement(a),cl.body.appendChild(b),d=f.css(b,"display"),c.body.removeChild(ck)}cj[a]=d}return cj[a]}function cu(a,b){var c={};f.each(cp.concat.apply([],cp.slice(0,b)),function(){c[this]=a});return c}function ct(){cq=b}function cs(){setTimeout(ct,0);return cq=f.now()}function ci(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ch(){try{return new a.XMLHttpRequest}catch(b){}}function cb(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g<i;g++){if(g===1)for(h in a.converters)typeof h=="string"&&(e[h.toLowerCase()]=a.converters[h]);l=k,k=d[g];if(k==="*")k=l;else if(l!=="*"&&l!==k){m=l+" "+k,n=e[m]||e["* "+k];if(!n){p=b;for(o in e){j=o.split(" ");if(j[0]===l||j[0]==="*"){p=e[j[1]+" "+k];if(p){o=e[o],o===!0?n=p:p===!0&&(n=o);break}}}}!n&&!p&&f.error("No conversion from "+m.replace(" "," to ")),n!==!0&&(c=n?n(c):p(o(c)))}}return c}function ca(a,c,d){var e=a.contents,f=a.dataTypes,g=a.responseFields,h,i,j,k;for(i in g)i in d&&(c[g[i]]=d[i]);while(f[0]==="*")f.shift(),h===b&&(h=a.mimeType||c.getResponseHeader("content-type"));if(h)for(i in e)if(e[i]&&e[i].test(h)){f.unshift(i);break}if(f[0]in d)j=f[0];else{for(i in d){if(!f[0]||a.converters[i+" "+f[0]]){j=i;break}k||(k=i)}j=j||k}if(j){j!==f[0]&&f.unshift(j);return d[j]}}function b_(a,b,c,d){if(f.isArray(b))f.each(b,function(b,e){c||bF.test(a)?d(a,e):b_(a+"["+(typeof e=="object"||f.isArray(e)?b:"")+"]",e,c,d)});else if(!c&&b!=null&&typeof b=="object")for(var e in b)b_(a+"["+e+"]",b[e],c,d);else d(a,b)}function b$(a,c,d,e,f,g){f=f||c.dataTypes[0],g=g||{},g[f]=!0;var h=a[f],i=0,j=h?h.length:0,k=a===bU,l;for(;i<j&&(k||!l);i++)l=h[i](c,d,e),typeof l=="string"&&(!k||g[l]?l=b:(c.dataTypes.unshift(l),l=b$(a,c,d,e,l,g)));(k||!l)&&!g["*"]&&(l=b$(a,c,d,e,"*",g));return l}function bZ(a){return function(b,c){typeof b!="string"&&(c=b,b="*");if(f.isFunction(c)){var d=b.toLowerCase().split(bQ),e=0,g=d.length,h,i,j;for(;e<g;e++)h=d[e],j=/^\+/.test(h),j&&(h=h.substr(1)||"*"),i=a[h]=a[h]||[],i[j?"unshift":"push"](c)}}}function bD(a,b,c){var d=b==="width"?bx:by,e=b==="width"?a.offsetWidth:a.offsetHeight;if(c==="border")return e;f.each(d,function(){c||(e-=parseFloat(f.css(a,"padding"+this))||0),c==="margin"?e+=parseFloat(f.css(a,"margin"+this))||0:e-=parseFloat(f.css(a,"border"+this+"Width"))||0});return e}function bn(a,b){b.src?f.ajax({url:b.src,async:!1,dataType:"script"}):f.globalEval((b.text||b.textContent||b.innerHTML||"").replace(bf,"/*$0*/")),b.parentNode&&b.parentNode.removeChild(b)}function bm(a){f.nodeName(a,"input")?bl(a):a.getElementsByTagName&&f.grep(a.getElementsByTagName("input"),bl)}function bl(a){if(a.type==="checkbox"||a.type==="radio")a.defaultChecked=a.checked}function bk(a){return"getElementsByTagName"in a?a.getElementsByTagName("*"):"querySelectorAll"in a?a.querySelectorAll("*"):[]}function bj(a,b){var c;if(b.nodeType===1){b.clearAttributes&&b.clearAttributes(),b.mergeAttributes&&b.mergeAttributes(a),c=b.nodeName.toLowerCase();if(c==="object")b.outerHTML=a.outerHTML;else if(c!=="input"||a.type!=="checkbox"&&a.type!=="radio"){if(c==="option")b.selected=a.defaultSelected;else if(c==="input"||c==="textarea")b.defaultValue=a.defaultValue}else a.checked&&(b.defaultChecked=b.checked=a.checked),b.value!==a.value&&(b.value=a.value);b.removeAttribute(f.expando)}}function bi(a,b){if(b.nodeType===1&&!!f.hasData(a)){var c=f.expando,d=f.data(a),e=f.data(b,d);if(d=d[c]){var g=d.events;e=e[c]=f.extend({},d);if(g){delete e.handle,e.events={};for(var h in g)for(var i=0,j=g[h].length;i<j;i++)f.event.add(b,h+(g[h][i].namespace?".":"")+g[h][i].namespace,g[h][i],g[h][i].data)}}}}function bh(a,b){return f.nodeName(a,"table")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function X(a,b,c){b=b||0;if(f.isFunction(b))return f.grep(a,function(a,d){var e=!!b.call(a,d,a);return e===c});if(b.nodeType)return f.grep(a,function(a,d){return a===b===c});if(typeof b=="string"){var d=f.grep(a,function(a){return a.nodeType===1});if(S.test(b))return f.filter(b,d,!c);b=f.filter(b,d)}return f.grep(a,function(a,d){return f.inArray(a,b)>=0===c})}function W(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function O(a,b){return(a&&a!=="*"?a+".":"")+b.replace(A,"`").replace(B,"&")}function N(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;i<s.length;i++)g=s[i],g.origType.replace(y,"")===a.type?q.push(g.selector):s.splice(i--,1);e=f(a.target).closest(q,a.currentTarget);for(j=0,k=e.length;j<k;j++){m=e[j];for(i=0;i<s.length;i++){g=s[i];if(m.selector===g.selector&&(!n||n.test(g.namespace))&&!m.elem.disabled){h=m.elem,d=null;if(g.preType==="mouseenter"||g.preType==="mouseleave")a.type=g.preType,d=f(a.relatedTarget).closest(g.selector)[0],d&&f.contains(h,d)&&(d=h);(!d||d!==h)&&p.push({elem:h,handleObj:g,level:m.level})}}}for(j=0,k=p.length;j<k;j++){e=p[j];if(c&&e.level>c)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function L(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function F(){return!0}function E(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(j,"$1-$2").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(g){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function H(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(H,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=d.userAgent,x,y,z,A=Object.prototype.toString,B=Object.prototype.hasOwnProperty,C=Array.prototype.push,D=Array.prototype.slice,E=String.prototype.trim,F=Array.prototype.indexOf,G={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6.1",length:0,size:function(){return this.length},toArray:function(){return D.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?C.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),y.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(D.apply(this,arguments),"slice",D.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:C,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j<k;j++)if((a=arguments[j])!=null)for(c in a){d=i[c],f=a[c];if(i===f)continue;l&&f&&(e.isPlainObject(f)||(g=e.isArray(f)))?(g?(g=!1,h=d&&e.isArray(d)?d:[]):h=d&&e.isPlainObject(d)?d:{},i[c]=e.extend(l,h,f)):f!==b&&(i[c]=f)}return i},e.extend({noConflict:function(b){a.$===e&&(a.$=g),b&&a.jQuery===e&&(a.jQuery=f);return e},isReady:!1,readyWait:1,holdReady:function(a){a?e.readyWait++:e.ready(!0)},ready:function(a){if(a===!0&&!--e.readyWait||a!==!0&&!e.isReady){if(!c.body)return setTimeout(e.ready,1);e.isReady=!0;if(a!==!0&&--e.readyWait>0)return;y.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!y){y=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",z,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",z),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&H()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):G[A.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;if(a.constructor&&!B.call(a,"constructor")&&!B.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a);return c===b||B.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(b,c,d){a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),d=c.documentElement,(!d||!d.nodeName||d.nodeName==="parsererror")&&e.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g<h;)if(c.apply(a[g++],d)===!1)break}else if(i){for(f in a)if(c.call(a[f],f,a[f])===!1)break}else for(;g<h;)if(c.call(a[g],g,a[g++])===!1)break;return a},trim:E?function(a){return a==null?"":E.call(a)}:function(a){return a==null?"":(a+"").replace(k,"").replace(l,"")},makeArray:function(a,b){var c=b||[];if(a!=null){var d=e.type(a);a.length==null||d==="string"||d==="function"||d==="regexp"||e.isWindow(a)?C.call(c,a):e.merge(c,a)}return c},inArray:function(a,b){if(F)return F.call(b,a);for(var c=0,d=b.length;c<d;c++)if(b[c]===a)return c;return-1},merge:function(a,c){var d=a.length,e=0;if(typeof c.length=="number")for(var f=c.length;e<f;e++)a[d++]=c[e];else while(c[e]!==b)a[d++]=c[e++];a.length=d;return a},grep:function(a,b,c){var d=[],e;c=!!c;for(var f=0,g=a.length;f<g;f++)e=!!b(a[f],f),c!==e&&d.push(a[f]);return d},map:function(a,c,d){var f,g,h=[],i=0,j=a.length,k=a instanceof e||j!==b&&typeof j=="number"&&(j>0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i<j;i++)f=c(a[i],i,d),f!=null&&(h[h.length]=f);else for(g in a)f=c(a[g],g,d),f!=null&&(h[h.length]=f);return h.concat.apply([],h)},guid:1,proxy:function(a,c){if(typeof c=="string"){var d=a[c];c=a,a=d}if(!e.isFunction(a))return b;var f=D.call(arguments,2),g=function(){return a.apply(c,f.concat(D.call(arguments)))};g.guid=a.guid=a.guid||g.guid||e.guid++;return g},access:function(a,c,d,f,g,h){var i=a.length;if(typeof c=="object"){for(var j in c)e.access(a,j,c[j],f,g,d);return a}if(d!==b){f=!h&&f&&e.isFunction(d);for(var k=0;k<i;k++)g(a[k],c,f?d.call(a[k],k,g(a[k],c)):d,h);return a}return i?g(a[0],c):b},now:function(){return(new Date).getTime()},uaMatch:function(a){a=a.toLowerCase();var b=s.exec(a)||t.exec(a)||u.exec(a)||a.indexOf("compatible")<0&&v.exec(a)||[];return{browser:b[1]||"",version:b[2]||"0"}},sub:function(){function a(b,c){return new a.fn.init(b,c)}e.extend(!0,a,this),a.superclass=this,a.fn=a.prototype=this(),a.fn.constructor=a,a.sub=this.sub,a.fn.init=function(d,f){f&&f instanceof e&&!(f instanceof a)&&(f=a(f));return e.fn.init.call(this,d,f,b)},a.fn.init.prototype=a.fn;var b=a(c);return a},browser:{}}),e.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(a,b){G["[object "+b+"]"]=b.toLowerCase()}),x=e.uaMatch(w),x.browser&&(e.browser[x.browser]=!0,e.browser.version=x.version),e.browser.webkit&&(e.browser.safari=!0),j.test(" ")&&(k=/^[\s\xA0]+/,l=/[\s\xA0]+$/),h=e(c),c.addEventListener?z=function(){c.removeEventListener("DOMContentLoaded",z,!1),e.ready()}:c.attachEvent&&(z=function(){c.readyState==="complete"&&(c.detachEvent("onreadystatechange",z),e.ready())});return e}(),g="done fail isResolved isRejected promise then always pipe".split(" "),h=[].slice;f.extend({_Deferred:function(){var a=[],b,c,d,e={done:function(){if(!d){var c=arguments,g,h,i,j,k;b&&(k=b,b=0);for(g=0,h=c.length;g<h;g++)i=c[g],j=f.type(i),j==="array"?e.done.apply(e,i):j==="function"&&a.push(i);k&&e.resolveWith(k[0],k[1])}return this},resolveWith:function(e,f){if(!d&&!b&&!c){f=f||[],c=1;try{while(a[0])a.shift().apply(e,f)}finally{b=[e,f],c=0}}return this},resolve:function(){e.resolveWith(this,arguments);return this},isResolved:function(){return!!c||!!b},cancel:function(){d=1,a=[];return this}};return e},Deferred:function(a){var b=f._Deferred(),c=f._Deferred(),d;f.extend(b,{then:function(a,c){b.done(a).fail(c);return this},always:function(){return b.done.apply(b,arguments).fail.apply(this,arguments)},fail:c.done,rejectWith:c.resolveWith,reject:c.resolve,isRejected:c.isResolved,pipe:function(a,c){return f.Deferred(function(d){f.each({done:[a,"resolve"],fail:[c,"reject"]},function(a,c){var e=c[0],g=c[1],h;f.isFunction(e)?b[a](function(){h=e.apply(this,arguments),h&&f.isFunction(h.promise)?h.promise().then(d.resolve,d.reject):d[g](h)}):b[a](d[g])})}).promise()},promise:function(a){if(a==null){if(d)return d;d=a={}}var c=g.length;while(c--)a[g[c]]=b[g[c]];return a}}),b.done(c.cancel).fail(b.cancel),delete b.cancel,a&&a.call(b,b);return b},when:function(a){function i(a){return function(c){b[a]=arguments.length>1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c<d;c++)b[c]&&f.isFunction(b[c].promise)?b[c].promise().then(i(c),g.reject):--e;e||g.resolveWith(g,b)}else g!==a&&g.resolveWith(g,d?[a]:[]);return g.promise()}}),f.support=function(){var a=c.createElement("div"),b=c.documentElement,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r;a.setAttribute("className","t"),a.innerHTML=" <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};f=c.createElement("select"),g=f.appendChild(c.createElement("option")),h=a.getElementsByTagName("input")[0],j={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55$/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:h.value==="on",optSelected:g.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},h.checked=!0,j.noCloneChecked=h.cloneNode(!0).checked,f.disabled=!0,j.optDisabled=!g.disabled;try{delete a.test}catch(s){j.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function b(){j.noCloneEvent=!1,a.detachEvent("onclick",b)}),a.cloneNode(