CAMEL-20061: SMPP interface version can now be configured#11930
CAMEL-20061: SMPP interface version can now be configured#11930davsclaus merged 3 commits intoapache:mainfrom
Conversation
Interface Version functionality as supported by jSMPP is adopted with @UriParam configuration parameter. The default value (interface version 3.4) remains unchanged. The configuration value is parsed as String and converted to hex byte (which is used at protocol level) at a later stage when passed to jSMPP, as Camel does not support hexadecimal byte parsing from config values at this point. (I think the issue is in the Camel support component: the PropertyConfigurerSupport.class does not implement this case)
|
🌟 Thank you for your contribution to the Apache Camel project! 🌟 🤖 CI automation will test this PR automatically. 🐫 Apache Camel Committers, please review the following items:
|
oscerd
left a comment
There was a problem hiding this comment.
Minor findings, the logic is fine. We could have some troubles with docs generation
components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppConfiguration.java
Outdated
Show resolved
Hide resolved
components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppConfiguration.java
Outdated
Show resolved
Hide resolved
components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppConsumer.java
Outdated
Show resolved
Hide resolved
- Deleted redundant .md - Added short doc comment about the functionality - altered syntax in doc-relevant comment in configuration file
- replaced the SMPP protocol-level version codes 0x00, 0x33, 0x34, and 0x50 in the configuration String by "legacy", "3.3", "3.4", and "5.0", respectively
Interface Version functionality as supported by jSMPP is adopted with @UriParam configuration parameter. The default value (interface version 3.4) remains unchanged.
The configuration value is parsed as String and converted to hex byte (which is used at protocol level) at a later stage when passed to jSMPP, as Camel does not support hexadecimal byte parsing from config values at this point. (I think the issue is in the Camel support component: the PropertyConfigurerSupport.class does not implement this case)
Description
JIRA Ticket CAMEL-20061
The interface version of the SMPP protocol binding can now be specified via configuration parameter. The configuration paramter is simply passed to the underlying library jSMPP as input to the wrapper class BindParameter, which is used for the bind message to establish a connection to an SMSC.
The prior default value of SMPP v3.4 is retained as default value.
The SMPP protocol defines the bind parameter interface_version as hexadecimal byte. This implementation reads the 0xXX byte value as String, and converts it to byte when passed to jSMPP. This has been done because AFAIK the current implementation in the Camel support component the ProprtyConfigurerSupport.class seems not to support hexadecimal byte configurators.
Target
camel-3.x, whereas Camel 4 uses themainbranch)Tracking
Apache Camel coding standards and style
mvn clean install -DskipTestslocally and I have committed all auto-generated changes