You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by cl...@apache.org on 2015/05/06 17:21:05 UTC

[2/5] activemq-artemis git commit: added cluster security settings to CLI create command

added cluster security settings to CLI create command


Project: http://git-wip-us.apache.org/repos/asf/activemq-artemis/repo
Commit: http://git-wip-us.apache.org/repos/asf/activemq-artemis/commit/8446bce8
Tree: http://git-wip-us.apache.org/repos/asf/activemq-artemis/tree/8446bce8
Diff: http://git-wip-us.apache.org/repos/asf/activemq-artemis/diff/8446bce8

Branch: refs/heads/master
Commit: 8446bce8e9dbb8db78d6ec79f0d9dc910fb648c6
Parents: 0099c36
Author: Andy Taylor <an...@gmail.com>
Authored: Wed May 6 10:59:45 2015 +0100
Committer: Andy Taylor <an...@gmail.com>
Committed: Wed May 6 15:12:32 2015 +0100

----------------------------------------------------------------------
 .../activemq/artemis/cli/commands/Create.java   | 51 ++++++++++++++++++--
 .../artemis/cli/commands/etc/broker.xml         |  2 +-
 .../commands/etc/cluster-security-settings.txt  |  3 ++
 3 files changed, 50 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/8446bce8/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Create.java
----------------------------------------------------------------------
diff --git a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Create.java b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Create.java
index 8209204..9eaf4da 100644
--- a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Create.java
+++ b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/Create.java
@@ -30,6 +30,7 @@ import java.util.Arrays;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
+import java.util.Scanner;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -84,11 +85,21 @@ public class Create implements Action
    @Option(name = "--shared-store", description = "Enable broker shared store")
    boolean sharedStore = false;
 
+   @Option(name = "--cluster-user", description = "The cluster user to use for clustering")
+   String clusterUser = null;
+
+   @Option(name = "--cluster-password", description = "The cluster password to use for clustering")
+   String clusterPassword = null;
+
    @Option(name = "--encoding", description = "The encoding that text files should use")
    String encoding = "UTF-8";
 
    ActionContext context;
+
+   private Scanner scanner;
+
    boolean IS_WINDOWS;
+
    boolean IS_CYGWIN;
 
    @Override
@@ -108,14 +119,10 @@ public class Create implements Action
    public Object run(ActionContext context) throws Exception
    {
       this.context = context;
+      scanner = new Scanner(System.in);
       IS_WINDOWS = System.getProperty("os.name").toLowerCase().trim().startsWith("win");
       IS_CYGWIN = IS_WINDOWS && System.getenv("OSTYPE") == "cygwin";
 
-      if (clustered & sharedStore)
-      {
-
-      }
-
       context.out.println(String.format("Creating ActiveMQ Artemis instance at: %s", directory.getCanonicalPath()));
       if (host == null)
       {
@@ -140,11 +147,39 @@ public class Create implements Action
       filters.put("${shared-store.settings}", sharedStoreSettings);
 
       String clusterSettings = "";
+      String clusterSecuritySettings = "";
+      String clusterUserSettings = "";
+      String clusterPasswordSettings = "";
       if (clustered)
       {
          clusterSettings = readTextFile("etc/cluster-settings.txt");
+
+         if (clusterUser == null)
+         {
+            clusterUser = input("Please provide a user name for clustering (leave empty for default)");
+         }
+
+         if (clusterUser != null && clusterUser.length() > 0)
+         {
+            clusterUserSettings = clusterUser;
+            clusterSecuritySettings = readTextFile("etc/cluster-security-settings.txt");
+         }
+
+         if (clusterPassword == null)
+         {
+            clusterPassword = input("Please provide a password for clustering (leave empty for default)");
+
+         }
+
+         if (clusterPassword != null && clusterPassword.length() > 0)
+         {
+            clusterPasswordSettings = clusterPassword;
+         }
       }
+      filters.put("${cluster-security.settings}", clusterSecuritySettings);
       filters.put("${cluster.settings}", clusterSettings);
+      filters.put("${cluster-user}", clusterUserSettings);
+      filters.put("${cluster-password}", clusterPasswordSettings);
 
 
       filters.put("${user}", System.getProperty("user.name", ""));
@@ -237,6 +272,12 @@ public class Create implements Action
       return null;
    }
 
+   private String input(String prompt)
+   {
+      context.out.println(prompt);
+      return scanner.nextLine();
+   }
+
    private void makeExec(String path) throws IOException
    {
       try

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/8446bce8/artemis-cli/src/main/resources/org/apache/activemq/artemis/cli/commands/etc/broker.xml
----------------------------------------------------------------------
diff --git a/artemis-cli/src/main/resources/org/apache/activemq/artemis/cli/commands/etc/broker.xml b/artemis-cli/src/main/resources/org/apache/activemq/artemis/cli/commands/etc/broker.xml
index ed7ac67..e32e966 100644
--- a/artemis-cli/src/main/resources/org/apache/activemq/artemis/cli/commands/etc/broker.xml
+++ b/artemis-cli/src/main/resources/org/apache/activemq/artemis/cli/commands/etc/broker.xml
@@ -55,7 +55,7 @@ under the License.
          <acceptor name="hornetq">tcp://${activemq.remoting.hornetq.host:${host}}:${activemq.remoting.hornetq.port:${hq.port}}?protocols=CORE,STOMP</acceptor>
       </acceptors>
 
-      ${cluster.settings}${replicated.settings}${shared-store.settings}
+      ${cluster-security.settings}${cluster.settings}${replicated.settings}${shared-store.settings}
 
       <security-settings>
          <security-setting match="#">

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/8446bce8/artemis-cli/src/main/resources/org/apache/activemq/artemis/cli/commands/etc/cluster-security-settings.txt
----------------------------------------------------------------------
diff --git a/artemis-cli/src/main/resources/org/apache/activemq/artemis/cli/commands/etc/cluster-security-settings.txt b/artemis-cli/src/main/resources/org/apache/activemq/artemis/cli/commands/etc/cluster-security-settings.txt
new file mode 100644
index 0000000..bb81780
--- /dev/null
+++ b/artemis-cli/src/main/resources/org/apache/activemq/artemis/cli/commands/etc/cluster-security-settings.txt
@@ -0,0 +1,3 @@
+
+      <cluster-user>${cluster-user}</cluster-user>
+      <cluster-password>${cluster-password}</cluster-password>
\ No newline at end of file