Package org.jsmpp.bean

Examples of org.jsmpp.bean.SubmitMultiResult


        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("000003000000000R"), eq(new RegisteredDelivery(SMSCDeliveryReceipt.SUCCESS)),
                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);
View Full Code Here


                                      eq(ReplaceIfPresentFlag.DEFAULT),
                                      eq(DataCoding.newInstance(dataCoding)),
                                      eq((byte) 0),
                                      aryEq(bodyNarrowed),
                                      aryEq(new OptionalParameter[0])))
            .andReturn(new SubmitMultiResult("1"));

        replay(session);

        command.execute(exchange);
View Full Code Here

                                      eq(ReplaceIfPresentFlag.DEFAULT),
                                      eq(DataCoding.newInstance(dataCoding)),
                                      eq((byte) 0),
                                      aryEq(bodyNarrowed),
                                      aryEq(new OptionalParameter[0])))
            .andReturn(new SubmitMultiResult("1"));

        replay(session);

        command.execute(exchange);
View Full Code Here

                                      eq(ReplaceIfPresentFlag.DEFAULT),
                                      eq(DataCoding.newInstance(dataCoding)),
                                      eq((byte) 0),
                                      aryEq(body),
                                      aryEq(new OptionalParameter[0])))
            .andReturn(new SubmitMultiResult("1"));

        replay(session);

        command.execute(exchange);
View Full Code Here

                                      eq(ReplaceIfPresentFlag.DEFAULT),
                                      eq(DataCoding.newInstance(dataCoding)),
                                      eq((byte) 0),
                                      aryEq(body),
                                      aryEq(new OptionalParameter[0])))
            .andReturn(new SubmitMultiResult("1"));

        replay(session);

        command.execute(exchange);
View Full Code Here

                                      eq(ReplaceIfPresentFlag.DEFAULT),
                                      eq(DataCoding.newInstance(binDataCoding)),
                                      eq((byte) 0),
                                      aryEq(body),
                                      aryEq(new OptionalParameter[0])))
            .andReturn(new SubmitMultiResult("1"));

        replay(session);

        command.execute(exchange);
View Full Code Here

                                      eq(ReplaceIfPresentFlag.DEFAULT),
                                      eq(DataCoding.newInstance(latin1DataCoding)),
                                      eq((byte) 0),
                                      aryEq(bodyNarrowed),
                                      aryEq(new OptionalParameter[0])))
            .andReturn(new SubmitMultiResult("1"));

        replay(session);

        command.execute(exchange);
View Full Code Here

                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);
View Full Code Here

                    new OptionalParameter.COctetString((short) 0x2151, "0816"),
                    new OptionalParameter.Byte((short) 0x2152, (byte) 6),
                    new OptionalParameter.Short((short) 0x2153, (short) 9),
                    new OptionalParameter.Int((short) 0x2154, 7400000),
                    new OptionalParameter.Null((short) 0x2155)})))
                .andReturn(new SubmitMultiResult("1"));

        replay(session);

        command.execute(exchange);
View Full Code Here

    public void execute(Exchange exchange) throws SmppException {
        SubmitMulti[] submitMulties = createSubmitMulti(exchange);
        List<SubmitMultiResult> results = new ArrayList<SubmitMultiResult>(submitMulties.length);
       
        for (SubmitMulti submitMulti : submitMulties) {
            SubmitMultiResult result;
            if (log.isDebugEnabled()) {
                log.debug("Sending multiple short messages for exchange id '{}'...", exchange.getExchangeId());
            }
           
            try {
                result = session.submitMultiple(
                        submitMulti.getServiceType(),
                        TypeOfNumber.valueOf(submitMulti.getSourceAddrTon()),
                        NumberingPlanIndicator.valueOf(submitMulti.getSourceAddrNpi()),
                        submitMulti.getSourceAddr(),
                        (Address[]) submitMulti.getDestAddresses(),
                        new ESMClass(submitMulti.getEsmClass()),
                        submitMulti.getProtocolId(),
                        submitMulti.getPriorityFlag(),
                        submitMulti.getScheduleDeliveryTime(),
                        submitMulti.getValidityPeriod(),
                        new RegisteredDelivery(submitMulti.getRegisteredDelivery()),
                        new ReplaceIfPresentFlag(submitMulti.getReplaceIfPresentFlag()),
                        DataCoding.newInstance(submitMulti.getDataCoding()),
                        submitMulti.getSmDefaultMsgId(),
                        submitMulti.getShortMessage(),
                        submitMulti.getOptionalParameters());
                results.add(result);
            } catch (Exception e) {
                throw new SmppException(e);
            }
        }

        if (log.isDebugEnabled()) {
            log.debug("Sent multiple short messages for exchange id '{}' and received results '{}'", exchange.getExchangeId(), results);
        }

        List<String> messageIDs = new ArrayList<String>(results.size());
        // {messageID : [{destAddr : address, error : errorCode}]}
        Map<String, List<Map<String, Object>>> errors = new HashMap<String, List<Map<String, Object>>>();
       
        for (SubmitMultiResult result : results) {
            UnsuccessDelivery[] deliveries = result.getUnsuccessDeliveries();
           
            if (deliveries != null) {
                List<Map<String, Object>> undelivered = new ArrayList<Map<String, Object>>();
               
                for (UnsuccessDelivery delivery : deliveries) {
                    Map<String, Object> error = new HashMap<String, Object>();
                    error.put(SmppConstants.DEST_ADDR, delivery.getDestinationAddress().getAddress());
                    error.put(SmppConstants.ERROR, delivery.getErrorStatusCode());
                    undelivered.add(error);
                }
               
                if (!undelivered.isEmpty()) {
                    errors.put(result.getMessageId(), undelivered);
                }
            }

            messageIDs.add(result.getMessageId());
        }

        Message message = getResponseMessage(exchange);
        message.setHeader(SmppConstants.ID, messageIDs);
        message.setHeader(SmppConstants.SENT_MESSAGE_COUNT, messageIDs.size());
View Full Code Here

TOP

Related Classes of org.jsmpp.bean.SubmitMultiResult

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.