Updated Branches:
  refs/heads/master ab106515a -> d6251d587

[KARAF-2549] Improve JMS browsing display


Project: http://git-wip-us.apache.org/repos/asf/karaf/repo
Commit: http://git-wip-us.apache.org/repos/asf/karaf/commit/d6251d58
Tree: http://git-wip-us.apache.org/repos/asf/karaf/tree/d6251d58
Diff: http://git-wip-us.apache.org/repos/asf/karaf/diff/d6251d58

Branch: refs/heads/master
Commit: d6251d587fc05d295e5d1eec2c78268a90ce8f09
Parents: ab10651
Author: Jean-Baptiste Onofré <[email protected]>
Authored: Thu Dec 19 15:04:51 2013 +0100
Committer: Jean-Baptiste Onofré <[email protected]>
Committed: Thu Dec 19 15:04:51 2013 +0100

----------------------------------------------------------------------
 .../apache/karaf/jms/command/BrowseCommand.java |  8 +----
 .../java/org/apache/karaf/jms/JmsMessage.java   | 37 ++++++++++++--------
 .../apache/karaf/jms/internal/JmsMBeanImpl.java |  2 +-
 .../karaf/jms/internal/JmsServiceImpl.java      |  1 +
 4 files changed, 26 insertions(+), 22 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/d6251d58/jms/command/src/main/java/org/apache/karaf/jms/command/BrowseCommand.java
----------------------------------------------------------------------
diff --git 
a/jms/command/src/main/java/org/apache/karaf/jms/command/BrowseCommand.java 
b/jms/command/src/main/java/org/apache/karaf/jms/command/BrowseCommand.java
index f2d6b13..cadd132 100644
--- a/jms/command/src/main/java/org/apache/karaf/jms/command/BrowseCommand.java
+++ b/jms/command/src/main/java/org/apache/karaf/jms/command/BrowseCommand.java
@@ -42,7 +42,7 @@ public class BrowseCommand extends JmsCommandSupport {
     @Option(name = "-p", aliases = { "--password" }, description = "Password 
to connect to the JMS broker", required = false, multiValued = false)
     String password = "karaf";
 
-    @Option(name = "-v", aliases = { "--verbose" }, description = "Display JMS 
message headers and properties", required = false, multiValued = false)
+    @Option(name = "-v", aliases = { "--verbose" }, description = "Display JMS 
properties", required = false, multiValued = false)
     boolean verbose = false;
 
     public Object doExecute() throws Exception {
@@ -61,17 +61,12 @@ public class BrowseCommand extends JmsCommandSupport {
         table.column("ReplyTo");
         table.column("Timestamp");
         if (verbose) {
-            table.column("Headers");
             table.column("Properties");
         }
 
         List<JmsMessage> messages = getJmsService().browse(connectionFactory, 
queue, selector, username, password);
         for (JmsMessage message : messages) {
             if (verbose) {
-                StringBuilder headers = new StringBuilder();
-                for (String header : message.getHeaders().keySet()) {
-                    
headers.append(header).append("=").append(message.getHeaders().get(header)).append("\n");
-                }
                 StringBuilder properties = new StringBuilder();
                 for (String property : message.getProperties().keySet()) {
                     
properties.append(property).append("=").append(message.getProperties().get(property)).append("\n");
@@ -89,7 +84,6 @@ public class BrowseCommand extends JmsCommandSupport {
                         message.isRedelivered(),
                         message.getReplyTo(),
                         message.getTimestamp(),
-                        headers.toString(),
                         properties.toString());
             } else {
                 table.addRow().addContent(

http://git-wip-us.apache.org/repos/asf/karaf/blob/d6251d58/jms/core/src/main/java/org/apache/karaf/jms/JmsMessage.java
----------------------------------------------------------------------
diff --git a/jms/core/src/main/java/org/apache/karaf/jms/JmsMessage.java 
b/jms/core/src/main/java/org/apache/karaf/jms/JmsMessage.java
index 065ac51..c159193 100644
--- a/jms/core/src/main/java/org/apache/karaf/jms/JmsMessage.java
+++ b/jms/core/src/main/java/org/apache/karaf/jms/JmsMessage.java
@@ -18,6 +18,8 @@ package org.apache.karaf.jms;
 
 import javax.jms.*;
 import java.io.UnsupportedEncodingException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
 import java.util.Enumeration;
 import java.util.HashMap;
 import java.util.Map;
@@ -27,20 +29,19 @@ import java.util.Map;
  */
 public class JmsMessage {
 
-    private Map<String, Object> headers = new HashMap<String, Object>();
     private Map<String, Object> properties = new HashMap<String, Object>();
 
     private String content;
     private String charset = "UTF-8";
     private String correlationID;
-    private int deliveryMode;
+    private String deliveryMode;
     private String destination;
-    private long expiration;
+    private String expiration;
     private String messageId;
     private int priority;
     private boolean redelivered;
     private String replyTo;
-    private long timestamp;
+    private String timestamp;
     private String type;
 
     public JmsMessage(Message message) {
@@ -61,12 +62,20 @@ public class JmsMessage {
         }
 
         correlationID = message.getJMSCorrelationID();
-        deliveryMode = message.getJMSDeliveryMode();
+        if (message.getJMSDeliveryMode() == DeliveryMode.NON_PERSISTENT) {
+            deliveryMode = "Non Persistent";
+        } else {
+            deliveryMode = "Persistent";
+        }
         Destination destinationDest = message.getJMSDestination();
         if (destinationDest != null) {
             destination = destinationDest.toString();
         }
-        expiration = message.getJMSExpiration();
+        if (message.getJMSExpiration() > 0) {
+            expiration = new Date(message.getJMSExpiration()).toString();
+        } else {
+            expiration = "Never";
+        }
         messageId = message.getJMSMessageID();
         priority = message.getJMSPriority();
         redelivered = message.getJMSRedelivered();
@@ -74,7 +83,11 @@ public class JmsMessage {
         if (replyToDest != null) {
             replyTo = replyToDest.toString();
         }
-        timestamp = message.getJMSTimestamp();
+        if (message.getJMSTimestamp() > 0) {
+            timestamp = new Date(message.getJMSTimestamp()).toString();
+        } else {
+            timestamp = "";
+        }
         type = message.getJMSType();
         content = getMessageContent(message);
     }
@@ -97,10 +110,6 @@ public class JmsMessage {
         return "";
     }
 
-    public Map<String, Object> getHeaders() {
-        return headers;
-    }
-
     public Map<String, Object> getProperties() {
         return properties;
     }
@@ -117,7 +126,7 @@ public class JmsMessage {
         return correlationID;
     }
 
-    public int getDeliveryMode() {
+    public String getDeliveryMode() {
         return deliveryMode;
     }
 
@@ -125,7 +134,7 @@ public class JmsMessage {
         return destination;
     }
 
-    public long getExpiration() {
+    public String getExpiration() {
         return expiration;
     }
 
@@ -145,7 +154,7 @@ public class JmsMessage {
         return replyTo;
     }
 
-    public long getTimestamp() {
+    public String getTimestamp() {
         return timestamp;
     }
 

http://git-wip-us.apache.org/repos/asf/karaf/blob/d6251d58/jms/core/src/main/java/org/apache/karaf/jms/internal/JmsMBeanImpl.java
----------------------------------------------------------------------
diff --git 
a/jms/core/src/main/java/org/apache/karaf/jms/internal/JmsMBeanImpl.java 
b/jms/core/src/main/java/org/apache/karaf/jms/internal/JmsMBeanImpl.java
index b682240..51de7e7 100644
--- a/jms/core/src/main/java/org/apache/karaf/jms/internal/JmsMBeanImpl.java
+++ b/jms/core/src/main/java/org/apache/karaf/jms/internal/JmsMBeanImpl.java
@@ -128,7 +128,7 @@ public class JmsMBeanImpl implements JmsMBean {
             CompositeType type = new CompositeType("message", "JMS Message",
                     new String[]{ "id", "content", "charset", "type", 
"correlation", "delivery", "destination", "expiration", "priority", 
"redelivered", "replyto", "timestamp" },
                     new String[]{ "Message ID", "Content", "Charset", "Type", 
"Correlation ID", "Delivery Mode", "Destination", "Expiration Date", 
"Priority", "Redelivered", "Reply-To", "Timestamp" },
-                    new OpenType[]{ SimpleType.STRING, SimpleType.STRING, 
SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.INTEGER, 
SimpleType.STRING, SimpleType.LONG, SimpleType.INTEGER, SimpleType.BOOLEAN, 
SimpleType.STRING, SimpleType.LONG });
+                    new OpenType[]{ SimpleType.STRING, SimpleType.STRING, 
SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, SimpleType.STRING, 
SimpleType.STRING, SimpleType.STRING, SimpleType.INTEGER, SimpleType.BOOLEAN, 
SimpleType.STRING, SimpleType.STRING });
             TabularType tableType = new TabularType("messages", "JMS 
Messages", type, new String[]{ "id" });
             TabularData table = new TabularDataSupport(tableType);
             for (JmsMessage message : 
getJmsService().browse(connectionFactory, queue, selector, username, password)) 
{

http://git-wip-us.apache.org/repos/asf/karaf/blob/d6251d58/jms/core/src/main/java/org/apache/karaf/jms/internal/JmsServiceImpl.java
----------------------------------------------------------------------
diff --git 
a/jms/core/src/main/java/org/apache/karaf/jms/internal/JmsServiceImpl.java 
b/jms/core/src/main/java/org/apache/karaf/jms/internal/JmsServiceImpl.java
index 5de89a5..b39e31a 100644
--- a/jms/core/src/main/java/org/apache/karaf/jms/internal/JmsServiceImpl.java
+++ b/jms/core/src/main/java/org/apache/karaf/jms/internal/JmsServiceImpl.java
@@ -230,6 +230,7 @@ public class JmsServiceImpl implements JmsService {
             Enumeration<Message> enumeration = browser.getEnumeration();
             while (enumeration.hasMoreElements()) {
                 Message message = enumeration.nextElement();
+
                 messages.add(new JmsMessage(message));
             }
             browser.close();

Reply via email to