Updated Branches:
  refs/heads/camel-2.10.x e28ff6849 -> 8caf58427

CAMEL-6370: Populate all optional parameter for SubmitSm, SubmitMulti and 
DataSm to SMSC


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/8caf5842
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/8caf5842
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/8caf5842

Branch: refs/heads/camel-2.10.x
Commit: 8caf5842734c70010242d205887ffdb2bd88fca8
Parents: e28ff68
Author: cmueller <cmuel...@apache.org>
Authored: Thu May 30 23:03:40 2013 +0200
Committer: cmueller <cmuel...@apache.org>
Committed: Thu May 30 23:14:26 2013 +0200

----------------------------------------------------------------------
 .../camel/component/smpp/AbstractSmppCommand.java  |   54 +++++-
 .../apache/camel/component/smpp/SmppBinding.java   |    3 +-
 .../camel/component/smpp/SmppDataSmCommand.java    |   67 +++++-
 .../component/smpp/SmppSubmitMultiCommand.java     |   12 +-
 .../camel/component/smpp/SmppSubmitSmCommand.java  |   44 +----
 .../component/smpp/AbstractSmppCommandTest.java    |   13 +
 .../component/smpp/SmppDataSmCommandTest.java      |  171 +++++++++++++++
 .../component/smpp/SmppSubmitMultiCommandTest.java |  124 ++++++++---
 .../component/smpp/SmppSubmitSmCommandTest.java    |   21 +--
 9 files changed, 400 insertions(+), 109 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/8caf5842/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/AbstractSmppCommand.java
----------------------------------------------------------------------
diff --git 
a/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/AbstractSmppCommand.java
 
b/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/AbstractSmppCommand.java
index d37bead..54d93da 100644
--- 
a/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/AbstractSmppCommand.java
+++ 
b/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/AbstractSmppCommand.java
@@ -16,8 +16,18 @@
  */
 package org.apache.camel.component.smpp;
 
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Map.Entry;
+
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
+import org.jsmpp.bean.OptionalParameter;
+import org.jsmpp.bean.OptionalParameter.COctetString;
+import org.jsmpp.bean.OptionalParameter.OctetString;
+import org.jsmpp.bean.OptionalParameter.Tag;
 import org.jsmpp.session.SMPPSession;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -33,7 +43,7 @@ public abstract class AbstractSmppCommand implements 
SmppCommand {
         this.session = session;
         this.config = config;
     }
-    
+
     protected Message getResponseMessage(Exchange exchange) {
         Message message;
         if (exchange.getPattern().isOutCapable()) {
@@ -44,4 +54,46 @@ public abstract class AbstractSmppCommand implements 
SmppCommand {
         
         return message;
     }
+
+    @SuppressWarnings("rawtypes")
+    protected List<OptionalParameter> createOptionalParameters(Map<String, 
String> optinalParamaters) {
+        List<OptionalParameter> optParams = new ArrayList<OptionalParameter>();
+
+        for (Entry<String, String> entry : optinalParamaters.entrySet()) {
+            OptionalParameter optParam = null;
+
+            try {
+                Tag tag = Tag.valueOf(entry.getKey());
+                Class type = determineTypeClass(tag);
+
+                if (OctetString.class.equals(type)) {
+                    optParam = new OptionalParameter.OctetString(tag.code(), 
entry.getValue());
+                } else if (COctetString.class.equals(type)) {
+                    optParam = new OptionalParameter.COctetString(tag.code(), 
entry.getValue());
+                } else if 
(org.jsmpp.bean.OptionalParameter.Byte.class.equals(type)) {
+                    optParam = new OptionalParameter.Byte(tag.code(), 
Byte.valueOf(entry.getValue()));
+                } else if 
(org.jsmpp.bean.OptionalParameter.Int.class.equals(type)) {
+                    optParam = new OptionalParameter.Int(tag.code(), 
Integer.valueOf(entry.getValue()));
+                } else if 
(org.jsmpp.bean.OptionalParameter.Short.class.equals(type)) {
+                    optParam = new OptionalParameter.Short(tag.code(), 
Short.valueOf(entry.getValue()));
+                } else if 
(org.jsmpp.bean.OptionalParameter.Null.class.equals(type)) {
+                    optParam = new OptionalParameter.Null(tag);
+                }
+
+                optParams.add(optParam);
+            } catch (Exception e) {
+                log.info("Couldn't determine optional parameter for key {} and 
value {}. Skip this one.", entry.getKey(), entry.getValue());
+            }
+        }
+
+        return optParams;
+    }
+
+    @SuppressWarnings("unchecked")
+    protected Class<? extends OptionalParameter> determineTypeClass(Tag tag) 
throws SecurityException, NoSuchFieldException, IllegalArgumentException, 
IllegalAccessException {
+        // we have to use reflection because the type field is private
+        Field f = tag.getClass().getDeclaredField("type");
+        f.setAccessible(true);
+        return (Class<? extends OptionalParameter>) f.get(tag);
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/8caf5842/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppBinding.java
----------------------------------------------------------------------
diff --git 
a/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppBinding.java
 
b/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppBinding.java
index 94d1d9d..5c86c9c 100644
--- 
a/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppBinding.java
+++ 
b/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppBinding.java
@@ -134,8 +134,7 @@ public class SmppBinding {
                 if 
(SmppUtils.parseAlphabetFromDataCoding(deliverSm.getDataCoding()) == 
Alphabet.ALPHA_8_BIT) {
                     smppMessage.setBody(deliverSm.getShortMessage());
                 } else {
-                    smppMessage.setBody(String.valueOf(new 
String(deliverSm.getShortMessage(),
-                                                                  
configuration.getEncoding())));
+                    smppMessage.setBody(String.valueOf(new 
String(deliverSm.getShortMessage(), configuration.getEncoding())));
                 }
             } else if (deliverSm.getOptionalParametes() != null && 
deliverSm.getOptionalParametes().length > 0) {
                 List<OptionalParameter> oplist = 
Arrays.asList(deliverSm.getOptionalParametes());

http://git-wip-us.apache.org/repos/asf/camel/blob/8caf5842/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppDataSmCommand.java
----------------------------------------------------------------------
diff --git 
a/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppDataSmCommand.java
 
b/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppDataSmCommand.java
index 1ffd352..b33fa2a 100644
--- 
a/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppDataSmCommand.java
+++ 
b/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppDataSmCommand.java
@@ -16,12 +16,24 @@
  */
 package org.apache.camel.component.smpp;
 
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
 import org.jsmpp.bean.DataCoding;
 import org.jsmpp.bean.DataSm;
 import org.jsmpp.bean.ESMClass;
 import org.jsmpp.bean.NumberingPlanIndicator;
+import org.jsmpp.bean.OptionalParameter;
+import org.jsmpp.bean.OptionalParameter.Byte;
+import org.jsmpp.bean.OptionalParameter.COctetString;
+import org.jsmpp.bean.OptionalParameter.Int;
+import org.jsmpp.bean.OptionalParameter.Null;
+import org.jsmpp.bean.OptionalParameter.OctetString;
+import org.jsmpp.bean.OptionalParameter.Short;
+import org.jsmpp.bean.OptionalParameter.Tag;
 import org.jsmpp.bean.RegisteredDelivery;
 import org.jsmpp.bean.TypeOfNumber;
 import org.jsmpp.session.DataSmResult;
@@ -40,7 +52,7 @@ public class SmppDataSmCommand extends AbstractSmppCommand {
         if (log.isDebugEnabled()) {
             log.debug("Sending a data short message for exchange id '{}'...", 
exchange.getExchangeId());
         }
-        
+
         DataSmResult result;
         try {
             result = session.dataShortMessage(
@@ -53,7 +65,8 @@ public class SmppDataSmCommand extends AbstractSmppCommand {
                     dataSm.getDestAddress(),
                     new ESMClass(dataSm.getEsmClass()),
                     new RegisteredDelivery(dataSm.getRegisteredDelivery()),
-                    DataCoding.newInstance(dataSm.getDataCoding()));
+                    DataCoding.newInstance(dataSm.getDataCoding()),
+                    dataSm.getOptionalParametes());
         } catch (Exception e) {
             throw new SmppException(e);
         }
@@ -65,14 +78,44 @@ public class SmppDataSmCommand extends AbstractSmppCommand {
 
         Message message = getResponseMessage(exchange);
         message.setHeader(SmppConstants.ID, result.getMessageId());
+        message.setHeader(SmppConstants.OPTIONAL_PARAMETERS, 
getOptionalParametersAsMap(result.getOptionalParameters()));
     }
 
+    protected Map<String, String> 
getOptionalParametersAsMap(OptionalParameter[] optionalParameters) {
+        if (optionalParameters == null) {
+            return null;
+        }
+
+        Map<String, String> optParams = new HashMap<String, String>();
+        for (OptionalParameter optionalParameter : optionalParameters) {
+
+            String value = null;
+            if (optionalParameter instanceof COctetString) {
+                value = ((COctetString) optionalParameter).getValueAsString();
+            } else if (optionalParameter instanceof OctetString) {
+                value = ((OctetString) optionalParameter).getValueAsString();
+            } else if (optionalParameter instanceof Int) {
+                value = String.valueOf(((Int) optionalParameter).getValue());
+            } else if (optionalParameter instanceof Short) {
+                value = String.valueOf(((Short) optionalParameter).getValue());
+            } else if (optionalParameter instanceof Byte) {
+                value = String.valueOf(((Byte) optionalParameter).getValue());
+            } else if (optionalParameter instanceof Null) {
+                value = null;
+            }
+            optParams.put(Tag.valueOf(optionalParameter.tag).name(), value);
+        }
+
+        return optParams;
+    }
+
+    @SuppressWarnings({"unchecked"})
     protected DataSm createDataSm(Exchange exchange) {
         Message in = exchange.getIn();
         DataSm dataSm = new DataSm();
 
         if (in.getHeaders().containsKey(SmppConstants.DATA_CODING)) {
-            dataSm.setDataCoding(in.getHeader(SmppConstants.DATA_CODING, 
Byte.class));
+            dataSm.setDataCoding(in.getHeader(SmppConstants.DATA_CODING, 
java.lang.Byte.class));
         } else {
             dataSm.setDataCoding(config.getDataCoding());
         }
@@ -84,13 +127,13 @@ public class SmppDataSmCommand extends AbstractSmppCommand 
{
         }
 
         if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR_TON)) {
-            dataSm.setDestAddrTon(in.getHeader(SmppConstants.DEST_ADDR_TON, 
Byte.class));
+            dataSm.setDestAddrTon(in.getHeader(SmppConstants.DEST_ADDR_TON, 
java.lang.Byte.class));
         } else {
             dataSm.setDestAddrTon(config.getDestAddrTon());
         }
 
         if (in.getHeaders().containsKey(SmppConstants.DEST_ADDR_NPI)) {
-            dataSm.setDestAddrNpi(in.getHeader(SmppConstants.DEST_ADDR_NPI, 
Byte.class));
+            dataSm.setDestAddrNpi(in.getHeader(SmppConstants.DEST_ADDR_NPI, 
java.lang.Byte.class));
         } else {
             dataSm.setDestAddrNpi(config.getDestAddrNpi());
         }
@@ -102,13 +145,13 @@ public class SmppDataSmCommand extends 
AbstractSmppCommand {
         }
 
         if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_TON)) {
-            
dataSm.setSourceAddrTon(in.getHeader(SmppConstants.SOURCE_ADDR_TON, 
Byte.class));
+            
dataSm.setSourceAddrTon(in.getHeader(SmppConstants.SOURCE_ADDR_TON, 
java.lang.Byte.class));
         } else {
             dataSm.setSourceAddrTon(config.getSourceAddrTon());
         }
 
         if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_NPI)) {
-            
dataSm.setSourceAddrNpi(in.getHeader(SmppConstants.SOURCE_ADDR_NPI, 
Byte.class));
+            
dataSm.setSourceAddrNpi(in.getHeader(SmppConstants.SOURCE_ADDR_NPI, 
java.lang.Byte.class));
         } else {
             dataSm.setSourceAddrNpi(config.getSourceAddrNpi());
         }
@@ -120,11 +163,19 @@ public class SmppDataSmCommand extends 
AbstractSmppCommand {
         }
 
         if (in.getHeaders().containsKey(SmppConstants.REGISTERED_DELIVERY)) {
-            
dataSm.setRegisteredDelivery(in.getHeader(SmppConstants.REGISTERED_DELIVERY, 
Byte.class));
+            
dataSm.setRegisteredDelivery(in.getHeader(SmppConstants.REGISTERED_DELIVERY, 
java.lang.Byte.class));
         } else {
             dataSm.setRegisteredDelivery(config.getRegisteredDelivery());
         }
 
+        Map<String, String> optinalParamaters = 
in.getHeader(SmppConstants.OPTIONAL_PARAMETERS, Map.class);
+        if (optinalParamaters != null) {
+            List<OptionalParameter> optParams = 
createOptionalParameters(optinalParamaters);
+            dataSm.setOptionalParametes(optParams.toArray(new 
OptionalParameter[optParams.size()]));
+        } else {
+            dataSm.setOptionalParametes();
+        }
+
         return dataSm;
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/8caf5842/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitMultiCommand.java
----------------------------------------------------------------------
diff --git 
a/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitMultiCommand.java
 
b/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitMultiCommand.java
index 1d49bf6..00c8638 100644
--- 
a/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitMultiCommand.java
+++ 
b/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitMultiCommand.java
@@ -75,7 +75,7 @@ public class SmppSubmitMultiCommand extends SmppSmCommand {
                         DataCoding.newInstance(submitMulti.getDataCoding()),
                         submitMulti.getSmDefaultMsgId(),
                         submitMulti.getShortMessage(),
-                        new OptionalParameter[0]);
+                        submitMulti.getOptionalParameters());
                 results.add(result);
             } catch (Exception e) {
                 throw new SmppException(e);
@@ -145,7 +145,7 @@ public class SmppSubmitMultiCommand extends SmppSmCommand {
         return submitMulties;
     }
 
-    @SuppressWarnings("unchecked")
+    @SuppressWarnings({"unchecked"})
     protected SubmitMulti createSubmitMultiTemplate(Exchange exchange) {
         Message in = exchange.getIn();
         SubmitMulti submitMulti = new SubmitMulti();
@@ -246,6 +246,14 @@ public class SmppSubmitMultiCommand extends SmppSmCommand {
             
submitMulti.setReplaceIfPresentFlag(config.getReplaceIfPresentFlag());
         }
 
+        Map<String, String> optinalParamaters = 
in.getHeader(SmppConstants.OPTIONAL_PARAMETERS, Map.class);
+        if (optinalParamaters != null) {
+            List<OptionalParameter> optParams = 
createOptionalParameters(optinalParamaters);
+            submitMulti.setOptionalParameters(optParams.toArray(new 
OptionalParameter[optParams.size()]));
+        } else {
+            submitMulti.setOptionalParameters(new OptionalParameter[]{});
+        }
+
         return submitMulti;
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/8caf5842/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitSmCommand.java
----------------------------------------------------------------------
diff --git 
a/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitSmCommand.java
 
b/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitSmCommand.java
index bb630af..4a8166e 100644
--- 
a/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitSmCommand.java
+++ 
b/components/camel-smpp/src/main/java/org/apache/camel/component/smpp/SmppSubmitSmCommand.java
@@ -16,12 +16,10 @@
  */
 package org.apache.camel.component.smpp;
 
-import java.lang.reflect.Field;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
-import java.util.Map.Entry;
 
 import org.apache.camel.Exchange;
 import org.apache.camel.Message;
@@ -32,9 +30,6 @@ import org.jsmpp.bean.MessageMode;
 import org.jsmpp.bean.MessageType;
 import org.jsmpp.bean.NumberingPlanIndicator;
 import org.jsmpp.bean.OptionalParameter;
-import org.jsmpp.bean.OptionalParameter.COctetString;
-import org.jsmpp.bean.OptionalParameter.OctetString;
-import org.jsmpp.bean.OptionalParameter.Tag;
 import org.jsmpp.bean.RegisteredDelivery;
 import org.jsmpp.bean.SubmitSm;
 import org.jsmpp.bean.TypeOfNumber;
@@ -117,7 +112,7 @@ public class SmppSubmitSmCommand extends SmppSmCommand {
         return submitSms;
     }
 
-    @SuppressWarnings({ "rawtypes", "unchecked" })
+    @SuppressWarnings({"unchecked"})
     protected SubmitSm createSubmitSmTemplate(Exchange exchange) {
         Message in = exchange.getIn();
         SubmitSm submitSm = new SubmitSm();
@@ -213,34 +208,7 @@ public class SmppSubmitSmCommand extends SmppSmCommand {
 
         Map<String, String> optinalParamaters = 
in.getHeader(SmppConstants.OPTIONAL_PARAMETERS, Map.class);
         if (optinalParamaters != null) {
-            List<OptionalParameter> optParams = new 
ArrayList<OptionalParameter>();
-            for (Entry<String, String> entry : optinalParamaters.entrySet()) {
-                OptionalParameter optParam = null;
-
-                try {
-                    Tag tag = Tag.valueOf(entry.getKey());
-                    Class type = determineTypeClass(tag);
-    
-                    if (OctetString.class.equals(type)) {
-                        optParam = new 
OptionalParameter.OctetString(tag.code(), entry.getValue());
-                    } else if (COctetString.class.equals(type)) {
-                        optParam = new 
OptionalParameter.COctetString(tag.code(), entry.getValue());
-                    } else if 
(org.jsmpp.bean.OptionalParameter.Byte.class.equals(type)) {
-                        optParam = new OptionalParameter.Byte(tag.code(), 
Byte.valueOf(entry.getValue()));
-                    } else if 
(org.jsmpp.bean.OptionalParameter.Int.class.equals(type)) {
-                        optParam = new OptionalParameter.Int(tag.code(), 
Integer.valueOf(entry.getValue()));
-                    } else if 
(org.jsmpp.bean.OptionalParameter.Short.class.equals(type)) {
-                        optParam = new OptionalParameter.Short(tag.code(), 
Short.valueOf(entry.getValue()));
-                    } else if 
(org.jsmpp.bean.OptionalParameter.Null.class.equals(type)) {
-                        optParam = new OptionalParameter.Null(tag);
-                    }
-
-                    optParams.add(optParam);
-                } catch (Exception e) {
-                    log.info("Couldn't determine optional parameter for key {} 
and value {}. Skip this one.", entry.getKey(), entry.getValue());
-                }
-            }
-
+            List<OptionalParameter> optParams = 
createOptionalParameters(optinalParamaters);
             submitSm.setOptionalParametes(optParams.toArray(new 
OptionalParameter[optParams.size()]));
         } else {
             submitSm.setOptionalParametes();
@@ -248,12 +216,4 @@ public class SmppSubmitSmCommand extends SmppSmCommand {
 
         return submitSm;
     }
-
-    @SuppressWarnings("unchecked")
-    protected Class<? extends OptionalParameter> determineTypeClass(Tag tag) 
throws SecurityException, NoSuchFieldException, IllegalArgumentException, 
IllegalAccessException {
-        // we have to use reflection because the type field is private
-        Field f = tag.getClass().getDeclaredField("type");
-        f.setAccessible(true);
-        return (Class<? extends OptionalParameter>) f.get(tag);
-    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/8caf5842/components/camel-smpp/src/test/java/org/apache/camel/component/smpp/AbstractSmppCommandTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-smpp/src/test/java/org/apache/camel/component/smpp/AbstractSmppCommandTest.java
 
b/components/camel-smpp/src/test/java/org/apache/camel/component/smpp/AbstractSmppCommandTest.java
index 2bd5fc4..33c5d18 100644
--- 
a/components/camel-smpp/src/test/java/org/apache/camel/component/smpp/AbstractSmppCommandTest.java
+++ 
b/components/camel-smpp/src/test/java/org/apache/camel/component/smpp/AbstractSmppCommandTest.java
@@ -20,6 +20,9 @@ import org.apache.camel.Exchange;
 import org.apache.camel.ExchangePattern;
 import org.apache.camel.impl.DefaultCamelContext;
 import org.apache.camel.impl.DefaultExchange;
+import org.jsmpp.bean.OptionalParameter.COctetString;
+import org.jsmpp.bean.OptionalParameter.OctetString;
+import org.jsmpp.bean.OptionalParameter.Tag;
 import org.jsmpp.session.SMPPSession;
 import org.junit.Before;
 import org.junit.Test;
@@ -58,4 +61,14 @@ public class AbstractSmppCommandTest {
         assertSame(inOnlyExchange.getIn(), 
command.getResponseMessage(inOnlyExchange));
         assertSame(inOutExchange.getOut(), 
command.getResponseMessage(inOutExchange));
     }
+
+    @Test
+    public void determineTypeClass() throws Exception {
+        assertSame(OctetString.class, 
command.determineTypeClass(Tag.SOURCE_SUBADDRESS));
+        assertSame(COctetString.class, 
command.determineTypeClass(Tag.ADDITIONAL_STATUS_INFO_TEXT));
+        assertSame(org.jsmpp.bean.OptionalParameter.Byte.class, 
command.determineTypeClass(Tag.DEST_ADDR_SUBUNIT));
+        assertSame(org.jsmpp.bean.OptionalParameter.Short.class, 
command.determineTypeClass(Tag.DEST_TELEMATICS_ID));
+        assertSame(org.jsmpp.bean.OptionalParameter.Int.class, 
command.determineTypeClass(Tag.QOS_TIME_TO_LIVE));
+        assertSame(org.jsmpp.bean.OptionalParameter.Null.class, 
command.determineTypeClass(Tag.ALERT_ON_MESSAGE_DELIVERY));
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/8caf5842/components/camel-smpp/src/test/java/org/apache/camel/component/smpp/SmppDataSmCommandTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-smpp/src/test/java/org/apache/camel/component/smpp/SmppDataSmCommandTest.java
 
b/components/camel-smpp/src/test/java/org/apache/camel/component/smpp/SmppDataSmCommandTest.java
new file mode 100644
index 0000000..28714ec
--- /dev/null
+++ 
b/components/camel-smpp/src/test/java/org/apache/camel/component/smpp/SmppDataSmCommandTest.java
@@ -0,0 +1,171 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.component.smpp;
+
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.TimeZone;
+
+import org.apache.camel.Exchange;
+import org.apache.camel.ExchangePattern;
+import org.apache.camel.impl.DefaultCamelContext;
+import org.apache.camel.impl.DefaultExchange;
+import org.jsmpp.bean.DataCoding;
+import org.jsmpp.bean.ESMClass;
+import org.jsmpp.bean.NumberingPlanIndicator;
+import org.jsmpp.bean.OptionalParameter;
+import org.jsmpp.bean.OptionalParameter.Tag;
+import org.jsmpp.bean.RegisteredDelivery;
+import org.jsmpp.bean.SMSCDeliveryReceipt;
+import org.jsmpp.bean.TypeOfNumber;
+import org.jsmpp.session.DataSmResult;
+import org.jsmpp.session.SMPPSession;
+import org.jsmpp.util.MessageId;
+import org.junit.AfterClass;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import static org.easymock.EasyMock.createMock;
+import static org.easymock.EasyMock.eq;
+import static org.easymock.EasyMock.expect;
+import static org.easymock.EasyMock.replay;
+import static org.easymock.EasyMock.verify;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+
+public class SmppDataSmCommandTest {
+
+    private static TimeZone defaultTimeZone;
+
+    private SMPPSession session;
+    private SmppConfiguration config;
+    private SmppDataSmCommand command;
+
+    @BeforeClass
+    public static void setUpBeforeClass() {
+        defaultTimeZone = TimeZone.getDefault();
+        
+        TimeZone.setDefault(TimeZone.getTimeZone("GMT"));
+    }
+
+    @AfterClass
+    public static void tearDownAfterClass() {
+        if (defaultTimeZone != null) {
+            TimeZone.setDefault(defaultTimeZone);
+        }
+    }
+
+    @Before
+    public void setUp() {
+        session = createMock(SMPPSession.class);
+        config = new SmppConfiguration();
+
+        command = new SmppDataSmCommand(session, config);
+    }
+
+    @Test
+    public void executeWithConfigurationData() throws Exception {
+        Exchange exchange = new DefaultExchange(new DefaultCamelContext(), 
ExchangePattern.InOut);
+        exchange.getIn().setHeader(SmppConstants.COMMAND, "DataSm");
+        expect(session.dataShortMessage(eq("CMT"), eq(TypeOfNumber.UNKNOWN), 
eq(NumberingPlanIndicator.UNKNOWN), eq("1616"),
+                eq(TypeOfNumber.UNKNOWN), eq(NumberingPlanIndicator.UNKNOWN), 
eq("1717"), eq(new ESMClass()),
+                eq(new RegisteredDelivery((byte) 1)), 
eq(DataCoding.newInstance((byte) 0))))
+            .andReturn(new DataSmResult(new MessageId("1"), null));
+
+        replay(session);
+
+        command.execute(exchange);
+
+        verify(session);
+
+        assertEquals("1", exchange.getOut().getHeader(SmppConstants.ID));
+        
assertNull(exchange.getOut().getHeader(SmppConstants.OPTIONAL_PARAMETERS));
+    }
+
+    @Test
+    public void execute() throws Exception {
+        Exchange exchange = new DefaultExchange(new DefaultCamelContext(), 
ExchangePattern.InOut);
+        exchange.getIn().setHeader(SmppConstants.COMMAND, "DataSm");
+        exchange.getIn().setHeader(SmppConstants.SERVICE_TYPE, "XXX");
+        exchange.getIn().setHeader(SmppConstants.SOURCE_ADDR_TON, 
TypeOfNumber.NATIONAL.value());
+        exchange.getIn().setHeader(SmppConstants.SOURCE_ADDR_NPI, 
NumberingPlanIndicator.NATIONAL.value());
+        exchange.getIn().setHeader(SmppConstants.SOURCE_ADDR, "1818");
+        exchange.getIn().setHeader(SmppConstants.DEST_ADDR_TON, 
TypeOfNumber.INTERNATIONAL.value());
+        exchange.getIn().setHeader(SmppConstants.DEST_ADDR_NPI, 
NumberingPlanIndicator.INTERNET.value());
+        exchange.getIn().setHeader(SmppConstants.DEST_ADDR, "1919");
+        exchange.getIn().setHeader(SmppConstants.REGISTERED_DELIVERY, new 
RegisteredDelivery(SMSCDeliveryReceipt.SUCCESS).value());
+        expect(session.dataShortMessage(eq("XXX"), eq(TypeOfNumber.NATIONAL), 
eq(NumberingPlanIndicator.NATIONAL), eq("1818"),
+                eq(TypeOfNumber.INTERNATIONAL), 
eq(NumberingPlanIndicator.INTERNET), eq("1919"), eq(new ESMClass()),
+                eq(new RegisteredDelivery((byte) 2)), 
eq(DataCoding.newInstance((byte) 0))))
+            .andReturn(new DataSmResult(new MessageId("1"), null));
+
+        replay(session);
+
+        command.execute(exchange);
+
+        verify(session);
+
+        assertEquals("1", exchange.getOut().getHeader(SmppConstants.ID));
+        
assertNull(exchange.getOut().getHeader(SmppConstants.OPTIONAL_PARAMETERS));
+    }
+
+    @SuppressWarnings("unchecked")
+    @Test
+    public void executeWithOptionalParameter() throws Exception {
+        Exchange exchange = new DefaultExchange(new DefaultCamelContext(), 
ExchangePattern.InOut);
+        exchange.getIn().setHeader(SmppConstants.COMMAND, "DataSm");
+        Map<String, String> optionalParameters = new LinkedHashMap<String, 
String>();
+        optionalParameters.put("SOURCE_SUBADDRESS", "1292");
+        optionalParameters.put("ADDITIONAL_STATUS_INFO_TEXT", "urgent");
+        optionalParameters.put("DEST_ADDR_SUBUNIT", "4");
+        optionalParameters.put("DEST_TELEMATICS_ID", "2");
+        optionalParameters.put("QOS_TIME_TO_LIVE", "3600000");
+        optionalParameters.put("ALERT_ON_MESSAGE_DELIVERY", null);
+        exchange.getIn().setHeader(SmppConstants.OPTIONAL_PARAMETERS, 
optionalParameters);
+        expect(session.dataShortMessage(eq("CMT"), eq(TypeOfNumber.UNKNOWN), 
eq(NumberingPlanIndicator.UNKNOWN), eq("1616"),
+                eq(TypeOfNumber.UNKNOWN), eq(NumberingPlanIndicator.UNKNOWN), 
eq("1717"), eq(new ESMClass()),
+                eq(new RegisteredDelivery((byte) 1)), 
eq(DataCoding.newInstance((byte) 0)),
+                eq(new OptionalParameter.OctetString(Tag.SOURCE_SUBADDRESS, 
"1292")),
+                eq(new 
OptionalParameter.COctetString(Tag.ADDITIONAL_STATUS_INFO_TEXT.code(), 
"urgent")),
+                eq(new OptionalParameter.Byte(Tag.DEST_ADDR_SUBUNIT, (byte) 
4)),
+                eq(new OptionalParameter.Short(Tag.DEST_TELEMATICS_ID.code(), 
(short) 2)),
+                eq(new OptionalParameter.Int(Tag.QOS_TIME_TO_LIVE, 3600000)),
+                eq(new OptionalParameter.Null(Tag.ALERT_ON_MESSAGE_DELIVERY))))
+            .andReturn(new DataSmResult(new MessageId("1"), new 
OptionalParameter[]{
+                new OptionalParameter.OctetString(Tag.SOURCE_SUBADDRESS, 
"1292"), new 
OptionalParameter.COctetString(Tag.ADDITIONAL_STATUS_INFO_TEXT.code(), 
"urgent"),
+                new OptionalParameter.Byte(Tag.DEST_ADDR_SUBUNIT, (byte) 4), 
new OptionalParameter.Short(Tag.DEST_TELEMATICS_ID.code(), (short) 2),
+                new OptionalParameter.Int(Tag.QOS_TIME_TO_LIVE, 3600000), new 
OptionalParameter.Null(Tag.ALERT_ON_MESSAGE_DELIVERY)}));
+
+        replay(session);
+
+        command.execute(exchange);
+
+        verify(session);
+
+        assertEquals("1", exchange.getOut().getHeader(SmppConstants.ID));
+        Map<String, String> optParamMap = 
exchange.getOut().getHeader(SmppConstants.OPTIONAL_PARAMETERS, Map.class);
+        assertEquals(6, optParamMap.size());
+        assertEquals("1292", optParamMap.get("SOURCE_SUBADDRESS"));
+        // FIXME: fix required in JSMPP. See 
http://code.google.com/p/jsmpp/issues/detail?id=140
+        //assertEquals("urgent", 
optParamMap.get("ADDITIONAL_STATUS_INFO_TEXT"));
+        assertEquals("4", optParamMap.get("DEST_ADDR_SUBUNIT"));
+        assertEquals("2", optParamMap.get("DEST_TELEMATICS_ID"));
+        assertEquals("3600000", optParamMap.get("QOS_TIME_TO_LIVE"));
+        assertNull(optParamMap.get("ALERT_ON_MESSAGE_DELIVERY"));
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/8caf5842/components/camel-smpp/src/test/java/org/apache/camel/component/smpp/SmppSubmitMultiCommandTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-smpp/src/test/java/org/apache/camel/component/smpp/SmppSubmitMultiCommandTest.java
 
b/components/camel-smpp/src/test/java/org/apache/camel/component/smpp/SmppSubmitMultiCommandTest.java
index 3dc74e5..01e24de 100644
--- 
a/components/camel-smpp/src/test/java/org/apache/camel/component/smpp/SmppSubmitMultiCommandTest.java
+++ 
b/components/camel-smpp/src/test/java/org/apache/camel/component/smpp/SmppSubmitMultiCommandTest.java
@@ -18,6 +18,8 @@ package org.apache.camel.component.smpp;
 
 import java.util.Arrays;
 import java.util.Date;
+import java.util.LinkedHashMap;
+import java.util.Map;
 import java.util.TimeZone;
 
 import org.apache.camel.Exchange;
@@ -30,6 +32,7 @@ import org.jsmpp.bean.DataCoding;
 import org.jsmpp.bean.ESMClass;
 import org.jsmpp.bean.NumberingPlanIndicator;
 import org.jsmpp.bean.OptionalParameter;
+import org.jsmpp.bean.OptionalParameter.Tag;
 import org.jsmpp.bean.RegisteredDelivery;
 import org.jsmpp.bean.ReplaceIfPresentFlag;
 import org.jsmpp.bean.SMSCDeliveryReceipt;
@@ -54,27 +57,27 @@ import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 
 public class SmppSubmitMultiCommandTest {
-    
+
     private static TimeZone defaultTimeZone;
 
     private SMPPSession session;
     private SmppConfiguration config;
     private SmppSubmitMultiCommand command;
-    
+
     @BeforeClass
     public static void setUpBeforeClass() {
         defaultTimeZone = TimeZone.getDefault();
         
         TimeZone.setDefault(TimeZone.getTimeZone("GMT"));
     }
-    
+
     @AfterClass
     public static void tearDownAfterClass() {
         if (defaultTimeZone != null) {
             TimeZone.setDefault(defaultTimeZone);            
         }
     }
-    
+
     @Before
     public void setUp() {
         session = createMock(SMPPSession.class);
@@ -82,7 +85,7 @@ public class SmppSubmitMultiCommandTest {
         
         command = new SmppSubmitMultiCommand(session, config);
     }
-    
+
     @Test
     public void executeWithConfigurationData() throws Exception {
         Exchange exchange = new DefaultExchange(new DefaultCamelContext(), 
ExchangePattern.InOut);
@@ -95,18 +98,18 @@ public class SmppSubmitMultiCommandTest {
                 eq(ReplaceIfPresentFlag.DEFAULT), 
eq(DataCoding.newInstance((byte) 0)), eq((byte) 0), aryEq("short message 
body".getBytes()),
                 aryEq(new OptionalParameter[0])))
                 .andReturn(new SubmitMultiResult("1", new 
UnsuccessDelivery(new Address(TypeOfNumber.UNKNOWN, 
NumberingPlanIndicator.UNKNOWN, "1717"), 0)));
-        
+
         replay(session);
-        
+
         command.execute(exchange);
-        
+
         verify(session);
-        
+
         assertEquals(Arrays.asList("1"), 
exchange.getOut().getHeader(SmppConstants.ID));
         assertEquals(1, 
exchange.getOut().getHeader(SmppConstants.SENT_MESSAGE_COUNT));
         assertNotNull(exchange.getOut().getHeader(SmppConstants.ERROR));
     }
-    
+
     @Test
     public void execute() throws Exception {
         Exchange exchange = new DefaultExchange(new DefaultCamelContext(), 
ExchangePattern.InOut);
@@ -131,18 +134,18 @@ public class SmppSubmitMultiCommandTest {
                 eq(ReplaceIfPresentFlag.REPLACE), 
eq(DataCoding.newInstance((byte) 0)), eq((byte) 0), aryEq("short message 
body".getBytes()),
                 aryEq(new OptionalParameter[0])))
                 .andReturn(new SubmitMultiResult("1"));
-        
+
         replay(session);
-        
+
         command.execute(exchange);
-        
+
         verify(session);
-        
+
         assertEquals(Arrays.asList("1"), 
exchange.getOut().getHeader(SmppConstants.ID));
         assertEquals(1, 
exchange.getOut().getHeader(SmppConstants.SENT_MESSAGE_COUNT));
         assertNull(exchange.getOut().getHeader(SmppConstants.ERROR));
     }
-    
+
     @Test
     public void executeWithValidityPeriodAsString() throws Exception {
         Exchange exchange = new DefaultExchange(new DefaultCamelContext(), 
ExchangePattern.InOut);
@@ -167,13 +170,13 @@ public class SmppSubmitMultiCommandTest {
                 eq(ReplaceIfPresentFlag.REPLACE), 
eq(DataCoding.newInstance((byte) 0)), eq((byte) 0), aryEq("short message 
body".getBytes()),
                 aryEq(new OptionalParameter[0])))
                 .andReturn(new SubmitMultiResult("1"));
-        
+
         replay(session);
-        
+
         command.execute(exchange);
-        
+
         verify(session);
-        
+
         assertEquals(Arrays.asList("1"), 
exchange.getOut().getHeader(SmppConstants.ID));
         assertEquals(1, 
exchange.getOut().getHeader(SmppConstants.SENT_MESSAGE_COUNT));
         assertNull(exchange.getOut().getHeader(SmppConstants.ERROR));
@@ -212,11 +215,11 @@ public class SmppSubmitMultiCommandTest {
                                       aryEq(bodyNarrowed),
                                       aryEq(new OptionalParameter[0])))
             .andReturn(new SubmitMultiResult("1"));
-        
+
         replay(session);
-        
+
         command.execute(exchange);
-        
+
         verify(session);
     }
 
@@ -253,11 +256,11 @@ public class SmppSubmitMultiCommandTest {
                                       aryEq(bodyNarrowed),
                                       aryEq(new OptionalParameter[0])))
             .andReturn(new SubmitMultiResult("1"));
-        
+
         replay(session);
-        
+
         command.execute(exchange);
-        
+
         verify(session);
     }
 
@@ -293,11 +296,11 @@ public class SmppSubmitMultiCommandTest {
                                       aryEq(body),
                                       aryEq(new OptionalParameter[0])))
             .andReturn(new SubmitMultiResult("1"));
-        
+
         replay(session);
-        
+
         command.execute(exchange);
-        
+
         verify(session);
     }
 
@@ -333,11 +336,11 @@ public class SmppSubmitMultiCommandTest {
                                       aryEq(body),
                                       aryEq(new OptionalParameter[0])))
             .andReturn(new SubmitMultiResult("1"));
-        
+
         replay(session);
-        
+
         command.execute(exchange);
-        
+
         verify(session);
     }
 
@@ -374,11 +377,11 @@ public class SmppSubmitMultiCommandTest {
                                       aryEq(body),
                                       aryEq(new OptionalParameter[0])))
             .andReturn(new SubmitMultiResult("1"));
-        
+
         replay(session);
-        
+
         command.execute(exchange);
-        
+
         verify(session);
     }
 
@@ -416,11 +419,58 @@ public class SmppSubmitMultiCommandTest {
                                       aryEq(bodyNarrowed),
                                       aryEq(new OptionalParameter[0])))
             .andReturn(new SubmitMultiResult("1"));
-        
+
         replay(session);
-        
+
         command.execute(exchange);
-        
+
+        verify(session);
+    }
+
+    @Test
+    public void executeWithOptionalParameter() throws Exception {
+        Exchange exchange = new DefaultExchange(new DefaultCamelContext(), 
ExchangePattern.InOut);
+        exchange.getIn().setHeader(SmppConstants.COMMAND, "SubmitMulti");
+        exchange.getIn().setHeader(SmppConstants.ID, "1");
+        exchange.getIn().setHeader(SmppConstants.SOURCE_ADDR_TON, 
TypeOfNumber.NATIONAL.value());
+        exchange.getIn().setHeader(SmppConstants.SOURCE_ADDR_NPI, 
NumberingPlanIndicator.NATIONAL.value());
+        exchange.getIn().setHeader(SmppConstants.SOURCE_ADDR, "1818");
+        exchange.getIn().setHeader(SmppConstants.DEST_ADDR_TON, 
TypeOfNumber.INTERNATIONAL.value());
+        exchange.getIn().setHeader(SmppConstants.DEST_ADDR_NPI, 
NumberingPlanIndicator.INTERNET.value());
+        exchange.getIn().setHeader(SmppConstants.DEST_ADDR, 
Arrays.asList("1919"));
+        exchange.getIn().setHeader(SmppConstants.SCHEDULE_DELIVERY_TIME, new 
Date(1111111));
+        exchange.getIn().setHeader(SmppConstants.VALIDITY_PERIOD, new 
Date(2222222));
+        exchange.getIn().setHeader(SmppConstants.PROTOCOL_ID, (byte) 1);
+        exchange.getIn().setHeader(SmppConstants.PRIORITY_FLAG, (byte) 2);
+        exchange.getIn().setHeader(SmppConstants.REGISTERED_DELIVERY, new 
RegisteredDelivery(SMSCDeliveryReceipt.SUCCESS).value());
+        exchange.getIn().setHeader(SmppConstants.REPLACE_IF_PRESENT_FLAG, 
ReplaceIfPresentFlag.REPLACE.value());
+        Map<String, String> optionalParameters = new LinkedHashMap<String, 
String>();
+        optionalParameters.put("SOURCE_SUBADDRESS", "1292");
+        optionalParameters.put("ADDITIONAL_STATUS_INFO_TEXT", "urgent");
+        optionalParameters.put("DEST_ADDR_SUBUNIT", "4");
+        optionalParameters.put("DEST_TELEMATICS_ID", "2");
+        optionalParameters.put("QOS_TIME_TO_LIVE", "3600000");
+        optionalParameters.put("ALERT_ON_MESSAGE_DELIVERY", null);
+        exchange.getIn().setHeader(SmppConstants.OPTIONAL_PARAMETERS, 
optionalParameters);
+        exchange.getIn().setBody("short message body");
+        expect(session.submitMultiple(eq("CMT"), eq(TypeOfNumber.NATIONAL), 
eq(NumberingPlanIndicator.NATIONAL), eq("1818"),
+                aryEq(new Address[]{new Address(TypeOfNumber.INTERNATIONAL, 
NumberingPlanIndicator.INTERNET, "1919")}),
+                eq(new ESMClass()), eq((byte) 1), eq((byte) 2), 
eq("-300101001831100-"), eq("-300101003702200-"), eq(new 
RegisteredDelivery(SMSCDeliveryReceipt.SUCCESS)),
+                eq(ReplaceIfPresentFlag.REPLACE), 
eq(DataCoding.newInstance((byte) 0)), eq((byte) 0), aryEq("short message 
body".getBytes()),
+                aryEq(new OptionalParameter[]{new 
OptionalParameter.OctetString(Tag.SOURCE_SUBADDRESS, "1292"),
+                    new 
OptionalParameter.COctetString(Tag.ADDITIONAL_STATUS_INFO_TEXT.code(), 
"urgent"), new OptionalParameter.Byte(Tag.DEST_ADDR_SUBUNIT, (byte) 4),
+                    new OptionalParameter.Short(Tag.DEST_TELEMATICS_ID.code(), 
(short) 2), new OptionalParameter.Int(Tag.QOS_TIME_TO_LIVE, 3600000),
+                    new 
OptionalParameter.Null(Tag.ALERT_ON_MESSAGE_DELIVERY)})))
+                .andReturn(new SubmitMultiResult("1"));
+
+        replay(session);
+
+        command.execute(exchange);
+
         verify(session);
+
+        assertEquals(Arrays.asList("1"), 
exchange.getOut().getHeader(SmppConstants.ID));
+        assertEquals(1, 
exchange.getOut().getHeader(SmppConstants.SENT_MESSAGE_COUNT));
+        assertNull(exchange.getOut().getHeader(SmppConstants.ERROR));
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/camel/blob/8caf5842/components/camel-smpp/src/test/java/org/apache/camel/component/smpp/SmppSubmitSmCommandTest.java
----------------------------------------------------------------------
diff --git 
a/components/camel-smpp/src/test/java/org/apache/camel/component/smpp/SmppSubmitSmCommandTest.java
 
b/components/camel-smpp/src/test/java/org/apache/camel/component/smpp/SmppSubmitSmCommandTest.java
index 22d9ecb..e13d0c0 100644
--- 
a/components/camel-smpp/src/test/java/org/apache/camel/component/smpp/SmppSubmitSmCommandTest.java
+++ 
b/components/camel-smpp/src/test/java/org/apache/camel/component/smpp/SmppSubmitSmCommandTest.java
@@ -31,8 +31,6 @@ import org.jsmpp.bean.DataCoding;
 import org.jsmpp.bean.ESMClass;
 import org.jsmpp.bean.NumberingPlanIndicator;
 import org.jsmpp.bean.OptionalParameter;
-import org.jsmpp.bean.OptionalParameter.COctetString;
-import org.jsmpp.bean.OptionalParameter.OctetString;
 import org.jsmpp.bean.OptionalParameter.Tag;
 import org.jsmpp.bean.RegisteredDelivery;
 import org.jsmpp.bean.ReplaceIfPresentFlag;
@@ -46,15 +44,14 @@ import org.junit.Ignore;
 import org.junit.Test;
 
 import static org.easymock.EasyMock.aryEq;
+import static org.easymock.EasyMock.createMock;
 import static org.easymock.EasyMock.eq;
 import static org.easymock.EasyMock.expect;
 import static org.easymock.EasyMock.isNull;
 import static org.easymock.EasyMock.not;
-import static org.easymock.classextension.EasyMock.createMock;
-import static org.easymock.classextension.EasyMock.replay;
-import static org.easymock.classextension.EasyMock.verify;
+import static org.easymock.EasyMock.replay;
+import static org.easymock.EasyMock.verify;
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertSame;
 
 public class SmppSubmitSmCommandTest {
 
@@ -74,7 +71,7 @@ public class SmppSubmitSmCommandTest {
     @AfterClass
     public static void tearDownAfterClass() {
         if (defaultTimeZone != null) {
-            TimeZone.setDefault(defaultTimeZone);            
+            TimeZone.setDefault(defaultTimeZone);
         }
     }
 
@@ -492,14 +489,4 @@ public class SmppSubmitSmCommandTest {
 
         verify(session);
     }
-
-    @Test
-    public void determineTypeClass() throws Exception {
-        assertSame(OctetString.class, 
command.determineTypeClass(Tag.SOURCE_SUBADDRESS));
-        assertSame(COctetString.class, 
command.determineTypeClass(Tag.ADDITIONAL_STATUS_INFO_TEXT));
-        assertSame(org.jsmpp.bean.OptionalParameter.Byte.class, 
command.determineTypeClass(Tag.DEST_ADDR_SUBUNIT));
-        assertSame(org.jsmpp.bean.OptionalParameter.Short.class, 
command.determineTypeClass(Tag.DEST_TELEMATICS_ID));
-        assertSame(org.jsmpp.bean.OptionalParameter.Int.class, 
command.determineTypeClass(Tag.QOS_TIME_TO_LIVE));
-        assertSame(org.jsmpp.bean.OptionalParameter.Null.class, 
command.determineTypeClass(Tag.ALERT_ON_MESSAGE_DELIVERY));
-    }
 }
\ No newline at end of file

Reply via email to