Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright (c) 1996-2001
   * Logica Mobile Networks Limited
   * All rights reserved.
   *
   * This software is distributed under Logica Open Source License Version 1.0
   * ("Licence Agreement"). You shall use it and distribute only in accordance
   * with the terms of the License Agreement.
   *
  */
 package org.smpp.smscsim;
 
 import java.util.Date;
 
 import org.smpp.Data;
Class DeliveryInfoSender ...

Author(s):
Logica Mobile Networks SMPP Open Source Team
Version:
$Revision$
See also:
SimulatorPDUProcessor
 
 public class DeliveryInfoSender extends ProcessingThread {
 
 	public static final int DELIVERED = 0;
 	public static final int EXPIRED = 1;
 	public static final int DELETED = 2;
 	public static final int UNDELIVERABLE = 3;
 	public static final int ACCEPTED = 4;
 	public static final int UNKNOWN = 5;
 	public static final int REJECTED = 6;
 
 	private static final String DLVR_INFO_SENDER_NAME = "DlvrInfoSender";
 	private static int dlvrInfoSenderIndex = 0;
 
 	private static final String DELIVERY_RCPT_DATE_FORMAT = "yyMMddHHmm";
 
 
 	private long waitForQueueInterval = 5000; // in ms
 
 	private Debug debug = SmppObject.getDebug();
 
 	private static String[] states;
 
 	static {
 		 = new String[7];
 		[] = "DELIVRD";
 		[] = "EXPIRED";
 		[] = "DELETED";
 		[] = "UNDELIV";
 		[] = "ACCEPTD";
 		[] = "UNKNOWN";
 		[] = "REJECTD";
 	}
 
 	private Queue submitRequests = new Queue();
 
 	public void submit(PDUProcessor processorSubmitSM submitRequestString messageIdint statint err) {
 		DeliveryInfoEntry entry = new DeliveryInfoEntry(processorsubmitRequeststaterrmessageId);
 	}
 
 	public void submit(PDUProcessor processorSubmitSM submitRequestString messageId) {
 		submit(processorsubmitRequestmessageId, 0);
 	}
 
 	private void deliver(DeliveryInfoEntry entry) {
 		.enter(this"deliver");
 		SubmitSM submit = entry.submit;
 		DeliverSM deliver = new DeliverSM();
                 deliver.setEsmClass((byte).);
                 
 		deliver.setSourceAddr(submit.getDestAddr());
 		deliver.setDestAddr(submit.getDestAddr());
                 
                 deliver.setDataCoding((byte) 0x03); // ISO-Latin-1
 		String msg = "";
 		msg += "id:" + entry.messageId + " ";
 		msg += "sub:" + entry.sub + " ";
 		msg += "dlvrd:" + entry.dlvrd + " ";
 		msg += "submit date:" + formatDate(entry.submitted) + " ";
 		msg += "done date:" + formatDate(System.currentTimeMillis()) + " ";
 		msg += "stat:" + [entry.stat] + " ";
 		msg += "err:" + entry.err + " ";
 		String shortMessage = submit.getShortMessage();
 		int msgLen = shortMessage.length();
 		msg += "text:" + shortMessage.substring(0, (msgLen > 20 ? 20 : msgLen));
 		try {
 			deliver.setShortMessage(msg);
			deliver.setServiceType(submit.getServiceType());
		}
		try {
			entry.processor.serverRequest(deliver);
catch (Exception e) {
		}
		.exit(this);
	}
	public void process() {
			try {
				synchronized () {
				}
catch (InterruptedException e) {
				// it's ok to be interrupted when waiting
			}
else {
			while (!.isEmpty()) {
			}
		}
	}
	public String getThreadName() {
	}
	public int getThreadIndex() {
	}
	private String formatDate(long ms) {
		synchronized () {
			return .format(new Date(ms));
		}
	}
	protected class DeliveryInfoEntry {
		public SubmitSM submit;
		public int sub = 1;
		public int dlvrd = 1;
		public int stat;
		public int err;
		public String messageId;
		public long submitted = System.currentTimeMillis();
		public DeliveryInfoEntry(PDUProcessor processorSubmitSM submitint statint errString messageId) {
			this. = processor;
			this. = submit;
			this. = stat;
			this. = err;
			this. = messageId;
		}
	}
/*
 * $Log$
 */
New to GrepCode? Check out our FAQ X