Updated Branches:
  refs/heads/master e00f8d48a -> 2f57d0a05

[KARAF-2549] Add username/password support in jms feature


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

Branch: refs/heads/master
Commit: 2f57d0a05382fb16d467540c712ef606f851cf67
Parents: e00f8d4
Author: Jean-Baptiste Onofré <[email protected]>
Authored: Thu Dec 19 10:43:55 2013 +0100
Committer: Jean-Baptiste Onofré <[email protected]>
Committed: Thu Dec 19 10:43:55 2013 +0100

----------------------------------------------------------------------
 .../apache/karaf/jms/command/BrowseCommand.java |  8 ++++-
 .../karaf/jms/command/ConsumeCommand.java       |  8 ++++-
 .../apache/karaf/jms/command/CountCommand.java  |  9 +++++-
 .../apache/karaf/jms/command/InfoCommand.java   |  9 +++++-
 .../apache/karaf/jms/command/MoveCommand.java   |  8 ++++-
 .../apache/karaf/jms/command/QueuesCommand.java |  9 +++++-
 .../apache/karaf/jms/command/SendCommand.java   |  8 ++++-
 .../apache/karaf/jms/command/TopicsCommand.java |  9 +++++-
 .../java/org/apache/karaf/jms/JmsMBean.java     | 32 +++++++++++++-----
 .../java/org/apache/karaf/jms/JmsService.java   | 32 +++++++++++++-----
 .../apache/karaf/jms/internal/JmsMBeanImpl.java | 32 +++++++++---------
 .../karaf/jms/internal/JmsServiceImpl.java      | 34 ++++++++++----------
 12 files changed, 141 insertions(+), 57 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/karaf/blob/2f57d0a0/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 8c51378..f2d6b13 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
@@ -36,6 +36,12 @@ public class BrowseCommand extends JmsCommandSupport {
     @Option(name = "-s", aliases = { "--selector" }, description = "The 
selector to select the messages to browse", required = false, multiValued = 
false)
     String selector;
 
+    @Option(name = "-u", aliases = { "--username" }, description = "Username 
to connect to the JMS broker", required = false, multiValued = false)
+    String username = "karaf";
+
+    @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)
     boolean verbose = false;
 
@@ -59,7 +65,7 @@ public class BrowseCommand extends JmsCommandSupport {
             table.column("Properties");
         }
 
-        List<JmsMessage> messages = getJmsService().browse(connectionFactory, 
queue, selector);
+        List<JmsMessage> messages = getJmsService().browse(connectionFactory, 
queue, selector, username, password);
         for (JmsMessage message : messages) {
             if (verbose) {
                 StringBuilder headers = new StringBuilder();

http://git-wip-us.apache.org/repos/asf/karaf/blob/2f57d0a0/jms/command/src/main/java/org/apache/karaf/jms/command/ConsumeCommand.java
----------------------------------------------------------------------
diff --git 
a/jms/command/src/main/java/org/apache/karaf/jms/command/ConsumeCommand.java 
b/jms/command/src/main/java/org/apache/karaf/jms/command/ConsumeCommand.java
index f3f4bd4..8ee992c 100644
--- a/jms/command/src/main/java/org/apache/karaf/jms/command/ConsumeCommand.java
+++ b/jms/command/src/main/java/org/apache/karaf/jms/command/ConsumeCommand.java
@@ -32,9 +32,15 @@ public class ConsumeCommand extends JmsCommandSupport {
     @Option(name = "-s", aliases = { "--selector" }, description = "The 
selector to use to select the messages to consume", required = false, 
multiValued = false)
     String selector;
 
+    @Option(name = "-u", aliases = { "--username" }, description = "Username 
to connect to the JMS broker", required = false, multiValued = false)
+    String username = "karaf";
+
+    @Option(name = "-p", aliases = { "--password" }, description = "Password 
to connect to the JMS broker", required = false, multiValued = false)
+    String password = "karaf";
+
     public Object doExecute() throws Exception {
 
-        System.out.println(getJmsService().consume(connectionFactory, queue, 
selector) + " message(s) consumed");
+        System.out.println(getJmsService().consume(connectionFactory, queue, 
selector, username, password) + " message(s) consumed");
 
         return null;
     }

http://git-wip-us.apache.org/repos/asf/karaf/blob/2f57d0a0/jms/command/src/main/java/org/apache/karaf/jms/command/CountCommand.java
----------------------------------------------------------------------
diff --git 
a/jms/command/src/main/java/org/apache/karaf/jms/command/CountCommand.java 
b/jms/command/src/main/java/org/apache/karaf/jms/command/CountCommand.java
index 1904b7e..7d8ad9c 100644
--- a/jms/command/src/main/java/org/apache/karaf/jms/command/CountCommand.java
+++ b/jms/command/src/main/java/org/apache/karaf/jms/command/CountCommand.java
@@ -18,6 +18,7 @@ package org.apache.karaf.jms.command;
 
 import org.apache.karaf.shell.commands.Argument;
 import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.commands.Option;
 import org.apache.karaf.shell.table.ShellTable;
 
 @Command(scope = "jms", name = "count", description = "Count the number of 
messages on a JMS queue.")
@@ -29,12 +30,18 @@ public class CountCommand extends JmsCommandSupport {
     @Argument(index = 1, name = "queue", description = "The JMS queue name", 
required = true, multiValued = false)
     String queue;
 
+    @Option(name = "-u", aliases = { "--username" }, description = "Username 
to connect to the JMS broker", required = false, multiValued = false)
+    String username = "karaf";
+
+    @Option(name = "-p", aliases = { "--password" }, description = "Password 
to connect to the JMS broker", required = false, multiValued = false)
+    String password = "karaf";
+
     public Object doExecute() throws Exception {
         ShellTable table = new ShellTable();
 
         table.column("Messages Count");
 
-        table.addRow().addContent(getJmsService().count(connectionFactory, 
queue));
+        table.addRow().addContent(getJmsService().count(connectionFactory, 
queue, username, password));
 
         table.print(System.out);
         return null;

http://git-wip-us.apache.org/repos/asf/karaf/blob/2f57d0a0/jms/command/src/main/java/org/apache/karaf/jms/command/InfoCommand.java
----------------------------------------------------------------------
diff --git 
a/jms/command/src/main/java/org/apache/karaf/jms/command/InfoCommand.java 
b/jms/command/src/main/java/org/apache/karaf/jms/command/InfoCommand.java
index 69b13ba..9d7ee22 100644
--- a/jms/command/src/main/java/org/apache/karaf/jms/command/InfoCommand.java
+++ b/jms/command/src/main/java/org/apache/karaf/jms/command/InfoCommand.java
@@ -18,6 +18,7 @@ package org.apache.karaf.jms.command;
 
 import org.apache.karaf.shell.commands.Argument;
 import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.commands.Option;
 import org.apache.karaf.shell.table.ShellTable;
 
 import java.util.Map;
@@ -28,12 +29,18 @@ public class InfoCommand extends JmsCommandSupport {
     @Argument(index = 0, name = "connectionFactory", description = "The JMS 
connection factory name", required = true, multiValued = false)
     String connectionFactory;
 
+    @Option(name = "-u", aliases = { "--username" }, description = "Username 
to connect to the JMS broker", required = false, multiValued = false)
+    String username = "karaf";
+
+    @Option(name = "-p", aliases = { "--password" }, description = "Password 
to connect to the JMS broker", required = false, multiValued = false)
+    String password = "karaf";
+
     public Object doExecute() throws Exception {
         ShellTable table = new ShellTable();
         table.column("Property");
         table.column("Value");
 
-        Map<String, String> info = getJmsService().info(connectionFactory);
+        Map<String, String> info = getJmsService().info(connectionFactory, 
username, password);
         for (String key : info.keySet()) {
             table.addRow().addContent(key, info.get(key));
         }

http://git-wip-us.apache.org/repos/asf/karaf/blob/2f57d0a0/jms/command/src/main/java/org/apache/karaf/jms/command/MoveCommand.java
----------------------------------------------------------------------
diff --git 
a/jms/command/src/main/java/org/apache/karaf/jms/command/MoveCommand.java 
b/jms/command/src/main/java/org/apache/karaf/jms/command/MoveCommand.java
index e8a3530..7e08188 100644
--- a/jms/command/src/main/java/org/apache/karaf/jms/command/MoveCommand.java
+++ b/jms/command/src/main/java/org/apache/karaf/jms/command/MoveCommand.java
@@ -35,8 +35,14 @@ public class MoveCommand extends JmsCommandSupport {
     @Option(name = "-s", aliases = { "--selector" }, description = "Selector 
to move only some messages", required = false, multiValued = false)
     String selector;
 
+    @Option(name = "-u", aliases = { "--username" }, description = "Username 
to connect to the JMS broker", required = false, multiValued = false)
+    String username = "karaf";
+
+    @Option(name = "-p", aliases = { "--password" }, description = "Password 
to connect to the JMS broker", required = false, multiValued = false)
+    String password = "karaf";
+
     public Object doExecute() throws Exception {
-        System.out.println(getJmsService().move(connectionFactory, source, 
destination, selector) + " message(s) moved");
+        System.out.println(getJmsService().move(connectionFactory, source, 
destination, selector, username, password) + " message(s) moved");
         return null;
     }
 

http://git-wip-us.apache.org/repos/asf/karaf/blob/2f57d0a0/jms/command/src/main/java/org/apache/karaf/jms/command/QueuesCommand.java
----------------------------------------------------------------------
diff --git 
a/jms/command/src/main/java/org/apache/karaf/jms/command/QueuesCommand.java 
b/jms/command/src/main/java/org/apache/karaf/jms/command/QueuesCommand.java
index 254616c..91aff83 100644
--- a/jms/command/src/main/java/org/apache/karaf/jms/command/QueuesCommand.java
+++ b/jms/command/src/main/java/org/apache/karaf/jms/command/QueuesCommand.java
@@ -18,6 +18,7 @@ package org.apache.karaf.jms.command;
 
 import org.apache.karaf.shell.commands.Argument;
 import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.commands.Option;
 import org.apache.karaf.shell.table.ShellTable;
 
 @Command(scope = "jms", name = "queues", description = "List the JMS queues.")
@@ -26,12 +27,18 @@ public class QueuesCommand extends JmsCommandSupport {
     @Argument(index = 0, name = "connectionFactory", description= "The JMS 
connection factory name", required = true, multiValued = false)
     String connectionFactory;
 
+    @Option(name = "-u", aliases = { "--username" }, description = "Username 
to connect to the JMS broker", required = false, multiValued = false)
+    String username = "karaf";
+
+    @Option(name = "-p", aliases = { "--password" }, description = "Password 
to connect to the JMS broker", required = false, multiValued = false)
+    String password = "karaf";
+
     public Object doExecute() throws Exception {
         ShellTable table = new ShellTable();
 
         table.column("JMS Queues");
 
-        for (String queue : getJmsService().queues(connectionFactory)) {
+        for (String queue : getJmsService().queues(connectionFactory, 
username, password)) {
             table.addRow().addContent(queue);
         }
 

http://git-wip-us.apache.org/repos/asf/karaf/blob/2f57d0a0/jms/command/src/main/java/org/apache/karaf/jms/command/SendCommand.java
----------------------------------------------------------------------
diff --git 
a/jms/command/src/main/java/org/apache/karaf/jms/command/SendCommand.java 
b/jms/command/src/main/java/org/apache/karaf/jms/command/SendCommand.java
index 995c907..758881d 100644
--- a/jms/command/src/main/java/org/apache/karaf/jms/command/SendCommand.java
+++ b/jms/command/src/main/java/org/apache/karaf/jms/command/SendCommand.java
@@ -35,8 +35,14 @@ public class SendCommand extends JmsCommandSupport {
     @Option(name = "-r", aliases = { "--replyTo" }, description = "Set the 
message ReplyTo", required = false, multiValued = false)
     String replyTo;
 
+    @Option(name = "-u", aliases = { "--username" }, description = "Username 
to connect to the JMS broker", required = false, multiValued = false)
+    String username = "karaf";
+
+    @Option(name = "-p", aliases = { "--password" }, description = "Password 
to connect to the JMS broker", required = false, multiValued = false)
+    String password = "karaf";
+
     public Object doExecute() throws Exception {
-        getJmsService().send(connectionFactory, queue, message, replyTo);
+        getJmsService().send(connectionFactory, queue, message, replyTo, 
username, password);
         return null;
     }
 

http://git-wip-us.apache.org/repos/asf/karaf/blob/2f57d0a0/jms/command/src/main/java/org/apache/karaf/jms/command/TopicsCommand.java
----------------------------------------------------------------------
diff --git 
a/jms/command/src/main/java/org/apache/karaf/jms/command/TopicsCommand.java 
b/jms/command/src/main/java/org/apache/karaf/jms/command/TopicsCommand.java
index de8707d..8993fa8 100644
--- a/jms/command/src/main/java/org/apache/karaf/jms/command/TopicsCommand.java
+++ b/jms/command/src/main/java/org/apache/karaf/jms/command/TopicsCommand.java
@@ -18,6 +18,7 @@ package org.apache.karaf.jms.command;
 
 import org.apache.karaf.shell.commands.Argument;
 import org.apache.karaf.shell.commands.Command;
+import org.apache.karaf.shell.commands.Option;
 import org.apache.karaf.shell.table.ShellTable;
 
 @Command(scope = "jms", name = "topics", description = "List the JMS topics.")
@@ -26,12 +27,18 @@ public class TopicsCommand extends JmsCommandSupport {
     @Argument(index = 0, name = "connectionFactory", description = "The JMS 
connection factory name", required = true, multiValued = false)
     String connectionFactory;
 
+    @Option(name = "-u", aliases = { "--username" }, description = "Username 
to connect to the JMS broker", required = false, multiValued = false)
+    String username = "karaf";
+
+    @Option(name = "-p", aliases = { "--password" }, description = "Password 
to connect to the JMS broker", required = false, multiValued = false)
+    String password = "karaf";
+
     public Object doExecute() throws Exception {
         ShellTable table = new ShellTable();
 
         table.column("JMS Topics");
 
-        for (String topic : getJmsService().topics(connectionFactory)) {
+        for (String topic : getJmsService().topics(connectionFactory, 
username, password)) {
             table.addRow().addContent(topic);
         }
 

http://git-wip-us.apache.org/repos/asf/karaf/blob/2f57d0a0/jms/core/src/main/java/org/apache/karaf/jms/JmsMBean.java
----------------------------------------------------------------------
diff --git a/jms/core/src/main/java/org/apache/karaf/jms/JmsMBean.java 
b/jms/core/src/main/java/org/apache/karaf/jms/JmsMBean.java
index de91fc8..8540b86 100644
--- a/jms/core/src/main/java/org/apache/karaf/jms/JmsMBean.java
+++ b/jms/core/src/main/java/org/apache/karaf/jms/JmsMBean.java
@@ -56,38 +56,46 @@ public interface JmsMBean {
      * Get details about a JMS connection factory.
      *
      * @param connectionFactory the JMS connection factory name.
+     * @param username optional username to connect to the JMS broker.
+     * @param password optional password to connect to the JMS broker.
      * @return a map (property/value) containing details.
      * @throws MBeanException
      */
-    Map<String, String> info(String connectionFactory) throws MBeanException;
+    Map<String, String> info(String connectionFactory, String username, String 
password) throws MBeanException;
 
     /**
      * Count the messages on a given JMS queue.
      *
      * @param connectionFactory the JMS connection factory name.
      * @param queue the JMS queue name.
+     * @param username optional username to connect to the JMS broker.
+     * @param password optional password to connect to the JMS broker.
      * @return
      * @throws MBeanException
      */
-    int count(String connectionFactory, String queue) throws MBeanException;
+    int count(String connectionFactory, String queue, String username, String 
password) throws MBeanException;
 
     /**
      * List the JMS queues.
      *
      * @param connectionFactory the JMS connection factory name.
+     * @param username optional username to connect to the JMS broker.
+     * @param password optional password to connect to the JMS broker.
      * @return the list of JMS queues.
      * @throws MBeanException
      */
-    List<String> queues(String connectionFactory) throws MBeanException;
+    List<String> queues(String connectionFactory, String username, String 
password) throws MBeanException;
 
     /**
      * List the JMS topics.
      *
      * @param connectionFactory the JMS connection factory name.
+     * @param username optional username to connect to the JMS broker.
+     * @param password optional password to connect to the JMS broker.
      * @return the list of JMS topics.
      * @throws MBeanException
      */
-    List<String> topics(String connectionFactory) throws MBeanException;
+    List<String> topics(String connectionFactory, String username, String 
password) throws MBeanException;
 
     /**
      * Browse the messages in a JMS queue.
@@ -95,10 +103,12 @@ public interface JmsMBean {
      * @param connectionFactory the JMS connection factory name.
      * @param queue the JMS queue name.
      * @param selector a selector to use to browse only certain messages.
+     * @param username optional username to connect to the JMS broker.
+     * @param password optional password to connect to the JMS broker.
      * @return a tabular data with messages details.
      * @throws MBeanException
      */
-    TabularData browse(String connectionFactory, String queue, String 
selector) throws MBeanException;
+    TabularData browse(String connectionFactory, String queue, String 
selector, String username, String password) throws MBeanException;
 
     /**
      * Send a JMS message to given queue.
@@ -107,9 +117,11 @@ public interface JmsMBean {
      * @param queue the JMS queue name.
      * @param content the message content.
      * @param replyTo the message ReplyTo.
+     * @param username optional username to connect to the JMS broker.
+     * @param password optional password to connect to the JMS broker.
      * @throws MBeanException
      */
-    void send(String connectionFactory, String queue, String content, String 
replyTo) throws MBeanException;
+    void send(String connectionFactory, String queue, String content, String 
replyTo, String username, String password) throws MBeanException;
 
     /**
      * Consume JMS messages from a given queue.
@@ -117,10 +129,12 @@ public interface JmsMBean {
      * @param connectionFactory the JMS connection factory name.
      * @param queue the JMS queue name.
      * @param selector a selector to use to consume only certain messages.
+     * @param username optional username to connect to the JMS broker.
+     * @param password optional password to connect to the JMS broker.
      * @return the number of messages consumed.
      * @throws MBeanException
      */
-    int consume(String connectionFactory, String queue, String selector) 
throws MBeanException;
+    int consume(String connectionFactory, String queue, String selector, 
String username, String password) throws MBeanException;
 
     /**
      * Move JMS messages from one queue to another.
@@ -129,9 +143,11 @@ public interface JmsMBean {
      * @param source the source JMS queue name.
      * @param destination the destination JMS queue name.
      * @param selector a selector to move only certain messages.
+     * @param username optional username to connect to the JMS broker.
+     * @param password optional password to connect to the JMS broker.
      * @return the number of messages moved.
      * @throws MBeanException
      */
-    int move(String connectionFactory, String source, String destination, 
String selector) throws MBeanException;
+    int move(String connectionFactory, String source, String destination, 
String selector, String username, String password) throws MBeanException;
 
 }

http://git-wip-us.apache.org/repos/asf/karaf/blob/2f57d0a0/jms/core/src/main/java/org/apache/karaf/jms/JmsService.java
----------------------------------------------------------------------
diff --git a/jms/core/src/main/java/org/apache/karaf/jms/JmsService.java 
b/jms/core/src/main/java/org/apache/karaf/jms/JmsService.java
index 92d046d..fbcd67e 100644
--- a/jms/core/src/main/java/org/apache/karaf/jms/JmsService.java
+++ b/jms/core/src/main/java/org/apache/karaf/jms/JmsService.java
@@ -54,38 +54,46 @@ public interface JmsService {
      * Get details about a given JMS connection factory.
      *
      * @param connectionFactory the JMS connection factory name.
+     * @param username optional username to connect to the JMS broker.
+     * @param password optional password to connect to the JMS broker.
      * @return a map (property/value) containing details.
      * @throws Exception
      */
-    Map<String, String> info(String connectionFactory) throws Exception;
+    Map<String, String> info(String connectionFactory, String username, String 
password) throws Exception;
 
     /**
      * Count the number of messages in a JMS queue.
      *
      * @param connectionFactory the JMS connection factory name.
      * @param queue the queue name.
+     * @param username optional username to connect to the JMS broker.
+     * @param password optional password to connect to the JMS broker.
      * @return the number of messages in a JMS queue.
      * @throws Exception
      */
-    int count(String connectionFactory, String queue) throws Exception;
+    int count(String connectionFactory, String queue, String username, String 
password) throws Exception;
 
     /**
      * List the queues.
      *
      * @param connectionFactory the JMS connection factory name.
+     * @param username optional username to connect to the JMS broker.
+     * @param password optional password to connect to the JMS broker.
      * @return the list of queues.
      * @throws Exception
      */
-    List<String> queues(String connectionFactory) throws Exception;
+    List<String> queues(String connectionFactory, String username, String 
password) throws Exception;
 
     /**
      * List the topics.
      *
      * @param connectionFactory the JMS connection factory name.
+     * @param username optional username to connect to the JMS broker.
+     * @param password optional password to connect to the JMS broker.
      * @return the list of topics.
      * @throws Exception
      */
-    List<String> topics(String connectionFactory) throws Exception;
+    List<String> topics(String connectionFactory, String username, String 
password) throws Exception;
 
     /**
      * Browse a destination.
@@ -93,10 +101,12 @@ public interface JmsService {
      * @param connectionFactory the JMS connection factory name.
      * @param queue the queue name.
      * @param selector the selector.
+     * @param username optional username to connect to the JMS broker.
+     * @param password optional password to connect to the JMS broker.
      * @return the list of messages.
      * @throws Exception
      */
-    List<JmsMessage> browse(String connectionFactory, String queue, String 
selector) throws Exception;
+    List<JmsMessage> browse(String connectionFactory, String queue, String 
selector, String username, String password) throws Exception;
 
     /**
      * Send a message on the given queue.
@@ -105,9 +115,11 @@ public interface JmsService {
      * @param queue the queue name.
      * @param body the message body.
      * @param replyTo the message replyTo header.
+     * @param username optional username to connect to the JMS broker.
+     * @param password optional password to connect to the JMS broker.
      * @throws Exception
      */
-    void send(String connectionFactory, String queue, String body, String 
replyTo) throws Exception;
+    void send(String connectionFactory, String queue, String body, String 
replyTo, String username, String password) throws Exception;
 
     /**
      * Consume messages from a given destination.
@@ -115,10 +127,12 @@ public interface JmsService {
      * @param connectionFactory the JMS connection factory name.
      * @param queue the queue name.
      * @param selector the messages selector.
+     * @param username optional username to connect to the JMS broker.
+     * @param password optional password to connect to the JMS broker.
      * @return the number of messages consumed.
      * @throws Exception
      */
-    int consume(String connectionFactory, String queue, String selector) 
throws Exception;
+    int consume(String connectionFactory, String queue, String selector, 
String username, String password) throws Exception;
 
     /**
      * Move messages from a destination to another.
@@ -127,9 +141,11 @@ public interface JmsService {
      * @param sourceQueue the source queue.
      * @param targetQueue the target queue.
      * @param selector the messages selector on the source queue.
+     * @param username optional username to connect to the JMS broker.
+     * @param password optional password to connect to the JMS broker.
      * @return the number of messages moved.
      * @throws Exception
      */
-    int move(String connectionFactory, String sourceQueue, String targetQueue, 
String selector) throws Exception;
+    int move(String connectionFactory, String sourceQueue, String targetQueue, 
String selector, String username, String password) throws Exception;
 
 }

http://git-wip-us.apache.org/repos/asf/karaf/blob/2f57d0a0/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 a49b7a0..b682240 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
@@ -60,70 +60,70 @@ public class JmsMBeanImpl implements JmsMBean {
     }
 
     @Override
-    public Map<String, String> info(String connectionFactory) throws 
MBeanException {
+    public Map<String, String> info(String connectionFactory, String username, 
String password) throws MBeanException {
         try {
-            return jmsService.info(connectionFactory);
+            return jmsService.info(connectionFactory, username, password);
         } catch (Throwable t) {
             throw new MBeanException(null, t.getMessage());
         }
     }
 
     @Override
-    public int count(String connectionFactory, String queue) throws 
MBeanException {
+    public int count(String connectionFactory, String queue, String username, 
String password) throws MBeanException {
         try {
-            return jmsService.count(connectionFactory, queue);
+            return jmsService.count(connectionFactory, queue, username, 
password);
         } catch (Throwable t) {
             throw new MBeanException(null, t.getMessage());
         }
     }
 
     @Override
-    public List<String> queues(String connectionFactory) throws MBeanException 
{
+    public List<String> queues(String connectionFactory, String username, 
String password) throws MBeanException {
         try {
-            return jmsService.queues(connectionFactory);
+            return jmsService.queues(connectionFactory, username, password);
         } catch (Throwable t) {
             throw new MBeanException(null, t.getMessage());
         }
     }
 
     @Override
-    public List<String> topics(String connectionFactory) throws MBeanException 
{
+    public List<String> topics(String connectionFactory, String username, 
String password) throws MBeanException {
         try {
-            return jmsService.topics(connectionFactory);
+            return jmsService.topics(connectionFactory, username, password);
         } catch (Throwable t) {
             throw new MBeanException(null, t.getMessage());
         }
     }
 
     @Override
-    public void send(String connectionFactory, String queue, String content, 
String replyTo) throws MBeanException {
+    public void send(String connectionFactory, String queue, String content, 
String replyTo, String username, String password) throws MBeanException {
         try {
-            jmsService.send(connectionFactory, queue, content, replyTo);
+            jmsService.send(connectionFactory, queue, content, replyTo, 
username, password);
         } catch (Throwable t) {
             throw new MBeanException(null, t.getMessage());
         }
     }
 
     @Override
-    public int consume(String connectionFactory, String queue, String 
selector) throws MBeanException {
+    public int consume(String connectionFactory, String queue, String 
selector, String username, String password) throws MBeanException {
         try {
-            return jmsService.consume(connectionFactory, queue, selector);
+            return jmsService.consume(connectionFactory, queue, selector, 
username, password);
         } catch (Throwable t) {
             throw new MBeanException(null, t.getMessage());
         }
     }
 
     @Override
-    public int move(String connectionFactory, String source, String 
destination, String selector) throws MBeanException {
+    public int move(String connectionFactory, String source, String 
destination, String selector, String username, String password) throws 
MBeanException {
         try {
-            return jmsService.move(connectionFactory, source, destination, 
selector);
+            return jmsService.move(connectionFactory, source, destination, 
selector, username, password);
         } catch (Throwable t) {
             throw new MBeanException(null, t.getMessage());
         }
     }
 
     @Override
-    public TabularData browse(String connectionFactory, String queue, String 
selector) throws MBeanException {
+    public TabularData browse(String connectionFactory, String queue, String 
selector, String username, String password) throws MBeanException {
         try {
             CompositeType type = new CompositeType("message", "JMS Message",
                     new String[]{ "id", "content", "charset", "type", 
"correlation", "delivery", "destination", "expiration", "priority", 
"redelivered", "replyto", "timestamp" },
@@ -131,7 +131,7 @@ public class JmsMBeanImpl implements JmsMBean {
                     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 });
             TabularType tableType = new TabularType("messages", "JMS 
Messages", type, new String[]{ "id" });
             TabularData table = new TabularDataSupport(tableType);
-            for (JmsMessage message : 
getJmsService().browse(connectionFactory, queue, selector)) {
+            for (JmsMessage message : 
getJmsService().browse(connectionFactory, queue, selector, username, password)) 
{
                 CompositeData data = new CompositeDataSupport(type,
                         new String[]{ "id", "content", "charset", "type", 
"correlation", "delivery", "destination", "expiration", "priority", 
"redelivered", "replyto", "timestamp" },
                         new Object[]{ message.getMessageId(), 
message.getContent(), message.getCharset(), message.getType(), 
message.getCorrelationID(), message.getDeliveryMode(), 
message.getDestination(), message.getExpiration(), message.getProperties(), 
message.isRedelivered(), message.getReplyTo(), message.getTimestamp() }

http://git-wip-us.apache.org/repos/asf/karaf/blob/2f57d0a0/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 223169c..5f525a2 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
@@ -47,7 +47,7 @@ public class JmsServiceImpl implements JmsService {
 
         File karafBase = new File(System.getProperty("karaf.base"));
         File deployFolder = new File(karafBase, "deploy");
-        File outFile = new File(deployFolder, "connectionfactory-" + name + 
".xml");
+        File  outFile = new File(deployFolder, "connectionfactory-" + name + 
".xml");
 
         if (type.equalsIgnoreCase("activemq")) {
             // activemq
@@ -101,13 +101,13 @@ public class JmsServiceImpl implements JmsService {
     }
 
     @Override
-    public Map<String, String> info(String connectionFactory) throws Exception 
{
+    public Map<String, String> info(String connectionFactory, String username, 
String password) throws Exception {
         Map<String, String> map = new HashMap<String, String>();
         ServiceReference reference = 
this.lookupConnectionFactory(connectionFactory);
         Connection connection = null;
         try {
             ConnectionFactory cf = (ConnectionFactory) 
bundleContext.getService(reference);
-            connection = cf.createConnection();
+            connection = cf.createConnection(username, password);
             ConnectionMetaData metaData = connection.getMetaData();
             map.put("product", metaData.getJMSProviderName());
             map.put("version", metaData.getProviderVersion());
@@ -123,13 +123,13 @@ public class JmsServiceImpl implements JmsService {
     }
 
     @Override
-    public int count(String connectionFactory, String destination) throws 
Exception {
+    public int count(String connectionFactory, String destination, String 
username, String password) throws Exception {
         ServiceReference reference = 
this.lookupConnectionFactory(connectionFactory);
         Connection connection = null;
         Session session = null;
         try {
             ConnectionFactory cf = (ConnectionFactory) 
bundleContext.getService(reference);
-            connection = cf.createConnection();
+            connection = cf.createConnection(username, password);
             session = connection.createSession(false, 
Session.AUTO_ACKNOWLEDGE);
             QueueBrowser browser = 
session.createBrowser(session.createQueue(destination));
             Enumeration<Message> enumeration = browser.getEnumeration();
@@ -154,13 +154,13 @@ public class JmsServiceImpl implements JmsService {
     }
 
     @Override
-    public List<String> queues(String connectionFactory) throws Exception {
+    public List<String> queues(String connectionFactory, String username, 
String password) throws Exception {
         List<String> queues = new ArrayList<String>();
         ServiceReference reference = 
this.lookupConnectionFactory(connectionFactory);
         Connection connection = null;
         try {
             ConnectionFactory cf = (ConnectionFactory) 
bundleContext.getService(reference);
-            connection = cf.createConnection();
+            connection = cf.createConnection(username, password);
             if (connection instanceof PooledConnection) {
                 connection = ((PooledConnection) connection).getConnection();
             }
@@ -183,13 +183,13 @@ public class JmsServiceImpl implements JmsService {
     }
 
     @Override
-    public List<String> topics(String connectionFactory) throws Exception {
+    public List<String> topics(String connectionFactory, String username, 
String password) throws Exception {
         List<String> topics = new ArrayList<String>();
         ServiceReference reference = 
this.lookupConnectionFactory(connectionFactory);
         Connection connection = null;
         try {
             ConnectionFactory cf = (ConnectionFactory) 
bundleContext.getService(reference);
-            connection = cf.createConnection();
+            connection = cf.createConnection(username, password);
             if (connection instanceof PooledConnection) {
                 connection = ((PooledConnection) connection).getConnection();
             }
@@ -212,14 +212,14 @@ public class JmsServiceImpl implements JmsService {
     }
 
     @Override
-    public List<JmsMessage> browse(String connectionFactory, String queue, 
String filter) throws Exception {
+    public List<JmsMessage> browse(String connectionFactory, String queue, 
String filter, String username, String password) throws Exception {
         List<JmsMessage> messages = new ArrayList<JmsMessage>();
         ServiceReference reference = 
this.lookupConnectionFactory(connectionFactory);
         Connection connection = null;
         Session session = null;
         try {
             ConnectionFactory cf = (ConnectionFactory) 
bundleContext.getService(reference);
-            connection = cf.createConnection();
+            connection = cf.createConnection(username, password);
             session = connection.createSession(false, 
Session.AUTO_ACKNOWLEDGE);
             QueueBrowser browser = 
session.createBrowser(session.createQueue(queue), filter);
             Enumeration<Message> enumeration = browser.getEnumeration();
@@ -243,13 +243,13 @@ public class JmsServiceImpl implements JmsService {
     }
 
     @Override
-    public void send(String connectionFactory, String queue, String body, 
String replyTo) throws Exception {
+    public void send(String connectionFactory, String queue, String body, 
String replyTo, String username, String password) throws Exception {
         ServiceReference reference = 
this.lookupConnectionFactory(connectionFactory);
         Connection connection = null;
         Session session = null;
         try {
             ConnectionFactory cf = (ConnectionFactory) 
bundleContext.getService(reference);
-            connection = cf.createConnection();
+            connection = cf.createConnection(username, password);
             session = connection.createSession(false, 
Session.AUTO_ACKNOWLEDGE);
             Message message = session.createTextMessage(body);
             if (replyTo != null) {
@@ -272,14 +272,14 @@ public class JmsServiceImpl implements JmsService {
     }
 
     @Override
-    public int consume(String connectionFactory, String queue, String 
selector) throws Exception {
+    public int consume(String connectionFactory, String queue, String 
selector, String username, String password) throws Exception {
         int count = 0;
         ServiceReference reference = 
this.lookupConnectionFactory(connectionFactory);
         Connection connection = null;
         Session session = null;
         try {
             ConnectionFactory cf = (ConnectionFactory) 
bundleContext.getService(reference);
-            connection = cf.createConnection();
+            connection = cf.createConnection(username, password);
             session = connection.createSession(false, 
Session.AUTO_ACKNOWLEDGE);
             MessageConsumer consumer = 
session.createConsumer(session.createQueue(queue), selector);
             Message message;
@@ -304,14 +304,14 @@ public class JmsServiceImpl implements JmsService {
     }
 
     @Override
-    public int move(String connectionFactory, String sourceQueue, String 
targetQueue, String selector) throws Exception {
+    public int move(String connectionFactory, String sourceQueue, String 
targetQueue, String selector, String username, String password) throws 
Exception {
         int count = 0;
         ServiceReference reference = 
this.lookupConnectionFactory(connectionFactory);
         Connection connection = null;
         Session session = null;
         try {
             ConnectionFactory cf = (ConnectionFactory) 
bundleContext.getService(reference);
-            connection = cf.createConnection();
+            connection = cf.createConnection(username, password);
             session = connection.createSession(true, 
Session.SESSION_TRANSACTED);
             MessageConsumer consumer = 
session.createConsumer(session.createQueue(sourceQueue), selector);
             Message message;

Reply via email to