summaryrefslogtreecommitdiff
path: root/java/broker
diff options
context:
space:
mode:
authorRobert Greig <rgreig@apache.org>2007-01-24 20:50:47 +0000
committerRobert Greig <rgreig@apache.org>2007-01-24 20:50:47 +0000
commit9fe1026450626ed29511466b8f3ddebe844ea894 (patch)
tree1a4ff54d1882db55b1066d639f56436775e3e649 /java/broker
parent485c128337350ea77dbc469122fe01141c03d055 (diff)
downloadqpid-python-9fe1026450626ed29511466b8f3ddebe844ea894.tar.gz
QPID-317 : Patch supplied by Rob Godfrey - Remove dependency on JMS from common / broker.
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@499563 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/broker')
-rw-r--r--java/broker/src/main/grammar/SelectorParser.jj6
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/filter/ArithmeticExpression.java4
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/filter/BooleanExpression.java7
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/filter/ComparisonExpression.java5
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/filter/ConstantExpression.java5
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/filter/Expression.java5
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/filter/FilterManagerFactory.java6
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/filter/JMSSelectorFilter.java20
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/filter/LogicExpression.java5
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/filter/MessageFilter.java5
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/filter/PropertyExpression.java32
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/filter/SimpleFilterManager.java8
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/filter/UnaryExpression.java5
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/filter/XPathExpression.java15
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/filter/XQueryExpression.java5
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/filter/XalanXPathEvaluator.java50
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/message/MessageDecorator.java25
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/message/jms/JMSMessage.java307
18 files changed, 65 insertions, 450 deletions
diff --git a/java/broker/src/main/grammar/SelectorParser.jj b/java/broker/src/main/grammar/SelectorParser.jj
index 5553a46e47..ff99898810 100644
--- a/java/broker/src/main/grammar/SelectorParser.jj
+++ b/java/broker/src/main/grammar/SelectorParser.jj
@@ -66,7 +66,7 @@ package org.apache.qpid.server.filter.jms.selector;
import java.io.*;
import java.util.*;
-import javax.jms.InvalidSelectorException;
+import org.apache.qpid.AMQInvalidSelectorException;
import org.apache.qpid.server.filter.*;
@@ -81,14 +81,14 @@ public class SelectorParser {
this(new StringReader(""));
}
- public BooleanExpression parse(String sql) throws InvalidSelectorException {
+ public BooleanExpression parse(String sql) throws AMQInvalidSelectorException {
this.ReInit(new StringReader(sql));
try {
return this.JmsSelector();
}
catch (Throwable e) {
- throw (InvalidSelectorException)new InvalidSelectorException(sql).initCause(e);
+ throw (AMQInvalidSelectorException)new AMQInvalidSelectorException(sql).initCause(e);
}
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/filter/ArithmeticExpression.java b/java/broker/src/main/java/org/apache/qpid/server/filter/ArithmeticExpression.java
index c536f77dde..1b3b116fd0 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/filter/ArithmeticExpression.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/filter/ArithmeticExpression.java
@@ -21,10 +21,8 @@ package org.apache.qpid.server.filter;
//
-import org.apache.qpid.server.queue.AMQMessage;
import org.apache.qpid.AMQException;
-
-import javax.jms.JMSException;
+import org.apache.qpid.server.queue.AMQMessage;
/**
* An expression which performs an operation on two expression values
diff --git a/java/broker/src/main/java/org/apache/qpid/server/filter/BooleanExpression.java b/java/broker/src/main/java/org/apache/qpid/server/filter/BooleanExpression.java
index de71e95049..122527d4f3 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/filter/BooleanExpression.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/filter/BooleanExpression.java
@@ -21,11 +21,10 @@ package org.apache.qpid.server.filter;
//
-import org.apache.qpid.server.queue.AMQMessage;
-import org.apache.qpid.server.message.jms.JMSMessage;
import org.apache.qpid.AMQException;
+import org.apache.qpid.server.queue.AMQMessage;
+
-import javax.jms.JMSException;
/**
@@ -40,7 +39,7 @@ public interface BooleanExpression extends Expression
/**
* @param message
* @return true if the expression evaluates to Boolean.TRUE.
- * @throws JMSException
+ * @throws AMQException
*/
public boolean matches(AMQMessage message) throws AMQException;
diff --git a/java/broker/src/main/java/org/apache/qpid/server/filter/ComparisonExpression.java b/java/broker/src/main/java/org/apache/qpid/server/filter/ComparisonExpression.java
index 07391098ce..25d588a36f 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/filter/ComparisonExpression.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/filter/ComparisonExpression.java
@@ -20,16 +20,13 @@ package org.apache.qpid.server.filter;
// Based on like named file from r450141 of the Apache ActiveMQ project <http://www.activemq.org/site/home.html>
//
-import org.apache.qpid.server.queue.AMQMessage;
-import org.apache.qpid.server.message.jms.JMSMessage;
import org.apache.qpid.AMQException;
+import org.apache.qpid.server.queue.AMQMessage;
import java.util.HashSet;
import java.util.List;
import java.util.regex.Pattern;
-import javax.jms.JMSException;
-
/**
* A filter performing a comparison of two objects
*
diff --git a/java/broker/src/main/java/org/apache/qpid/server/filter/ConstantExpression.java b/java/broker/src/main/java/org/apache/qpid/server/filter/ConstantExpression.java
index 2cd305d4b1..a4aea35079 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/filter/ConstantExpression.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/filter/ConstantExpression.java
@@ -20,14 +20,11 @@ package org.apache.qpid.server.filter;
// Based on like named file from r450141 of the Apache ActiveMQ project <http://www.activemq.org/site/home.html>
//
-import org.apache.qpid.server.queue.AMQMessage;
-import org.apache.qpid.server.message.jms.JMSMessage;
import org.apache.qpid.AMQException;
+import org.apache.qpid.server.queue.AMQMessage;
import java.math.BigDecimal;
-import javax.jms.JMSException;
-
/**
* Represents a constant expression
*
diff --git a/java/broker/src/main/java/org/apache/qpid/server/filter/Expression.java b/java/broker/src/main/java/org/apache/qpid/server/filter/Expression.java
index 3b5debd3ee..4a2130e767 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/filter/Expression.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/filter/Expression.java
@@ -21,11 +21,8 @@ package org.apache.qpid.server.filter;
// Based on like named file from r450141 of the Apache ActiveMQ project <http://www.activemq.org/site/home.html>
//
-import org.apache.qpid.server.queue.AMQMessage;
-import org.apache.qpid.server.message.jms.JMSMessage;
import org.apache.qpid.AMQException;
-
-import javax.jms.JMSException;
+import org.apache.qpid.server.queue.AMQMessage;
/**
diff --git a/java/broker/src/main/java/org/apache/qpid/server/filter/FilterManagerFactory.java b/java/broker/src/main/java/org/apache/qpid/server/filter/FilterManagerFactory.java
index 5c784983cb..311f0680ec 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/filter/FilterManagerFactory.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/filter/FilterManagerFactory.java
@@ -20,13 +20,9 @@
*/
package org.apache.qpid.server.filter;
-import org.apache.qpid.framing.FieldTable;
import org.apache.qpid.AMQException;
import org.apache.qpid.common.AMQPFilterTypes;
-//import org.slf4j.Logger;
-//import org.slf4j.LoggerFactory;
-
-import java.util.Iterator;
+import org.apache.qpid.framing.FieldTable;
public class FilterManagerFactory
diff --git a/java/broker/src/main/java/org/apache/qpid/server/filter/JMSSelectorFilter.java b/java/broker/src/main/java/org/apache/qpid/server/filter/JMSSelectorFilter.java
index 5f505fbeba..cba487c31e 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/filter/JMSSelectorFilter.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/filter/JMSSelectorFilter.java
@@ -20,15 +20,13 @@
*/
package org.apache.qpid.server.filter;
-import org.apache.qpid.server.queue.AMQMessage;
-import org.apache.qpid.server.filter.jms.selector.SelectorParser;
+import org.apache.log4j.Logger;
import org.apache.qpid.AMQException;
import org.apache.qpid.AMQInvalidSelectorException;
-import org.apache.log4j.Logger;
+import org.apache.qpid.server.filter.jms.selector.SelectorParser;
+import org.apache.qpid.server.queue.AMQMessage;
-import javax.jms.InvalidSelectorException;
-import javax.jms.JMSException;
public class JMSSelectorFilter implements MessageFilter
{
@@ -43,16 +41,8 @@ public class JMSSelectorFilter implements MessageFilter
_logger.info("Created JMSSelectorFilter with selector:" + _selector);
- try
- {
- _matcher = new SelectorParser().parse(selector);
- }
- catch (InvalidSelectorException e)
- {
- // fixme
- // Is this the correct way of throwing exception
- throw new AMQInvalidSelectorException(e.getMessage());
- }
+ _matcher = new SelectorParser().parse(selector);
+
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/filter/LogicExpression.java b/java/broker/src/main/java/org/apache/qpid/server/filter/LogicExpression.java
index e6ad98cb8b..dea6092b8a 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/filter/LogicExpression.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/filter/LogicExpression.java
@@ -20,11 +20,8 @@ package org.apache.qpid.server.filter;
// Based on like named file from r450141 of the Apache ActiveMQ project <http://www.activemq.org/site/home.html>
//
-import org.apache.qpid.server.queue.AMQMessage;
-import org.apache.qpid.server.message.jms.JMSMessage;
import org.apache.qpid.AMQException;
-
-import javax.jms.JMSException;
+import org.apache.qpid.server.queue.AMQMessage;
/**
* A filter performing a comparison of two objects
diff --git a/java/broker/src/main/java/org/apache/qpid/server/filter/MessageFilter.java b/java/broker/src/main/java/org/apache/qpid/server/filter/MessageFilter.java
index b8ca75d209..f80b7941b5 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/filter/MessageFilter.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/filter/MessageFilter.java
@@ -21,10 +21,9 @@
package org.apache.qpid.server.filter;
import org.apache.qpid.server.queue.AMQMessage;
-
-import javax.jms.JMSException;
+import org.apache.qpid.AMQException;
public interface MessageFilter
{
- boolean matches(AMQMessage message) throws JMSException;
+ boolean matches(AMQMessage message) throws AMQException;
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/filter/PropertyExpression.java b/java/broker/src/main/java/org/apache/qpid/server/filter/PropertyExpression.java
index ba7000f822..2e74b09d0d 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/filter/PropertyExpression.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/filter/PropertyExpression.java
@@ -20,23 +20,15 @@ package org.apache.qpid.server.filter;
//
// Based on like named file from r450141 of the Apache ActiveMQ project <http://www.activemq.org/site/home.html>
//
-
-import java.io.IOException;
-import java.util.HashMap;
-
-import javax.jms.DeliveryMode;
-import javax.jms.JMSException;
-import javax.jms.Message;
-//import org.apache.activemq.command.ActiveMQDestination;
-//import org.apache.activemq.command.Message;
-//import org.apache.activemq.command.TransactionId;
-//import org.apache.activemq.util.JMSExceptionSupport;
-import org.apache.qpid.server.queue.AMQMessage;
-import org.apache.qpid.server.message.jms.JMSMessage;
+import org.apache.log4j.Logger;
import org.apache.qpid.AMQException;
import org.apache.qpid.framing.BasicContentHeaderProperties;
-import org.apache.log4j.Logger;
+import org.apache.qpid.server.queue.AMQMessage;
+
+
+
+import java.util.HashMap;
/**
* Represents a property expression
@@ -45,8 +37,10 @@ import org.apache.log4j.Logger;
*/
public class PropertyExpression implements Expression
{
-
-
+ // Constants - defined the same as JMS
+ private static final int NON_PERSISTENT = 1;
+ private static final int PERSISTENT = 2;
+ private static final int DEFAULT_PRIORITY = 4;
private final static Logger _logger = org.apache.log4j.Logger.getLogger(PropertyExpression.class);
@@ -111,7 +105,7 @@ public class PropertyExpression implements Expression
{
try
{
- int mode = message.isPersistent() ? DeliveryMode.PERSISTENT : DeliveryMode.NON_PERSISTENT;
+ int mode = message.isPersistent() ? PERSISTENT : NON_PERSISTENT;
if(_logger.isDebugEnabled())
{
_logger.debug("JMSDeliveryMode is :" + mode);
@@ -123,7 +117,7 @@ public class PropertyExpression implements Expression
_logger.warn(e);
}
- return DeliveryMode.NON_PERSISTENT;
+ return NON_PERSISTENT;
}
});
@@ -141,7 +135,7 @@ public class PropertyExpression implements Expression
{
_logger.warn(e);
}
- return Message.DEFAULT_PRIORITY;
+ return DEFAULT_PRIORITY;
}
}
);
diff --git a/java/broker/src/main/java/org/apache/qpid/server/filter/SimpleFilterManager.java b/java/broker/src/main/java/org/apache/qpid/server/filter/SimpleFilterManager.java
index 9065551697..5821a84774 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/filter/SimpleFilterManager.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/filter/SimpleFilterManager.java
@@ -20,10 +20,10 @@
*/
package org.apache.qpid.server.filter;
-import org.apache.qpid.server.queue.AMQMessage;
import org.apache.log4j.Logger;
+import org.apache.qpid.server.queue.AMQMessage;
+import org.apache.qpid.AMQException;
-import javax.jms.JMSException;
import java.util.concurrent.ConcurrentLinkedQueue;
public class SimpleFilterManager implements FilterManager
@@ -59,10 +59,10 @@ public class SimpleFilterManager implements FilterManager
return false;
}
}
- catch (JMSException e)
+ catch (AMQException e)
{
//fixme
- e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
+ e.printStackTrace();
return false;
}
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/filter/UnaryExpression.java b/java/broker/src/main/java/org/apache/qpid/server/filter/UnaryExpression.java
index abc56f04d0..352a48b7ab 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/filter/UnaryExpression.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/filter/UnaryExpression.java
@@ -20,9 +20,8 @@ package org.apache.qpid.server.filter;
// Based on like named file from r450141 of the Apache ActiveMQ project <http://www.activemq.org/site/home.html>
//
-import org.apache.qpid.server.queue.AMQMessage;
-import org.apache.qpid.server.message.jms.JMSMessage;
import org.apache.qpid.AMQException;
+import org.apache.qpid.server.queue.AMQMessage;
import java.math.BigDecimal;
import java.util.Collection;
@@ -30,8 +29,6 @@ import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
-import javax.jms.JMSException;
-
/**
* An expression which performs an operation on two expression values
*
diff --git a/java/broker/src/main/java/org/apache/qpid/server/filter/XPathExpression.java b/java/broker/src/main/java/org/apache/qpid/server/filter/XPathExpression.java
index 85402e0781..c51f82ce68 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/filter/XPathExpression.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/filter/XPathExpression.java
@@ -20,18 +20,13 @@ package org.apache.qpid.server.filter;
// Based on like named file from r450141 of the Apache ActiveMQ project <http://www.activemq.org/site/home.html>
//
-import java.io.IOException;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-
-import javax.jms.JMSException;
-
-//import org.apache.activemq.command.Message;
-//import org.apache.activemq.util.JMSExceptionSupport;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.qpid.server.queue.AMQMessage;
import org.apache.qpid.AMQException;
+import org.apache.qpid.server.queue.AMQMessage;
+
+import java.lang.reflect.Constructor;
+import java.lang.reflect.InvocationTargetException;
/**
* Used to evaluate an XPath Expression in a JMS selector.
@@ -121,7 +116,7 @@ public final class XPathExpression implements BooleanExpression {
/**
* @param message
* @return true if the expression evaluates to Boolean.TRUE.
- * @throws JMSException
+ * @throws AMQException
*/
public boolean matches(AMQMessage message) throws AMQException
{
diff --git a/java/broker/src/main/java/org/apache/qpid/server/filter/XQueryExpression.java b/java/broker/src/main/java/org/apache/qpid/server/filter/XQueryExpression.java
index da8a61650a..f5debb607a 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/filter/XQueryExpression.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/filter/XQueryExpression.java
@@ -17,10 +17,9 @@
*/
package org.apache.qpid.server.filter;
-import org.apache.qpid.server.queue.AMQMessage;
import org.apache.qpid.AMQException;
+import org.apache.qpid.server.queue.AMQMessage;
-import javax.jms.JMSException;
//
// Based on like named file from r450141 of the Apache ActiveMQ project <http://www.activemq.org/site/home.html>
//
@@ -47,7 +46,7 @@ public final class XQueryExpression implements BooleanExpression {
/**
* @param message
* @return true if the expression evaluates to Boolean.TRUE.
- * @throws JMSException
+ * @throws AMQException
*/
public boolean matches(AMQMessage message) throws AMQException
{
diff --git a/java/broker/src/main/java/org/apache/qpid/server/filter/XalanXPathEvaluator.java b/java/broker/src/main/java/org/apache/qpid/server/filter/XalanXPathEvaluator.java
index f74e0cedec..94f063aa95 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/filter/XalanXPathEvaluator.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/filter/XalanXPathEvaluator.java
@@ -21,24 +21,18 @@ package org.apache.qpid.server.filter;
// Based on like named file from r450141 of the Apache ActiveMQ project <http://www.activemq.org/site/home.html>
//
-import java.io.StringReader;
-import java.io.ByteArrayInputStream;
-
-import javax.jms.BytesMessage;
-import javax.jms.JMSException;
-import javax.jms.TextMessage;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-
-//import org.apache.activemq.command.Message;
-//import org.apache.activemq.util.ByteArrayInputStream;
-import org.apache.xpath.CachedXPathAPI;
-import org.apache.qpid.server.queue.AMQMessage;
import org.apache.qpid.AMQException;
+import org.apache.qpid.server.queue.AMQMessage;
+import org.apache.xpath.CachedXPathAPI;
import org.w3c.dom.Document;
import org.w3c.dom.traversal.NodeIterator;
import org.xml.sax.InputSource;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import java.io.ByteArrayInputStream;
+import java.io.StringReader;
+
public class XalanXPathEvaluator implements XPathExpression.XPathEvaluator {
private final String xpath;
@@ -49,24 +43,22 @@ public class XalanXPathEvaluator implements XPathExpression.XPathEvaluator {
public boolean evaluate(AMQMessage m) throws AMQException
{
- try
- {
+ // TODO - we would have to check the content type and then evaluate the content
+ // here... is this really a feature we wish to implement? - RobG
+ /*
- if( m instanceof TextMessage ) {
- String text = ((TextMessage)m).getText();
- return evaluate(text);
- } else if ( m instanceof BytesMessage ) {
- BytesMessage bm = (BytesMessage) m;
- byte data[] = new byte[(int) bm.getBodyLength()];
- bm.readBytes(data);
- return evaluate(data);
- }
- return false;
- }
- catch (JMSException e)
- {
- throw new AMQException("Error evaluting message: " + e, e);
+ if( m instanceof TextMessage ) {
+ String text = ((TextMessage)m).getText();
+ return evaluate(text);
+ } else if ( m instanceof BytesMessage ) {
+ BytesMessage bm = (BytesMessage) m;
+ byte data[] = new byte[(int) bm.getBodyLength()];
+ bm.readBytes(data);
+ return evaluate(data);
}
+ */
+ return false;
+
}
private boolean evaluate(byte[] data) {
diff --git a/java/broker/src/main/java/org/apache/qpid/server/message/MessageDecorator.java b/java/broker/src/main/java/org/apache/qpid/server/message/MessageDecorator.java
deleted file mode 100644
index aba3b88a59..0000000000
--- a/java/broker/src/main/java/org/apache/qpid/server/message/MessageDecorator.java
+++ /dev/null
@@ -1,25 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- *
- */
-package org.apache.qpid.server.message;
-
-public interface MessageDecorator
-{
-}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/message/jms/JMSMessage.java b/java/broker/src/main/java/org/apache/qpid/server/message/jms/JMSMessage.java
deleted file mode 100644
index ab201c476e..0000000000
--- a/java/broker/src/main/java/org/apache/qpid/server/message/jms/JMSMessage.java
+++ /dev/null
@@ -1,307 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- *
- */
-package org.apache.qpid.server.message.jms;
-
-import org.apache.qpid.server.message.MessageDecorator;
-import org.apache.qpid.server.queue.AMQMessage;
-import org.apache.qpid.framing.BasicContentHeaderProperties;
-import org.apache.qpid.framing.ContentHeaderBody;
-import org.apache.qpid.AMQException;
-
-import javax.jms.Message;
-import javax.jms.JMSException;
-import javax.jms.Destination;
-import javax.jms.MessageNotWriteableException;
-import java.util.Enumeration;
-
-public class JMSMessage implements MessageDecorator
-{
-
- private AMQMessage _message;
- private BasicContentHeaderProperties _properties;
-
- public JMSMessage(AMQMessage message) throws AMQException
- {
- _message = message;
- ContentHeaderBody contentHeader = message.getContentHeaderBody();
- _properties = (BasicContentHeaderProperties) contentHeader.properties;
- }
-
- protected void checkWriteable() throws MessageNotWriteableException
- {
- //The broker should not modify a message.
-// if (_readableMessage)
- {
- throw new MessageNotWriteableException("The broker should not modify a message.");
- }
- }
-
-
- public String getJMSMessageID()
- {
- return _properties.getMessageId();
- }
-
- public void setJMSMessageID(String string) throws MessageNotWriteableException
- {
- checkWriteable();
- _properties.setMessageId(string);
- }
-
- public long getJMSTimestamp()
- {
- return _properties.getTimestamp();
- }
-
- public void setJMSTimestamp(long l) throws MessageNotWriteableException
- {
- checkWriteable();
- _properties.setTimestamp(l);
- }
-
- public byte[] getJMSCorrelationIDAsBytes()
- {
- return _properties.getCorrelationId().getBytes();
- }
-
-// public void setJMSCorrelationIDAsBytes(byte[] bytes)
-// {
-// }
-
- public void setJMSCorrelationID(String string) throws MessageNotWriteableException
- {
- checkWriteable();
- _properties.setCorrelationId(string);
- }
-
- public String getJMSCorrelationID()
- {
- return _properties.getCorrelationId();
- }
-
- public String getJMSReplyTo()
- {
- return _properties.getReplyTo();
- }
-
- public void setJMSReplyTo(Destination destination) throws MessageNotWriteableException
- {
- checkWriteable();
- _properties.setReplyTo(destination.toString());
- }
-
- public String getJMSDestination()
- {
- //fixme should be a deestination
- return "";
- }
-
- public void setJMSDestination(Destination destination) throws MessageNotWriteableException
- {
- checkWriteable();
- //_properties.setDestination(destination.toString());
- }
-
- public int getJMSDeliveryMode()
- {
- return _properties.getDeliveryMode();
- }
-
- public void setJMSDeliveryMode(byte i) throws MessageNotWriteableException
- {
- checkWriteable();
- _properties.setDeliveryMode(i);
- }
-
- public boolean getJMSRedelivered()
- {
- return _message.isRedelivered();
- }
-
- public void setJMSRedelivered(boolean b) throws MessageNotWriteableException
- {
- checkWriteable();
- _message.setRedelivered(b);
- }
-
- public String getJMSType()
- {
- return _properties.getType();
- }
-
- public void setJMSType(String string) throws MessageNotWriteableException
- {
- checkWriteable();
- _properties.setType(string);
- }
-
- public long getJMSExpiration()
- {
- return _properties.getExpiration();
- }
-
- public void setJMSExpiration(long l) throws MessageNotWriteableException
- {
- checkWriteable();
- _properties.setExpiration(l);
- }
-
- public int getJMSPriority()
- {
- return _properties.getPriority();
- }
-
- public void setJMSPriority(byte i) throws MessageNotWriteableException
- {
- checkWriteable();
- _properties.setPriority(i);
- }
-
- public void clearProperties() throws MessageNotWriteableException
- {
- checkWriteable();
- _properties.clear();
- }
-
- public boolean propertyExists(String string)
- {
- return _properties.propertyExists(string);
- }
-
- public boolean getBooleanProperty(String string) throws JMSException
- {
- return _properties.getBoolean(string);
- }
-
- public byte getByteProperty(String string) throws JMSException
- {
- return _properties.getByte(string);
- }
-
- public short getShortProperty(String string) throws JMSException
- {
- return _properties.getShort(string);
- }
-
- public int getIntProperty(String string) throws JMSException
- {
- return _properties.getInteger(string);
- }
-
- public long getLongProperty(String string) throws JMSException
- {
- return _properties.getLong(string);
- }
-
- public float getFloatProperty(String string) throws JMSException
- {
- return _properties.getFloat(string);
- }
-
- public double getDoubleProperty(String string) throws JMSException
- {
- return _properties.getDouble(string);
- }
-
- public String getStringProperty(String string) throws JMSException
- {
- return _properties.getString(string);
- }
-
- public Object getObjectProperty(String string) throws JMSException
- {
- return _properties.getObject(string);
- }
-
- public Enumeration getPropertyNames()
- {
- return _properties.getPropertyNames();
- }
-
- public void setBooleanProperty(String string, boolean b) throws JMSException
- {
- checkWriteable();
- _properties.setBoolean(string, b);
- }
-
- public void setByteProperty(String string, byte b) throws JMSException
- {
- checkWriteable();
- _properties.setByte(string, b);
- }
-
- public void setShortProperty(String string, short i) throws JMSException
- {
- checkWriteable();
- _properties.setShort(string, i);
- }
-
- public void setIntProperty(String string, int i) throws JMSException
- {
- checkWriteable();
- _properties.setInteger(string, i);
- }
-
- public void setLongProperty(String string, long l) throws JMSException
- {
- checkWriteable();
- _properties.setLong(string, l);
- }
-
- public void setFloatProperty(String string, float v) throws JMSException
- {
- checkWriteable();
- _properties.setFloat(string, v);
- }
-
- public void setDoubleProperty(String string, double v) throws JMSException
- {
- checkWriteable();
- _properties.setDouble(string, v);
- }
-
- public void setStringProperty(String string, String string1) throws JMSException
- {
- checkWriteable();
- _properties.setString(string, string1);
- }
-
- public void setObjectProperty(String string, Object object) throws JMSException
- {
- checkWriteable();
- _properties.setObject(string, object);
- }
-
- public void acknowledge() throws MessageNotWriteableException
- {
- checkWriteable();
- }
-
- public void clearBody() throws MessageNotWriteableException
- {
- checkWriteable();
- }
-
- public AMQMessage getAMQMessage()
- {
- return _message;
- }
-}