You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2006/05/15 08:49:05 UTC
svn commit: r406558 -
/directory/branches/elecharny/apacheds/server-tools/src/main/java/org/apache/directory/server/tools/BaseCommand.java
Author: elecharny
Date: Sun May 14 23:49:04 2006
New Revision: 406558
URL: http://svn.apache.org/viewcvs?rev=406558&view=rev
Log:
Extended the command set with the import command
Modified:
directory/branches/elecharny/apacheds/server-tools/src/main/java/org/apache/directory/server/tools/BaseCommand.java
Modified: directory/branches/elecharny/apacheds/server-tools/src/main/java/org/apache/directory/server/tools/BaseCommand.java
URL: http://svn.apache.org/viewcvs/directory/branches/elecharny/apacheds/server-tools/src/main/java/org/apache/directory/server/tools/BaseCommand.java?rev=406558&r1=406557&r2=406558&view=diff
==============================================================================
--- directory/branches/elecharny/apacheds/server-tools/src/main/java/org/apache/directory/server/tools/BaseCommand.java (original)
+++ directory/branches/elecharny/apacheds/server-tools/src/main/java/org/apache/directory/server/tools/BaseCommand.java Sun May 14 23:49:04 2006
@@ -17,17 +17,23 @@
package org.apache.directory.server.tools;
+import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
+import java.util.List;
import java.util.Map;
+import org.apache.commons.cli.AlreadySelectedException;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.HelpFormatter;
+import org.apache.commons.cli.MissingArgumentException;
+import org.apache.commons.cli.MissingOptionException;
import org.apache.commons.cli.Option;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
import org.apache.commons.cli.PosixParser;
+import org.apache.commons.cli.UnrecognizedOptionException;
/**
@@ -39,6 +45,7 @@
public class BaseCommand
{
private Map commands = new HashMap();
+ private List commandsOrdered = new ArrayList();
private Options global = new Options();
private String productCommand;
private String productVersion;
@@ -56,14 +63,26 @@
protected void init()
{
ToolCommand command;
+
+ command = new DiagnosticCommand();
+ commands.put( command.getName(), command );
+ commandsOrdered.add( command.getName() );
+
command = new DumpCommand();
- getCommands().put( command.getName(), command );
+ commands.put( command.getName(), command );
+ commandsOrdered.add( command.getName() );
+
command = new GracefulShutdownCommand();
- getCommands().put( command.getName(), command );
- command = new DiagnosticCommand();
- getCommands().put( command.getName(), command );
+ commands.put( command.getName(), command );
+ commandsOrdered.add( command.getName() );
+
+ command = new ImportCommand();
+ commands.put( command.getName(), command );
+ commandsOrdered.add( command.getName() );
+
command = new DisconnectNotificationCommand();
- getCommands().put( command.getName(), command );
+ commands.put( command.getName(), command );
+ commandsOrdered.add( command.getName() );
Option op = new Option( "i", "install-path", true, "path to installation directory" );
getGlobal().addOption( op );
@@ -104,11 +123,32 @@
{
cmdline = parser.parse( all, args );
}
- catch ( ParseException e )
+ catch ( AlreadySelectedException ase )
{
- System.err.println( "Command line parsing failed for " + command + ". Reason: " + e.getMessage() );
+ System.err.println( "Command line parsing failed for " + command + ". Reason: already selected " + ase.getMessage() );
System.exit( 1 );
}
+ catch ( MissingArgumentException mae )
+ {
+ System.err.println( "Command line parsing failed for " + command + ". Reason: missing argument " + mae.getMessage() );
+ System.exit( 1 );
+ }
+ catch ( MissingOptionException moe )
+ {
+ System.err.println( "Command line parsing failed for " + command + ". Reason: missing option " + moe.getMessage() );
+ System.exit( 1 );
+ }
+ catch ( UnrecognizedOptionException uoe )
+ {
+ System.err.println( "Command line parsing failed for " + command + ". Reason: unrecognized option" + uoe.getMessage() );
+ System.exit( 1 );
+ }
+ catch ( ParseException pe )
+ {
+ System.err.println( "Command line parsing failed for " + command + ". Reason: " + pe.getClass() );
+ System.exit( 1 );
+ }
+
return cmdline;
}
@@ -122,6 +162,7 @@
Options all = new Options();
ToolCommand cmd = ( ToolCommand ) getCommands().get( command );
+
for ( Iterator ii = getGlobal().getOptions().iterator(); ii.hasNext(); )
{
all.addOption( ( Option ) ii.next() );
@@ -146,6 +187,7 @@
StringBuffer buf = new StringBuffer();
buf.append( msg ).append( "\n" );
+
for ( int ii = 0; ii < args.length; ii++ )
{
buf.append( "\targs[" + ii + "] = " ).append( args[ii] ).append( "\n" );
@@ -161,6 +203,7 @@
printUsage();
System.exit( 0 );
}
+
if ( getCommands().containsKey( command ) )
{
ToolCommand cmd = ( ToolCommand ) getCommands().get( command );
@@ -180,9 +223,11 @@
HelpFormatter formatter = new HelpFormatter();
formatter.printHelp( getProductCommand() + " <command> [options]", "\nGlobal options:", getGlobal(),
"\nType \"" + getProductCommand() + " help <command>\" for help on a command." );
- System.out.println( "\nAvalable commands:" );
- Iterator it = getCommands().values().iterator();
+ System.out.println( "\nAvailable commands:" );
+
+ Iterator it = commandsOrdered.iterator();
System.out.println( "\thelp" );
+
while ( it.hasNext() )
{
System.out.println( "\t" + it.next() );