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) {
