diff --git a/spring-integration-smpp/README.md b/spring-integration-smpp/README.md index 42f692a..1982241 100644 --- a/spring-integration-smpp/README.md +++ b/spring-integration-smpp/README.md @@ -1,8 +1,7 @@ Spring Integration Smpp Adapter ================================================= -The Spring Integration Smpp allows you to receive/send sms to SMSC using SMPP protocol. This Spring Integration -extension is migrated from Spring's sandbox spring-integration-smpp project. +The Spring Integration Smpp allows you to receive/send [Short Message Service][] (SMS) messages to a [Short message service center][] (SMSC) using the [SMPP][] protocol. # Components @@ -11,8 +10,19 @@ extension is migrated from Spring's sandbox spring-integration-smpp project. * Inbound Channel Adapter * Inbound Gateway +# Requirements -## More to come... +For running the tests you're going to need a good server to test with: + +There are 2 options: + +**SMPPSim** - http://www.seleniumsoftware.com/regform.php?itemdesc=SMPPSim.tar.gz + +Simply download it, cd into the folder and execute `./startsmppsim.(sh|bat)`. Make sure the script is executable. The configuration for this simulator is in *conf/smppsim.props* + +Another option is **smsssim** and smsctest from http://opensmpp.logica.com/CommonPart/Download/download2.html + +Alternatively, the JSMPP project itself has an SMPP simulator as well. It is also possible to use a full-blow SMPP servers like *Kanell*. # Building @@ -61,3 +71,16 @@ To generate IDEA metadata (.iml and .ipr files), do the following: For more information, please visit the Spring Integration website at: [http://www.springsource.org/spring-integration](http://www.springsource.org/spring-integration) + +# TODO + +* figure out a clean way to furnish our own Executor implementation + +# Resources + +* http://www.techdive.in/java/send-sms-using-jsmpp +* http://www.linkedin.com/answers/technology/information-technology/telecommunications/TCH_ITS_TCI/461130-44316394 + +[SMPP]: http://en.wikipedia.org/wiki/Short_Message_Peer-to-Peer +[Short Message Service]: http://en.wikipedia.org/wiki/Short_Message_Service +[Short message service center]: http://en.wikipedia.org/wiki/Short_message_service_center diff --git a/spring-integration-smpp/build.gradle b/spring-integration-smpp/build.gradle index 9c30378..7b127e7 100644 --- a/spring-integration-smpp/build.gradle +++ b/spring-integration-smpp/build.gradle @@ -18,69 +18,27 @@ group = 'org.springframework.integration' repositories { maven { url 'http://repo.springsource.org/libs-milestone' } - maven { url 'http://repo.springsource.org/plugins-release' } // for bundlor - maven { url 'http://repo.maven.apache.org/maven2'} - maven { url 'https://source.sakaiproject.org/maven2'} + maven { url 'http://repo.springsource.org/plugins-release' } } -// ensure JDK 5 compatibility (GRADLE-18; INT-1578) sourceCompatibility=1.6 targetCompatibility=1.6 ext { - jsmppVersion = '2.1.0' - slf4jVersion = '1.6.6' - commonsLangVersion = '2.6' - commonsBeanUtilsVersion= '1.8.3' - aspectjVersion = '1.6.8' - cglibVersion = '2.2' - commonsNetVersion = '3.0.1' + jsmppVersion = '2.1.0' + slf4jVersion = '1.6.6' + commonsLangVersion = '2.6' + commonsBeanUtilsVersion= '1.8.3' easymockVersion = '2.3' - groovyVersion = '1.8.5' - jacksonVersion = '1.9.2' - javaxActivationVersion = '1.1.1' - junitVersion = '4.8.2' + junitVersion = '4.10' log4jVersion = '1.2.12' mockitoVersion = '1.9.0' - // When changing Spring Versions - don't forget to update bundlor ranges - springVersion = '3.2.0.RELEASE' + springVersion = '3.1.3.RELEASE' springIntegrationVersion = '2.2.0.RELEASE' - springAmqpVersion = '1.1.0.RELEASE' - springDataMongoVersion = '1.1.0.M1' - springDataRedisVersion = '1.0.0.RELEASE' - springGemfireVersion = '1.1.1.RELEASE' - springSecurityVersion = '3.1.0.RELEASE' - springSocialTwitterVersion = '1.0.1.RELEASE' - springWsVersion = '2.0.3.RELEASE' + + idPrefix = 'smpp' } -dependencies { - compile "com.google.code:jsmpp:$jsmppVersion" - compile "org.slf4j:slf4j-log4j12:$slf4jVersion" - compile "commons-lang:commons-lang:$commonsLangVersion" - compile "commons-beanutils:commons-beanutils:$commonsBeanUtilsVersion" - compile "org.springframework.integration:spring-integration-core:$springIntegrationVersion" - compile "org.springframework.integration:spring-integration-ws:$springIntegrationVersion" - compile "org.springframework.integration:spring-integration-event:$springIntegrationVersion" - compile "org.springframework:spring-beans:$springVersion" - compile "org.springframework:spring-context:$springVersion" - compile "org.springframework:spring-context-support:$springVersion" - compile "org.springframework:spring-aop:$springVersion" - compile "org.springframework:spring-tx:$springVersion" - compile("org.codehaus.jackson:jackson-mapper-asl:$jacksonVersion", optional) - compile("org.springframework.amqp:spring-rabbit:$springAmqpVersion") { - exclude group: 'org.springframework', module: 'spring-aop' - exclude group: 'org.springframework', module: 'spring-beans' - exclude group: 'org.springframework', module: 'spring-context' - exclude group: 'org.springframework', module: 'spring-core' - exclude group: 'org.springframework', module: 'spring-oxm' - exclude group: 'org.springframework', module: 'spring-tx' - } - - testCompile "org.springframework.integration:spring-integration-test:$springIntegrationVersion" -} - - eclipse { project { natures += 'org.springframework.ide.eclipse.core.springnature' @@ -101,16 +59,19 @@ configurations { jacoco //Configuration Group used by Sonar to provide Code Coverage using JaCoCo } -// dependencies that are common across all java projects dependencies { - testCompile "cglib:cglib-nodep:$cglibVersion" + compile "com.googlecode.jsmpp:jsmpp:$jsmppVersion" + compile "org.slf4j:slf4j-log4j12:$slf4jVersion" + compile "commons-lang:commons-lang:$commonsLangVersion" + compile "commons-beanutils:commons-beanutils:$commonsBeanUtilsVersion" + compile "org.springframework.integration:spring-integration-core:$springIntegrationVersion" + compile "org.springframework.integration:spring-integration-core:$springIntegrationVersion" + testCompile "org.springframework.integration:spring-integration-test:$springIntegrationVersion" testCompile "junit:junit-dep:$junitVersion" testCompile "log4j:log4j:$log4jVersion" - testCompile "org.easymock:easymock:$easymockVersion" - testCompile "org.easymock:easymockclassextension:$easymockVersion" - testCompile "org.hamcrest:hamcrest-all:1.1" testCompile "org.mockito:mockito-all:$mockitoVersion" testCompile "org.springframework:spring-test:$springVersion" + testCompile "org.easymock:easymockclassextension:$easymockVersion" jacoco group: "org.jacoco", name: "org.jacoco.agent", version: "0.5.6.201201232323", classifier: "runtime" } @@ -181,19 +142,16 @@ sonar { task api(type: Javadoc) { group = 'Documentation' - description = 'Generates aggregated Javadoc API documentation.' + description = 'Generates the Javadoc API documentation.' title = "${rootProject.description} ${version} API" options.memberLevel = org.gradle.external.javadoc.JavadocMemberLevel.PROTECTED options.author = true options.header = rootProject.description options.overview = 'src/api/overview.html' - source subprojects.collect { project -> - project.sourceSets.main.allJava - } + + source = sourceSets.main.allJava + classpath = project.sourceSets.main.compileClasspath destinationDir = new File(buildDir, "api") - classpath = files(subprojects.collect { project -> - project.sourceSets.main.compileClasspath - }) } task schemaZip(type: Zip) { @@ -202,46 +160,41 @@ task schemaZip(type: Zip) { description = "Builds -${classifier} archive containing all " + "XSDs for deployment at static.springframework.org/schema." - subprojects.each { subproject -> - def Properties schemas = new Properties(); - def shortName = subproject.name.replaceFirst("${rootProject.name}-", '') - if (subproject.name.endsWith("-core")) { - shortName = '' + def Properties schemas = new Properties(); + def shortName = idPrefix.replaceFirst("${idPrefix}-", '') + + project.sourceSets.main.resources.find { + it.path.endsWith('META-INF/spring.schemas') + }?.withInputStream { schemas.load(it) } + + for (def key : schemas.keySet()) { + File xsdFile = project.sourceSets.main.resources.find { + it.path.endsWith(schemas.get(key)) } - - subproject.sourceSets.main.resources.find { - it.path.endsWith('META-INF/spring.schemas') - }?.withInputStream { schemas.load(it) } - - for (def key : schemas.keySet()) { - File xsdFile = subproject.sourceSets.main.resources.find { - it.path.endsWith(schemas.get(key)) - } - assert xsdFile != null - into ("integration/${shortName}") { - from xsdFile.path - } + assert xsdFile != null + into ("integration/${shortName}") { + from xsdFile.path } } } task docsZip(type: Zip) { - group = 'Distribution' - classifier = 'docs' - description = "Builds -${classifier} archive containing api and reference " + + group = 'Distribution' + classifier = 'docs' + description = "Builds -${classifier} archive containing api and reference " + "for deployment at static.springframework.org/spring-integration/docs." - from('src/dist') { - include 'changelog.txt' - } + from('src/dist') { + include 'changelog.txt' + } - from (api) { - into 'api' - } + from (api) { + into 'api' + } - from (reference) { - into 'reference' - } + from (reference) { + into 'reference' + } } task distZip(type: Zip, dependsOn: [docsZip, schemaZip]) { @@ -267,12 +220,10 @@ task distZip(type: Zip, dependsOn: [docsZip, schemaZip]) { into "${baseDir}/schema" } - subprojects.each { subproject -> - into ("${baseDir}/libs") { - from subproject.jar - from subproject.sourcesJar - from subproject.javadocJar - } + into ("${baseDir}/libs") { + from project.jar + from project.sourcesJar + from project.javadocJar } } @@ -288,14 +239,13 @@ task depsZip(type: Zip, dependsOn: distZip) { zipTask -> gradle.taskGraph.whenReady { taskGraph -> if (taskGraph.hasTask(":${zipTask.name}")) { - def projectNames = rootProject.subprojects*.name + def projectName = rootProject.name def artifacts = new HashSet() - subprojects.each { subproject -> - subproject.configurations.runtime.resolvedConfiguration.resolvedArtifacts.each { artifact -> - def dependency = artifact.moduleVersion.id - if (!projectNames.contains(dependency.name)) { - artifacts << artifact.file - } + + rootProject.configurations.runtime.resolvedConfiguration.resolvedArtifacts.each { artifact -> + def dependency = artifact.moduleVersion.id + if (!projectName.equals(dependency.name)) { + artifacts << artifact.file } } @@ -319,5 +269,5 @@ task dist(dependsOn: assemble) { task wrapper(type: Wrapper) { description = 'Generates gradlew[.bat] scripts' - gradleVersion = '1.0-rc-3' + gradleVersion = '1.3' } diff --git a/spring-integration-smpp/gradle/wrapper/gradle-wrapper.jar b/spring-integration-smpp/gradle/wrapper/gradle-wrapper.jar index 81dcde6..7b359d7 100644 Binary files a/spring-integration-smpp/gradle/wrapper/gradle-wrapper.jar and b/spring-integration-smpp/gradle/wrapper/gradle-wrapper.jar differ diff --git a/spring-integration-smpp/gradle/wrapper/gradle-wrapper.properties b/spring-integration-smpp/gradle/wrapper/gradle-wrapper.properties index c1f2517..6ebbb7b 100644 --- a/spring-integration-smpp/gradle/wrapper/gradle-wrapper.properties +++ b/spring-integration-smpp/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Thu Jun 07 23:46:26 EDT 2012 +#Tue Jan 08 17:13:07 EST 2013 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=http\://services.gradle.org/distributions/gradle-1.0-rc-3-bin.zip +distributionUrl=http\://services.gradle.org/distributions/gradle-1.3-bin.zip diff --git a/spring-integration-smpp/gradlew b/spring-integration-smpp/gradlew index cf12650..3851082 100755 --- a/spring-integration-smpp/gradlew +++ b/spring-integration-smpp/gradlew @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash ############################################################################## ## @@ -101,7 +101,7 @@ if [ "$cygwin" = "false" -a "$darwin" = "false" ] ; then warn "Could not set maximum file descriptor limit: $MAX_FD" fi else - warn "Could not query businessSystem maximum file descriptor limit: $MAX_FD_LIMIT" + warn "Could not query maximum file descriptor limit: $MAX_FD_LIMIT" fi fi diff --git a/spring-integration-smpp/gradlew.bat b/spring-integration-smpp/gradlew.bat index 8a0b282..aec9973 100644 --- a/spring-integration-smpp/gradlew.bat +++ b/spring-integration-smpp/gradlew.bat @@ -1,90 +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 +@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 diff --git a/spring-integration-smpp/src/main/java/org/springframework/integration/smpp/core/SmesMessageSpecification.java b/spring-integration-smpp/src/main/java/org/springframework/integration/smpp/core/SmesMessageSpecification.java index 05077b5..5d1ee2a 100644 --- a/spring-integration-smpp/src/main/java/org/springframework/integration/smpp/core/SmesMessageSpecification.java +++ b/spring-integration-smpp/src/main/java/org/springframework/integration/smpp/core/SmesMessageSpecification.java @@ -62,7 +62,7 @@ public class SmesMessageSpecification { mb.setHeader(SmppConstants.SMS, dsm); mb.setHeader(SmppConstants.REPLACE_IF_PRESENT, dsm.getReplaceIfPresent()); mb.setHeader(SmppConstants.SHORT_MESSAGE, dsm.getShortMessage()); - mb.setHeader(SmppConstants.OPTIONAL_PARAMETES, dsm.getOptionalParametes()); + mb.setHeader(SmppConstants.OPTIONAL_PARAMETERS, dsm.getOptionalParameters()); mb.setHeader(SmppConstants.UDHI_AND_REPLY_PATH, dsm.isUdhiAndReplyPath()); mb.setHeader(SmppConstants.VALIDITY_PERIOD, dsm.getValidityPeriod()); mb.setHeader(SmppConstants.COMMAND_LENGTH, dsm.getCommandLength()); @@ -157,8 +157,7 @@ public class SmesMessageSpecification { return (DataCoding)dc ; } if( dc instanceof Byte){ - return DataCoding.newInstance((Byte)dc); - + return DataCodings.newInstance((Byte)dc); } return null ; @@ -198,8 +197,6 @@ public class SmesMessageSpecification { * @param smppSession the SMPPSession instance against which we should work. * @see SmesMessageSpecification#SmesMessageSpecification() */ - - @SuppressWarnings("unused") SmesMessageSpecification(SMPPSession smppSession) { this.smppSession = smppSession; } @@ -244,7 +241,6 @@ public class SmesMessageSpecification { /** * use the builder API, but we need this to cleanly proxy */ - @SuppressWarnings("unused") SmesMessageSpecification() { this(null); } @@ -485,7 +481,6 @@ public class SmesMessageSpecification { * @param maxLengthSmsMessages the length of sms messages * @see #setShortTextMessage(String) */ - @SuppressWarnings("unused") public void setMaxLengthSmsMessages(int maxLengthSmsMessages) { this.maxLengthSmsMessages = maxLengthSmsMessages; } @@ -517,7 +512,7 @@ public class SmesMessageSpecification { validityPeriod = null; registeredDelivery = new RegisteredDelivery(SMSCDeliveryReceipt.DEFAULT); replaceIfPresentFlag = 0; - dataCoding = new GeneralDataCoding(false, true, MessageClass.CLASS1, Alphabet.ALPHA_DEFAULT); + dataCoding = new GeneralDataCoding(Alphabet.ALPHA_DEFAULT, MessageClass.CLASS1, false); smDefaultMsgId = 0; shortMessage = null; // the bytes to the 140 character text message smppSession = null; diff --git a/spring-integration-smpp/src/main/java/org/springframework/integration/smpp/core/SmppConstants.java b/spring-integration-smpp/src/main/java/org/springframework/integration/smpp/core/SmppConstants.java index 4c427c1..c5bed67 100644 --- a/spring-integration-smpp/src/main/java/org/springframework/integration/smpp/core/SmppConstants.java +++ b/spring-integration-smpp/src/main/java/org/springframework/integration/smpp/core/SmppConstants.java @@ -1,7 +1,7 @@ package org.springframework.integration.smpp.core; /** - * + * * * @author Josh Long */ @@ -48,5 +48,5 @@ public abstract class SmppConstants { public static final String SM_DEFAULT_MSG_ID = "SM_DEFAULT_MSG_ID"; public static final String REPLY_PATH = "REPLY_PATH"; public static final String DEST_ADDRESS = DST_ADDR; - public static final String OPTIONAL_PARAMETES = "OPTIONAL_PARAMETES"; + public static final String OPTIONAL_PARAMETERS = "OPTIONAL_PARAMETERS"; } diff --git a/spring-integration-smpp/src/main/resources/log4j.properties b/spring-integration-smpp/src/main/resources/log4j.properties deleted file mode 100644 index 2d4371d..0000000 --- a/spring-integration-smpp/src/main/resources/log4j.properties +++ /dev/null @@ -1,9 +0,0 @@ - -log4j.rootCategory=DEBUG, S -log4j.logger.org.w3c.tidy=FATAL -log4j.logger.org.springframework.integration.smpp=DEBUG -log4j.logger.org.jsmpp=DEBUG - -log4j.appender.S = org.apache.log4j.ConsoleAppender -log4j.appender.S.layout = org.apache.log4j.PatternLayout -log4j.appender.S.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} %c{1} [%p] %m%n diff --git a/spring-integration-smpp/src/main/resources/logback.xml b/spring-integration-smpp/src/main/resources/logback.xml deleted file mode 100644 index 93c9638..0000000 --- a/spring-integration-smpp/src/main/resources/logback.xml +++ /dev/null @@ -1,11 +0,0 @@ - - - - %d{HH:mm:ss,SSS} %-5level [%logger] %msg%n - - - - - - - \ No newline at end of file diff --git a/spring-integration-smpp/src/main/resources/todo.txt b/spring-integration-smpp/src/main/resources/todo.txt deleted file mode 100644 index 0d04ca0..0000000 --- a/spring-integration-smpp/src/main/resources/todo.txt +++ /dev/null @@ -1 +0,0 @@ -- figure out a clean way to furnish our own Executor implementation diff --git a/spring-integration-smpp/src/test/java/org/springframework/integration/smpp/TestSmppConnection.java b/spring-integration-smpp/src/test/java/org/springframework/integration/smpp/TestSmppConnection.java index 1e318a9..52b2ea0 100644 --- a/spring-integration-smpp/src/test/java/org/springframework/integration/smpp/TestSmppConnection.java +++ b/spring-integration-smpp/src/test/java/org/springframework/integration/smpp/TestSmppConnection.java @@ -69,7 +69,7 @@ public class TestSmppConnection { outboundChannel.send(messageOut); - Thread.sleep(60000); + Thread.sleep(5000); } diff --git a/spring-integration-smpp/src/test/java/org/springframework/integration/smpp/TestSmppInboundGateway.java b/spring-integration-smpp/src/test/java/org/springframework/integration/smpp/TestSmppInboundGateway.java index 99f55fd..15dd8cc 100644 --- a/spring-integration-smpp/src/test/java/org/springframework/integration/smpp/TestSmppInboundGateway.java +++ b/spring-integration-smpp/src/test/java/org/springframework/integration/smpp/TestSmppInboundGateway.java @@ -77,8 +77,6 @@ public class TestSmppInboundGateway { // launch the whole thing - - Thread.sleep(1000 * 10); Assert.assertEquals(this.count.intValue(),1); diff --git a/spring-integration-smpp/src/test/resources/TestSmppConnection-context.xml b/spring-integration-smpp/src/test/resources/TestSmppConnection-context.xml index 95a5cd5..6211653 100644 --- a/spring-integration-smpp/src/test/resources/TestSmppConnection-context.xml +++ b/spring-integration-smpp/src/test/resources/TestSmppConnection-context.xml @@ -1,46 +1,45 @@ - http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/integration http://www.springframework.org/schema/integration/spring-integration-2.0.xsd http://www.springframework.org/schema/integration/smpp http://www.springframework.org/schema/integration/smpp/spring-integration-smpp.xsd"> + + + + - + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - + diff --git a/spring-integration-smpp/src/test/resources/TestSmppInboundChannelAdapter-context.xml b/spring-integration-smpp/src/test/resources/TestSmppInboundChannelAdapter-context.xml index b091d5a..5e4cbac 100644 --- a/spring-integration-smpp/src/test/resources/TestSmppInboundChannelAdapter-context.xml +++ b/spring-integration-smpp/src/test/resources/TestSmppInboundChannelAdapter-context.xml @@ -1,60 +1,59 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns:int="http://www.springframework.org/schema/integration" + xmlns:context="http://www.springframework.org/schema/context" + xsi:schemaLocation=" + http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd + http://www.springframework.org/schema/integration http://www.springframework.org/schema/integration/spring-integration.xsd + http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> + + - - + + + + + + + + + - - - - - - - - - + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + diff --git a/spring-integration-smpp/src/test/resources/TestSmppInboundGateway-context.xml b/spring-integration-smpp/src/test/resources/TestSmppInboundGateway-context.xml index 8495da0..393c146 100644 --- a/spring-integration-smpp/src/test/resources/TestSmppInboundGateway-context.xml +++ b/spring-integration-smpp/src/test/resources/TestSmppInboundGateway-context.xml @@ -1,64 +1,56 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:int="http://www.springframework.org/schema/integration" + xmlns:context="http://www.springframework.org/schema/context" + xsi:schemaLocation=" + http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd + http://www.springframework.org/schema/integration http://www.springframework.org/schema/integration/spring-integration.xsd + http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> + + - - + + + + + + + + - - - - - - - - + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + diff --git a/spring-integration-smpp/src/test/resources/TestSmppOutboundChannelAdapter-context.xml b/spring-integration-smpp/src/test/resources/TestSmppOutboundChannelAdapter-context.xml index 59fc3e6..9377679 100644 --- a/spring-integration-smpp/src/test/resources/TestSmppOutboundChannelAdapter-context.xml +++ b/spring-integration-smpp/src/test/resources/TestSmppOutboundChannelAdapter-context.xml @@ -1,31 +1,33 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:int="http://www.springframework.org/schema/integration" + xmlns:context="http://www.springframework.org/schema/context" + xsi:schemaLocation=" + http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd + http://www.springframework.org/schema/integration http://www.springframework.org/schema/integration/spring-integration.xsd + http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> + + - - + + + + + + + - - - - - - - + + + - - - + - - - + diff --git a/spring-integration-smpp/src/test/resources/TestSmppOutboundGateway-context.xml b/spring-integration-smpp/src/test/resources/TestSmppOutboundGateway-context.xml index b4d368a..cf52360 100644 --- a/spring-integration-smpp/src/test/resources/TestSmppOutboundGateway-context.xml +++ b/spring-integration-smpp/src/test/resources/TestSmppOutboundGateway-context.xml @@ -1,31 +1,33 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:int="http://www.springframework.org/schema/integration" + xmlns:context="http://www.springframework.org/schema/context" + xsi:schemaLocation=" + http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd + http://www.springframework.org/schema/integration http://www.springframework.org/schema/integration/spring-integration.xsd + http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> + + - - + + + + + + + - - - - - - - + + + - - - + - - - + diff --git a/spring-integration-smpp/src/test/resources/TestSmppSessionFactoryBean-context.xml b/spring-integration-smpp/src/test/resources/TestSmppSessionFactoryBean-context.xml index a4d4bda..7672b5c 100644 --- a/spring-integration-smpp/src/test/resources/TestSmppSessionFactoryBean-context.xml +++ b/spring-integration-smpp/src/test/resources/TestSmppSessionFactoryBean-context.xml @@ -1,25 +1,23 @@ + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:int="http://www.springframework.org/schema/integration" + xmlns:context="http://www.springframework.org/schema/context" + xsi:schemaLocation=" + http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd + http://www.springframework.org/schema/integration http://www.springframework.org/schema/integration/spring-integration.xsd + http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> + - - - - - - - - - - - + + + + + + + + diff --git a/spring-integration-smpp/src/test/resources/log4j.properties b/spring-integration-smpp/src/test/resources/log4j.properties index 8fda257..67e6463 100644 --- a/spring-integration-smpp/src/test/resources/log4j.properties +++ b/spring-integration-smpp/src/test/resources/log4j.properties @@ -5,4 +5,4 @@ log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{HH:mm:ss.SSS} %-5p [%t][%c] %m%n log4j.category.org.springframework.integration=WARN -log4j.category.org.springframework.integration.jpa=INFO +log4j.category.org.springframework.integration.smpp=INFO diff --git a/spring-integration-smpp/src/test/resources/org/springframework/integration/smpp/config/xml/SmppInboundChannelAdapterParserTests.xml b/spring-integration-smpp/src/test/resources/org/springframework/integration/smpp/config/xml/SmppInboundChannelAdapterParserTests.xml index 24f3ce8..92e4c59 100644 --- a/spring-integration-smpp/src/test/resources/org/springframework/integration/smpp/config/xml/SmppInboundChannelAdapterParserTests.xml +++ b/spring-integration-smpp/src/test/resources/org/springframework/integration/smpp/config/xml/SmppInboundChannelAdapterParserTests.xml @@ -1,27 +1,24 @@ + http://www.springframework.org/schema/integration/smpp http://www.springframework.org/schema/integration/smpp/spring-integration-smpp.xsd"> - - - - - + + + + - + auto-startup="true" channel="out"> + diff --git a/spring-integration-smpp/src/test/resources/org/springframework/integration/smpp/config/xml/SmppInboundGatewayParserTests.xml b/spring-integration-smpp/src/test/resources/org/springframework/integration/smpp/config/xml/SmppInboundGatewayParserTests.xml index 39cda84..4d52410 100644 --- a/spring-integration-smpp/src/test/resources/org/springframework/integration/smpp/config/xml/SmppInboundGatewayParserTests.xml +++ b/spring-integration-smpp/src/test/resources/org/springframework/integration/smpp/config/xml/SmppInboundGatewayParserTests.xml @@ -1,55 +1,52 @@ + http://www.springframework.org/schema/integration/smpp http://www.springframework.org/schema/integration/smpp/spring-integration-smpp.xsd + http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> - - + + - - - + + + + + + + + + - - - - - - - - - - - - - - - - - - + + + + + + + + + diff --git a/spring-integration-smpp/src/test/resources/org/springframework/integration/smpp/config/xml/SmppOutboundChannelAdapterParserTests.xml b/spring-integration-smpp/src/test/resources/org/springframework/integration/smpp/config/xml/SmppOutboundChannelAdapterParserTests.xml index 9fe4782..7c736f8 100644 --- a/spring-integration-smpp/src/test/resources/org/springframework/integration/smpp/config/xml/SmppOutboundChannelAdapterParserTests.xml +++ b/spring-integration-smpp/src/test/resources/org/springframework/integration/smpp/config/xml/SmppOutboundChannelAdapterParserTests.xml @@ -1,40 +1,38 @@ + http://www.springframework.org/schema/integration/smpp http://www.springframework.org/schema/integration/smpp/spring-integration-smpp.xsd + http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> - - - - + + + + - - - + + + - + - - + + - + diff --git a/spring-integration-smpp/src/test/resources/org/springframework/integration/smpp/config/xml/SmppOutboundGatewayParserTests.xml b/spring-integration-smpp/src/test/resources/org/springframework/integration/smpp/config/xml/SmppOutboundGatewayParserTests.xml index 92b7757..1c68b0b 100644 --- a/spring-integration-smpp/src/test/resources/org/springframework/integration/smpp/config/xml/SmppOutboundGatewayParserTests.xml +++ b/spring-integration-smpp/src/test/resources/org/springframework/integration/smpp/config/xml/SmppOutboundGatewayParserTests.xml @@ -1,45 +1,42 @@ + http://www.springframework.org/schema/integration/smpp http://www.springframework.org/schema/integration/smpp/spring-integration-smpp.xsd + http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> - - + + - - + + - - - + + + - - - - - - - - + source-address="123456789" source-ton="NETWORK_SPECIFIC" order="17" + request-channel="in" reply-channel="out" reply-timeout="100" + time-formatter="timeFormatter"> + + + + + + + diff --git a/spring-integration-smpp/src/test/resources/readme.txt b/spring-integration-smpp/src/test/resources/readme.txt deleted file mode 100644 index 257aa28..0000000 --- a/spring-integration-smpp/src/test/resources/readme.txt +++ /dev/null @@ -1,10 +0,0 @@ -README - -you're going to need a good server to test with. I've found http://www.seleniumsoftware.com/regform.php?itemdesc=SMPPSim.tar.gz to work well. Simply download it, -cd into the folder and execute ./startsmppsim.(sh|bat). Make sure the script is executable. The coniguration for this simulator is in conf/smppsim.props - -Alternatively, the JSMPP project itself has an SMPP simulator as well. - -If you want to go the full nine yards, it's pretty easy to find full-blow SMPP servers like Kanell out there. - -http://www.techdive.in/java/send-sms-using-jsmpp diff --git a/spring-integration-smpp/src/test/resources/smpp.properties b/spring-integration-smpp/src/test/resources/smpp.properties index 60d313a..1628ffe 100644 --- a/spring-integration-smpp/src/test/resources/smpp.properties +++ b/spring-integration-smpp/src/test/resources/smpp.properties @@ -4,4 +4,4 @@ smpp.password=wpsd smpp.port=2775 -test.dst.number=123456 +test.dst.number=123456 \ No newline at end of file