summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafael H. Schloming <rhs@apache.org>2007-01-23 22:31:40 +0000
committerRafael H. Schloming <rhs@apache.org>2007-01-23 22:31:40 +0000
commit8b82eb63a9af8c64230797002a28435aee99d110 (patch)
tree59b342e83290daa6e04004fc0aa2dd32e021db9f
parent18db1c96f414e8b0d803785c9a5bf4d9473af872 (diff)
downloadqpid-python-8b82eb63a9af8c64230797002a28435aee99d110.tar.gz
fixed headers exchange, filled in more stubs
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/branches/qpid.0-9@499163 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/exchange/HeadersExchange.java2
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/queue/AMQMessage.java16
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueueMBean.java24
3 files changed, 32 insertions, 10 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/exchange/HeadersExchange.java b/java/broker/src/main/java/org/apache/qpid/server/exchange/HeadersExchange.java
index 42f75ac302..5534f9d227 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/exchange/HeadersExchange.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/exchange/HeadersExchange.java
@@ -187,7 +187,7 @@ public class HeadersExchange extends AbstractExchange
public void route(AMQMessage payload) throws AMQException
{
- FieldTable headers = payload.getHeadersTable();
+ FieldTable headers = payload.getApplicationHeaders();
if (_logger.isDebugEnabled())
{
_logger.debug("Exchange " + getName() + ": routing message with headers " + headers);
diff --git a/java/broker/src/main/java/org/apache/qpid/server/queue/AMQMessage.java b/java/broker/src/main/java/org/apache/qpid/server/queue/AMQMessage.java
index e80312106a..e01635b061 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/queue/AMQMessage.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/queue/AMQMessage.java
@@ -154,12 +154,8 @@ public class AMQMessage
return size;
}
- public FieldTable getHeadersTable() {
- throw new Error("XXX");
- }
-
public FieldTable getApplicationHeaders() {
- throw new Error("XXX");
+ return _transferBody.getApplicationHeaders();
}
public void setXXXMessageId(String messageId) {
@@ -191,7 +187,15 @@ public class AMQMessage
}
public String getReplyTo() {
- throw new Error("XXX");
+ return _transferBody.getReplyTo();
+ }
+
+ public String getAppId() {
+ return _transferBody.getAppId();
+ }
+
+ public String getUserId() {
+ return _transferBody.getUserId();
}
public void setCorrelationId(String correlationId) {
diff --git a/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueueMBean.java b/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueueMBean.java
index f8e2642a1f..40032651aa 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueueMBean.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueueMBean.java
@@ -31,9 +31,12 @@ import javax.management.MBeanException;
import javax.management.MBeanNotificationInfo;
import javax.management.OperationsException;
import javax.management.monitor.MonitorNotification;
+
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
import java.util.List;
+import java.util.Map;
import java.util.Set;
-import java.util.ArrayList;
/**
* MBean class for AMQQueue. It implements all the management features exposed
@@ -282,6 +285,21 @@ public class AMQQueueMBean extends AMQManagedObject implements ManagedQueue
return new CompositeDataSupport(_msgContentType, _msgContentAttributes, itemValues);
}
+ private static Map getHeaders(AMQMessage msg) {
+ Map hdrs = new LinkedHashMap();
+ hdrs.put("Reply-To", msg.getReplyTo());
+ hdrs.put("Application-Id", msg.getAppId());
+ hdrs.put("User-Id", msg.getUserId());
+ hdrs.put("Message-Id", msg.getXXXMessageId());
+ hdrs.put("Correlation-Id", msg.getCorrelationId());
+ hdrs.put("DeliveryMode", msg.getDeliveryMode());
+ hdrs.put("Expiration", msg.getExpiration());
+ hdrs.put("Priority", msg.getPriority());
+ hdrs.put("Timestamp", msg.getTimestamp());
+ hdrs.put("Type", msg.getType());
+ return hdrs;
+ }
+
/**
* Returns the header contents of the messages stored in this queue in tabular form.
*/
@@ -301,8 +319,8 @@ public class AMQQueueMBean extends AMQManagedObject implements ManagedQueue
{
AMQMessage msg = list.get(i - 1);
// Create header attributes list
- FieldTable headers = msg.getHeadersTable();
- Set<String> names = headers.keys();
+ Map headers = getHeaders(msg);
+ Set<String> names = headers.keySet();
String[] values = new String[names.size()];
int index = 0;
for (String name : names) {