NO-JIRA: adding Migrate1X into CLI

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

Branch: refs/heads/master
Commit: a8855399ee3d60473ad1cec72226b96cf3ef020e
Parents: 3d8bb9c
Author: Clebert Suconic <[email protected]>
Authored: Fri Dec 16 10:23:48 2016 -0500
Committer: Justin Bertram <[email protected]>
Committed: Fri Dec 16 10:55:00 2016 -0600

----------------------------------------------------------------------
 artemis-cli/pom.xml                             |  5 +++
 .../apache/activemq/artemis/cli/Artemis.java    |  2 +
 .../cli/commands/migration1x/Migrate1X.java     | 47 ++++++++++++++++++++
 .../artemis/tools/migrate/config/Main.java      |  1 +
 4 files changed, 55 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/a8855399/artemis-cli/pom.xml
----------------------------------------------------------------------
diff --git a/artemis-cli/pom.xml b/artemis-cli/pom.xml
index 0a2702a..06b1731 100644
--- a/artemis-cli/pom.xml
+++ b/artemis-cli/pom.xml
@@ -45,6 +45,11 @@
       </dependency>
       <dependency>
          <groupId>org.apache.activemq</groupId>
+         <artifactId>artemis-tools</artifactId>
+         <version>${project.version}</version>
+      </dependency>
+      <dependency>
+         <groupId>org.apache.activemq</groupId>
          <artifactId>artemis-dto</artifactId>
          <version>${project.version}</version>
       </dependency>

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/a8855399/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/Artemis.java
----------------------------------------------------------------------
diff --git 
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/Artemis.java 
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/Artemis.java
index 0f320ec..6d5354c 100644
--- a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/Artemis.java
+++ b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/Artemis.java
@@ -36,6 +36,7 @@ import 
org.apache.activemq.artemis.cli.commands.address.DeleteAddress;
 import org.apache.activemq.artemis.cli.commands.address.HelpAddress;
 import org.apache.activemq.artemis.cli.commands.address.ShowAddress;
 import org.apache.activemq.artemis.cli.commands.address.UpdateAddress;
+import org.apache.activemq.artemis.cli.commands.migration1x.Migrate1X;
 import org.apache.activemq.artemis.cli.commands.queue.CreateQueue;
 import org.apache.activemq.artemis.cli.commands.queue.DeleteQueue;
 import org.apache.activemq.artemis.cli.commands.queue.HelpQueue;
@@ -154,6 +155,7 @@ public class Artemis {
          builder.withGroup("data").withDescription("data tools group (print) 
(example ./artemis data print)").
             withDefaultCommand(HelpData.class).withCommands(PrintData.class);
          builder = builder.withCommand(Create.class);
+         builder = builder.withCommand(Migrate1X.class);
       }
 
       return builder;

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/a8855399/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/migration1x/Migrate1X.java
----------------------------------------------------------------------
diff --git 
a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/migration1x/Migrate1X.java
 
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/migration1x/Migrate1X.java
new file mode 100644
index 0000000..7d04538
--- /dev/null
+++ 
b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/migration1x/Migrate1X.java
@@ -0,0 +1,47 @@
+/*
+ * 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.activemq.artemis.cli.commands.migration1x;
+
+import java.io.File;
+
+import io.airlift.airline.Arguments;
+import io.airlift.airline.Command;
+import org.apache.activemq.artemis.cli.commands.ActionAbstract;
+import org.apache.activemq.artemis.cli.commands.ActionContext;
+import org.apache.activemq.artemis.tools.migrate.config.Main;
+
+@Command(name = "migrate1x", description = "Migrates the configuration of a 
1.x Artemis Broker")
+public class Migrate1X extends ActionAbstract {
+
+   @Arguments(description = "The instance directory to hold the broker's 
configuration and data.  Path must be writable.", required = true)
+   File directory;
+
+   @Override
+   public Object execute(ActionContext context) throws Exception {
+      if (!directory.exists()) {
+         throw new RuntimeException(String.format("The path '%s' does not 
exist.", directory));
+      }
+      super.execute(context);
+      return run(context);
+   }
+
+   public Object run(ActionContext context) throws Exception {
+      Main.scanAndTransform(directory);
+      return null;
+   }
+
+}

http://git-wip-us.apache.org/repos/asf/activemq-artemis/blob/a8855399/artemis-tools/src/main/java/org/apache/activemq/artemis/tools/migrate/config/Main.java
----------------------------------------------------------------------
diff --git 
a/artemis-tools/src/main/java/org/apache/activemq/artemis/tools/migrate/config/Main.java
 
b/artemis-tools/src/main/java/org/apache/activemq/artemis/tools/migrate/config/Main.java
index 94d4d53..754dc15 100644
--- 
a/artemis-tools/src/main/java/org/apache/activemq/artemis/tools/migrate/config/Main.java
+++ 
b/artemis-tools/src/main/java/org/apache/activemq/artemis/tools/migrate/config/Main.java
@@ -65,6 +65,7 @@ public class Main {
                         File r = new File(f.getAbsolutePath());
                         f.renameTo(new File(f.getAbsolutePath() + ".bk"));
                         file.renameTo(r);
+                        System.out.println(f + " converted, old file renamed 
as " + f.getAbsolutePath() + ".bk");
                      }
                   }
                } catch (Exception e) {

Reply via email to