NO-JIRA: adding Migrate1X into CLI

This commit is contained in:
Clebert Suconic 2016-12-16 10:23:48 -05:00 committed by Justin Bertram
parent 3d8bb9c5c9
commit a8855399ee
4 changed files with 55 additions and 0 deletions

View File

@ -43,6 +43,11 @@
<artifactId>artemis-jms-server</artifactId> <artifactId>artemis-jms-server</artifactId>
<version>${project.version}</version> <version>${project.version}</version>
</dependency> </dependency>
<dependency>
<groupId>org.apache.activemq</groupId>
<artifactId>artemis-tools</artifactId>
<version>${project.version}</version>
</dependency>
<dependency> <dependency>
<groupId>org.apache.activemq</groupId> <groupId>org.apache.activemq</groupId>
<artifactId>artemis-dto</artifactId> <artifactId>artemis-dto</artifactId>

View File

@ -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.HelpAddress;
import org.apache.activemq.artemis.cli.commands.address.ShowAddress; 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.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.CreateQueue;
import org.apache.activemq.artemis.cli.commands.queue.DeleteQueue; import org.apache.activemq.artemis.cli.commands.queue.DeleteQueue;
import org.apache.activemq.artemis.cli.commands.queue.HelpQueue; 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)"). builder.withGroup("data").withDescription("data tools group (print) (example ./artemis data print)").
withDefaultCommand(HelpData.class).withCommands(PrintData.class); withDefaultCommand(HelpData.class).withCommands(PrintData.class);
builder = builder.withCommand(Create.class); builder = builder.withCommand(Create.class);
builder = builder.withCommand(Migrate1X.class);
} }
return builder; return builder;

View File

@ -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;
}
}

View File

@ -65,6 +65,7 @@ public class Main {
File r = new File(f.getAbsolutePath()); File r = new File(f.getAbsolutePath());
f.renameTo(new File(f.getAbsolutePath() + ".bk")); f.renameTo(new File(f.getAbsolutePath() + ".bk"));
file.renameTo(r); file.renameTo(r);
System.out.println(f + " converted, old file renamed as " + f.getAbsolutePath() + ".bk");
} }
} }
} catch (Exception e) { } catch (Exception e) {