Hi Christ,
Jira created. #CAMEL-6655.
I think I have messed up the code in my last post and revised the method as
below. Kindly check and advise if this can work.
/*
<p>Since it is vendor specified, so users must have the code and type,
therefore users should concatenate these information as a string
using a separator(":") and pass this in as the Entry's value
</p>
<p>Usage: Entry<String, String>
String key must equal
"VENDOR_SPECIFIC_OPTIONAL_PARAMETER"
String value should be "code:type:param_value"
*/
protected OptionalParameter generateVendorSpecificOptParam(Entry<String,
String> entry)
throws SecurityException, IllegalArgumentException,
IllegalAccessException{
OptionalParameter optParam = null ;
String valueStr = (String)entry.getValue() ;
String[] inputStr = valueStr.split(":", 3) ;
short code = Short.parseShort(inputStr[0]) ;
//code must fall inside the ranges specified in SMPP 3.4 specification
//0x1400 - 0x3FFF
if ( !(code >= 0x1400 or code <= 0x3FFF)
throw new IllegalArgumentException() ;
//type must be one of the defined Class and must be in uppercase
String type = inputStr[1] ;
if ( type.equals("OCTETSTRING") ){
optParam = new OptionalParameter.OctetString(code,
inputStr[2]) ;
}else if (type.equals("COCTETSTRING") ) {
optParam = new OptionalParameter.COctetString(code,
inputStr[2]) ;
}else if(type.equals("BYTE") ){
optParam = new OptionalParameter.Byte(code,
Byte.valueOf(inputStr[2])) ;
}else if (type.equals("INT") ){
optParam = new OptionalParameter.Int(code,
Integer.valueOf(inputStr[2]));
}else if (type.equals("SHORT") ) {
optParam = new OptionalParameter.Short(code,
Short.valueOf(inputStr[2]));
}else if (type.equals("NULL") )
optParam = new OptionalParameter.Null(code);
}else
throw new IllegualArgumentException() ;
}
return optParam ;
}
--
View this message in context:
http://camel.465427.n5.nabble.com/How-to-add-Vendor-Specific-Optional-Parameter-in-CamelSmppOptionalParameters-tp5737268p5737639.html
Sent from the Camel - Users mailing list archive at Nabble.com.