Search in sources :

Example 1 with MessageId

use of org.jsmpp.util.MessageId in project camel by apache.

the class MessageReceiverListenerImpl method onAcceptDataSm.

public DataSmResult onAcceptDataSm(DataSm dataSm, Session session) throws ProcessRequestException {
    LOG.debug("Received a dataSm {}", dataSm);
    MessageId newMessageId = messageIDGenerator.newMessageId();
    Exchange exchange = endpoint.createOnAcceptDataSm(dataSm, newMessageId.getValue());
    try {
        processor.process(exchange);
    } catch (Exception e) {
        exchange.setException(e);
    }
    if (exchange.getException() != null) {
        ProcessRequestException pre = exchange.getException(ProcessRequestException.class);
        if (pre == null) {
            pre = new ProcessRequestException(exchange.getException().getMessage(), 255, exchange.getException());
        }
        throw pre;
    }
    return new DataSmResult(newMessageId, dataSm.getOptionalParameters());
}
Also used : Exchange(org.apache.camel.Exchange) DataSmResult(org.jsmpp.session.DataSmResult) ProcessRequestException(org.jsmpp.extra.ProcessRequestException) ProcessRequestException(org.jsmpp.extra.ProcessRequestException) MessageId(org.jsmpp.util.MessageId)

Example 2 with MessageId

use of org.jsmpp.util.MessageId in project camel by apache.

the class SmppDataSmCommandTest method executeWithOptionalParameter.

@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);
    // fall back test for vendor specific optional parameter 
    optionalParameters.put("0x2150", "0815");
    optionalParameters.put("0x2151", "0816");
    optionalParameters.put("0x2152", "6");
    optionalParameters.put("0x2153", "9");
    optionalParameters.put("0x2154", "7400000");
    optionalParameters.put("0x2155", 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(DataCodings.newInstance((byte) 0)), eq(new OptionalParameter.Source_subaddress("1292".getBytes())), eq(new OptionalParameter.Additional_status_info_text("urgent")), eq(new OptionalParameter.Dest_addr_subunit((byte) 4)), eq(new OptionalParameter.Dest_telematics_id((short) 2)), eq(new OptionalParameter.Qos_time_to_live(3600000)), eq(new OptionalParameter.Alert_on_message_delivery((byte) 0)))).andReturn(new DataSmResult(new MessageId("1"), new OptionalParameter[] { new OptionalParameter.Source_subaddress("1292".getBytes()), new OptionalParameter.Additional_status_info_text("urgent"), new OptionalParameter.Dest_addr_subunit((byte) 4), new OptionalParameter.Dest_telematics_id((short) 2), new OptionalParameter.Qos_time_to_live(3600000), new OptionalParameter.Alert_on_message_delivery((byte) 0) }));
    replay(session);
    command.execute(exchange);
    verify(session);
    assertEquals(3, exchange.getOut().getHeaders().size());
    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"));
    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"));
    assertEquals("0", optParamMap.get("ALERT_ON_MESSAGE_DELIVERY"));
    Map<Short, Object> optionalResultParameter = exchange.getOut().getHeader(SmppConstants.OPTIONAL_PARAMETER, Map.class);
    assertEquals(6, optionalResultParameter.size());
    assertArrayEquals("1292".getBytes("UTF-8"), (byte[]) optionalResultParameter.get(Short.valueOf((short) 0x0202)));
    assertEquals("urgent", optionalResultParameter.get(Short.valueOf((short) 0x001D)));
    assertEquals(Byte.valueOf((byte) 4), optionalResultParameter.get(Short.valueOf((short) 0x0005)));
    assertEquals(Short.valueOf((short) 2), optionalResultParameter.get(Short.valueOf((short) 0x0008)));
    assertEquals(Integer.valueOf(3600000), optionalResultParameter.get(Short.valueOf((short) 0x0017)));
    assertEquals((byte) 0, optionalResultParameter.get(Short.valueOf((short) 0x130C)));
}
Also used : DefaultExchange(org.apache.camel.impl.DefaultExchange) ESMClass(org.jsmpp.bean.ESMClass) DataSmResult(org.jsmpp.session.DataSmResult) DefaultCamelContext(org.apache.camel.impl.DefaultCamelContext) LinkedHashMap(java.util.LinkedHashMap) Exchange(org.apache.camel.Exchange) DefaultExchange(org.apache.camel.impl.DefaultExchange) OptionalParameter(org.jsmpp.bean.OptionalParameter) RegisteredDelivery(org.jsmpp.bean.RegisteredDelivery) MessageId(org.jsmpp.util.MessageId) Test(org.junit.Test)

Example 3 with MessageId

use of org.jsmpp.util.MessageId in project camel by apache.

the class SmppDataSmCommandTest method execute.

@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.FAILURE).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(DataCodings.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));
}
Also used : Exchange(org.apache.camel.Exchange) DefaultExchange(org.apache.camel.impl.DefaultExchange) DefaultExchange(org.apache.camel.impl.DefaultExchange) RegisteredDelivery(org.jsmpp.bean.RegisteredDelivery) ESMClass(org.jsmpp.bean.ESMClass) DataSmResult(org.jsmpp.session.DataSmResult) DefaultCamelContext(org.apache.camel.impl.DefaultCamelContext) MessageId(org.jsmpp.util.MessageId) Test(org.junit.Test)

Example 4 with MessageId

use of org.jsmpp.util.MessageId in project camel by apache.

the class MessageReceiverListenerImplTest method setUp.

@Before
public void setUp() {
    endpoint = createMock(SmppEndpoint.class);
    processor = createMock(Processor.class);
    exceptionHandler = createMock(ExceptionHandler.class);
    listener = new MessageReceiverListenerImpl(endpoint, processor, exceptionHandler);
    listener.setMessageIDGenerator(new MessageIDGenerator() {

        public MessageId newMessageId() {
            try {
                return new MessageId("1");
            } catch (PDUStringException e) {
                throw new RuntimeException(e);
            }
        }
    });
}
Also used : ExceptionHandler(org.apache.camel.spi.ExceptionHandler) Processor(org.apache.camel.Processor) MessageIDGenerator(org.jsmpp.util.MessageIDGenerator) PDUStringException(org.jsmpp.PDUStringException) MessageId(org.jsmpp.util.MessageId) Before(org.junit.Before)

Example 5 with MessageId

use of org.jsmpp.util.MessageId in project camel by apache.

the class SmppDataSmCommandTest method executeWithConfigurationData.

@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(DataCodings.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));
}
Also used : Exchange(org.apache.camel.Exchange) DefaultExchange(org.apache.camel.impl.DefaultExchange) DefaultExchange(org.apache.camel.impl.DefaultExchange) RegisteredDelivery(org.jsmpp.bean.RegisteredDelivery) ESMClass(org.jsmpp.bean.ESMClass) DataSmResult(org.jsmpp.session.DataSmResult) DefaultCamelContext(org.apache.camel.impl.DefaultCamelContext) MessageId(org.jsmpp.util.MessageId) Test(org.junit.Test)

Aggregations

MessageId (org.jsmpp.util.MessageId)6 Exchange (org.apache.camel.Exchange)5 DataSmResult (org.jsmpp.session.DataSmResult)5 DefaultCamelContext (org.apache.camel.impl.DefaultCamelContext)4 DefaultExchange (org.apache.camel.impl.DefaultExchange)4 ESMClass (org.jsmpp.bean.ESMClass)4 RegisteredDelivery (org.jsmpp.bean.RegisteredDelivery)4 Test (org.junit.Test)4 LinkedHashMap (java.util.LinkedHashMap)2 OptionalParameter (org.jsmpp.bean.OptionalParameter)2 Processor (org.apache.camel.Processor)1 ExceptionHandler (org.apache.camel.spi.ExceptionHandler)1 PDUStringException (org.jsmpp.PDUStringException)1 ProcessRequestException (org.jsmpp.extra.ProcessRequestException)1 MessageIDGenerator (org.jsmpp.util.MessageIDGenerator)1 Assert.assertNull (org.junit.Assert.assertNull)1 Before (org.junit.Before)1