Following two can be refactored,
1 ) private final String usagePrefix =
"Usage: hadoop fs [generic options]";
This will come for hadoop fs,hdfs dfs...I feel, it can be separated out
2 ) Following generics also will be called for dfs, haadmin which is not required.
ToolRunner.printGenericCommandUsage(out);
public static void printGenericCommandUsage(PrintStream out)
{
out.println("Generic options supported are");
out.println("-conf <configuration file> specify an application configuration file");
out.println("-D <property=value> use value for given property");
out.println("-fs <local|namenode:port> specify a namenode");
out.println("-jt <local|jobtracker:port> specify a job tracker");
out.println("-files <comma separated list of files> " +
"specify comma separated files to be copied to the map reduce cluster");
out.println("-libjars <comma separated list of jars> " +
"specify comma separated jar files to include in the classpath.");
out.println("-archives <comma separated list of archives> " +
"specify comma separated archives to be unarchived" +
" on the compute machines.\n");
out.println("The general command line syntax is");
out.println("bin/hadoop command [genericOptions] [commandOptions]\n");
}