Package org.jsmpp.bean

Examples of org.jsmpp.bean.QuerySm


    }
   
    public void processQuerySm(Command pduHeader, byte[] pdu,
            ServerResponseHandler responseHandler) throws IOException {
        try {
            QuerySm querySm = pduDecomposer.querySm(pdu);
            QuerySmResult result = responseHandler.processQuerySm(querySm);
            responseHandler.sendQuerySmResp(querySm.getMessageId(),
                    result.getFinalDate(), result.getMessageState(),
                    result.getErrorCode(), pduHeader.getSequenceNumber());
        } catch (PDUStringException e) {
            responseHandler.sendNegativeResponse(pduHeader.getCommandId(), e.getErrorCode(), pduHeader.getSequenceNumber());
        } catch (ProcessRequestException e) {
View Full Code Here


     * (non-Javadoc)
     *
     * @see org.jsmpp.util.PDUDecomposer#querySm(byte[])
     */
    public QuerySm querySm(byte[] b) throws PDUStringException {
        QuerySm req = new QuerySm();
        SequentialBytesReader reader = new SequentialBytesReader(b);
        assignHeader(req, reader);
        req.setMessageId(reader.readCString());
        StringValidator.validateString(req.getMessageId(),
                StringParameter.MESSAGE_ID);
        req.setSourceAddrTon(reader.readByte());
        req.setSourceAddrNpi(reader.readByte());
        req.setSourceAddr(reader.readCString());
        StringValidator.validateString(req.getSourceAddr(),
                StringParameter.SOURCE_ADDR);

        return req;
    }
View Full Code Here

        super(session, config);
    }

    @Override
    public void execute(Exchange exchange) throws SmppException {
        QuerySm querySm = createQuerySm(exchange);

        if (log.isDebugEnabled()) {
            log.debug("Querying for a short message for exchange id '{}' and message id '{}'...",
                    exchange.getExchangeId(), querySm.getMessageId());
        }
       
        QuerySmResult querySmResult;
        try {
            querySmResult = session.queryShortMessage(
                    querySm.getMessageId(),
                    TypeOfNumber.valueOf(querySm.getSourceAddrTon()),
                    NumberingPlanIndicator.valueOf(querySm.getSourceAddrNpi()),
                    querySm.getSourceAddr());
        } catch (Exception e) {
            throw new SmppException(e);
        }

        if (log.isDebugEnabled()) {
            log.debug("Query for a short message for exchange id '{}' and message id '{}'",
                    exchange.getExchangeId(), querySm.getMessageId());
        }

        Message message = getResponseMessage(exchange);
        message.setHeader(SmppConstants.ID, querySm.getMessageId());
        message.setHeader(SmppConstants.ERROR, querySmResult.getErrorCode());
        message.setHeader(SmppConstants.FINAL_DATE, SmppUtils.string2Date(querySmResult.getFinalDate()));
        message.setHeader(SmppConstants.MESSAGE_STATE, querySmResult.getMessageState().name());
    }
View Full Code Here

        message.setHeader(SmppConstants.MESSAGE_STATE, querySmResult.getMessageState().name());
    }

    protected QuerySm createQuerySm(Exchange exchange) {
        Message in = exchange.getIn();
        QuerySm querySm = new QuerySm();

        if (in.getHeaders().containsKey(SmppConstants.ID)) {
            querySm.setMessageId(in.getHeader(SmppConstants.ID, String.class));
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR)) {
            querySm.setSourceAddr(in.getHeader(SmppConstants.SOURCE_ADDR, String.class));
        } else {
            querySm.setSourceAddr(config.getSourceAddr());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_TON)) {
            querySm.setSourceAddrTon(in.getHeader(SmppConstants.SOURCE_ADDR_TON, Byte.class));
        } else {
            querySm.setSourceAddrTon(config.getSourceAddrTon());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_NPI)) {
            querySm.setSourceAddrNpi(in.getHeader(SmppConstants.SOURCE_ADDR_NPI, Byte.class));
        } else {
            querySm.setSourceAddrNpi(config.getSourceAddrNpi());
        }

        return querySm;
    }
View Full Code Here

        super(session, config);
    }

    @Override
    public void execute(Exchange exchange) throws SmppException {
        QuerySm querySm = createQuerySm(exchange);

        log.debug("Querying for a short message for exchange id '{}' and message id '{}'...",
                exchange.getExchangeId(), querySm.getMessageId());
       
        QuerySmResult querySmResult;
        try {
            querySmResult = session.queryShortMessage(
                    querySm.getMessageId(),
                    TypeOfNumber.valueOf(querySm.getSourceAddrTon()),
                    NumberingPlanIndicator.valueOf(querySm.getSourceAddrNpi()),
                    querySm.getSourceAddr());
        } catch (Exception e) {
            throw new SmppException(e);
        }

        log.debug("Query for a short message for exchange id '{}' and message id '{}'",
                exchange.getExchangeId(), querySm.getMessageId());

        Message message = getResponseMessage(exchange);
        message.setHeader(SmppConstants.ID, querySm.getMessageId());
        message.setHeader(SmppConstants.ERROR, querySmResult.getErrorCode());
        message.setHeader(SmppConstants.FINAL_DATE, SmppUtils.string2Date(querySmResult.getFinalDate()));
        message.setHeader(SmppConstants.MESSAGE_STATE, querySmResult.getMessageState().name());
    }
View Full Code Here

        message.setHeader(SmppConstants.MESSAGE_STATE, querySmResult.getMessageState().name());
    }

    protected QuerySm createQuerySm(Exchange exchange) {
        Message in = exchange.getIn();
        QuerySm querySm = new QuerySm();

        if (in.getHeaders().containsKey(SmppConstants.ID)) {
            querySm.setMessageId(in.getHeader(SmppConstants.ID, String.class));
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR)) {
            querySm.setSourceAddr(in.getHeader(SmppConstants.SOURCE_ADDR, String.class));
        } else {
            querySm.setSourceAddr(config.getSourceAddr());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_TON)) {
            querySm.setSourceAddrTon(in.getHeader(SmppConstants.SOURCE_ADDR_TON, Byte.class));
        } else {
            querySm.setSourceAddrTon(config.getSourceAddrTon());
        }

        if (in.getHeaders().containsKey(SmppConstants.SOURCE_ADDR_NPI)) {
            querySm.setSourceAddrNpi(in.getHeader(SmppConstants.SOURCE_ADDR_NPI, Byte.class));
        } else {
            querySm.setSourceAddrNpi(config.getSourceAddrNpi());
        }

        return querySm;
    }
View Full Code Here

TOP

Related Classes of org.jsmpp.bean.QuerySm

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.