package com.mossle.simulator.jms;
import java.io.Serializable;
import java.util.UUID;
import javax.jms.BytesMessage;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.jms.MapMessage;
import javax.jms.Message;
import javax.jms.MessageConsumer;
import javax.jms.MessageListener;
import javax.jms.MessageProducer;
import javax.jms.ObjectMessage;
import javax.jms.Queue;
import javax.jms.QueueBrowser;
import javax.jms.Session;
import javax.jms.StreamMessage;
import javax.jms.TemporaryQueue;
import javax.jms.TemporaryTopic;
import javax.jms.TextMessage;
import javax.jms.Topic;
import javax.jms.TopicSubscriber;
public class ProxySession implements Session {
private ProxyConnection proxyConnection;
private boolean closed;
private String id;
public ProxySession(ProxyConnection proxyConnection) {
this.proxyConnection = proxyConnection;
this.id = UUID.randomUUID().toString();
}
public BytesMessage createBytesMessage() throws JMSException {
return null;
}
public MapMessage createMapMessage() throws JMSException {
return null;
}
public Message createMessage() throws JMSException {
return null;
}
public ObjectMessage createObjectMessage() throws JMSException {
return null;
}
public ObjectMessage createObjectMessage(Serializable object)
throws JMSException {
return null;
}
public StreamMessage createStreamMessage() throws JMSException {
return null;
}
public TextMessage createTextMessage() throws JMSException {
return new ProxyTextMessage();
}
public TextMessage createTextMessage(String text) throws JMSException {
TextMessage textMessage = new ProxyTextMessage();
textMessage.setText(text);
return textMessage;
}
public boolean getTransacted() throws JMSException {
return false;
}
public int getAcknowledgeMode() throws JMSException {
return 0;
}
public void commit() throws JMSException {
this.checkStatus();
}
public void rollback() throws JMSException {
this.checkStatus();
}
public void close() throws JMSException {
this.closed = true;
this.proxyConnection.removeSession(this);
}
public void recover() throws JMSException {
this.checkStatus();
}
public MessageListener getMessageListener() throws JMSException {
return null;
}
public void setMessageListener(MessageListener listener)
throws JMSException {
}
public void run() {
}
public MessageProducer createProducer(Destination destination)
throws JMSException {
this.checkStatus();
return this.proxyConnection.createProducer(destination, this);
}
public MessageConsumer createConsumer(Destination destination)
throws JMSException {
this.checkStatus();
return createConsumer(destination, null, true);
}
public MessageConsumer createConsumer(Destination destination,
String messageSelector) throws JMSException {
this.checkStatus();
return createConsumer(destination, messageSelector, true);
}
public MessageConsumer createConsumer(Destination destination,
String messageSelector, boolean NoLocal) throws JMSException {
this.checkStatus();
return this.proxyConnection.createConsumer(destination, this);
}
public Queue createQueue(String queueName) throws JMSException {
return new ProxyQueue(queueName);
}
public Topic createTopic(String topicName) throws JMSException {
return new ProxyTopic(topicName);
}
public TopicSubscriber createDurableSubscriber(Topic topic, String name)
throws JMSException {
return null;
}
public TopicSubscriber createDurableSubscriber(Topic topic, String name,
String messageSelector, boolean noLocal) throws JMSException {
return null;
}
public QueueBrowser createBrowser(Queue queue) throws JMSException {
return null;
}
public QueueBrowser createBrowser(Queue queue, String messageSelector)
throws JMSException {
return null;
}
public TemporaryQueue createTemporaryQueue() throws JMSException {
return null;
}
public TemporaryTopic createTemporaryTopic() throws JMSException {
return null;
}
public void unsubscribe(String name) throws JMSException {
}
// ~ ==================================================
public void checkStatus() throws JMSException {
if (this.closed) {
throw new JMSException("connection " + this.id + " closed");
}
}
public void sendMessage(Destination destination, Message message)
throws JMSException {
this.proxyConnection.sendMessage(destination, message);
}
public Message getMessage(ProxyMessageConsumer proxyMessageConsumer)
throws JMSException {
return this.proxyConnection.getMessage(proxyMessageConsumer);
}
public void removeMessageConsumer(ProxyMessageConsumer messageConsumer)
throws JMSException {
this.proxyConnection.removeMessageConsumer(messageConsumer);
}
public void onConsumerConnect() {
this.proxyConnection.onConsumerConnect();
}
public void onProducerConnect() {
this.proxyConnection.onProducerConnect();
}
public void onConsumerDisconnect() {
this.proxyConnection.onConsumerDisconnect();
}
public void onProducerDisconnect() {
this.proxyConnection.onProducerDisconnect();
}
}