You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by jd...@apache.org on 2006/05/08 05:42:52 UTC
svn commit: r404908 - in /geronimo/sandbox/gshell/trunk:
gshell-cli/src/main/java/org/apache/geronimo/gshell/cli/
gshell-core/src/main/java/org/apache/geronimo/gshell/command/
Author: jdillon
Date: Sun May 7 20:42:51 2006
New Revision: 404908
URL: http://svn.apache.org/viewcvs?rev=404908&view=rev
Log:
Renamed Variables methods
Changed some debug to info, sinve info is really verbose and disabled by default
Main now uses instance object for simplicity
Modified:
geronimo/sandbox/gshell/trunk/gshell-cli/src/main/java/org/apache/geronimo/gshell/cli/Main.java
geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/command/Command.java
geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/command/CommandSupport.java
geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/command/Variables.java
geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/command/VariablesMap.java
Modified: geronimo/sandbox/gshell/trunk/gshell-cli/src/main/java/org/apache/geronimo/gshell/cli/Main.java
URL: http://svn.apache.org/viewcvs/geronimo/sandbox/gshell/trunk/gshell-cli/src/main/java/org/apache/geronimo/gshell/cli/Main.java?rev=404908&r1=404907&r2=404908&view=diff
==============================================================================
--- geronimo/sandbox/gshell/trunk/gshell-cli/src/main/java/org/apache/geronimo/gshell/cli/Main.java (original)
+++ geronimo/sandbox/gshell/trunk/gshell-cli/src/main/java/org/apache/geronimo/gshell/cli/Main.java Sun May 7 20:42:51 2006
@@ -25,9 +25,6 @@
import org.apache.commons.cli.Options;
import org.apache.commons.cli.HelpFormatter;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
import org.apache.geronimo.gshell.GShell;
import org.apache.geronimo.gshell.console.IO;
@@ -41,11 +38,29 @@
*/
public class Main
{
- private static void setConsoleLogLevel(final String level) {
+ //
+ // NOTE: Do not use logging from this class, as it is used to configure
+ // the logging level with System properties, which will only get
+ // picked up on the initial loading ofr Log4j
+ //
+
+ private ClassWorld world;
+ private IO io = new IO();
+ private boolean interactive = false;
+
+ public Main(final ClassWorld world) {
+ assert world != null;
+ this.world = world;
+
+ // Default is to be quiet
+ setConsoleLogLevel("WARN");
+ }
+
+ private void setConsoleLogLevel(final String level) {
System.setProperty("gshell.log.console.level", level);
}
- private static void setPropertyFrom(final String namevalue) {
+ private void setPropertyFrom(final String namevalue) {
String name, value;
int j = namevalue.indexOf("=");
@@ -61,51 +76,52 @@
System.setProperty(name, value);
}
-
- public static void main(final String[] args, final ClassWorld world) throws Exception {
+
+ public void run(final String[] args) throws Exception {
assert args != null;
- assert world != null;
-
- // Default is to be quiet
- setConsoleLogLevel("WARN");
- boolean interactive = false;
-
- IO io = new IO();
-
+
Options options = new Options();
-
+
options.addOption(OptionBuilder.withLongOpt("help")
.withDescription("Display this help message")
.create('h'));
-
+
options.addOption(OptionBuilder.withLongOpt("version")
.withDescription("Display GShell version")
.create('V'));
-
+
options.addOption(OptionBuilder.withLongOpt("define")
.withDescription("Define a system property")
.hasArg()
.withArgName("name=value")
.create('D'));
-
+
options.addOption(OptionBuilder.withLongOpt("interactive")
.withDescription("Run in interactive mode")
.create('i'));
-
+
+ //
+ // TODO: Add these output modifiers to a seperate group
+ //
+
options.addOption(OptionBuilder.withLongOpt("debug")
- .withDescription("Enable DEBUG output")
+ .withDescription("Enable DEBUG logging output")
.create());
-
+
options.addOption(OptionBuilder.withLongOpt("verbose")
- .withDescription("Enable INFO output")
+ .withDescription("Enable INFO logging output")
.create());
-
+
+ options.addOption(OptionBuilder.withLongOpt("quiet")
+ .withDescription("Limit logging output to ERROR")
+ .create());
+
CommandLineParser parser = new PosixParser();
CommandLine line = parser.parse(options, args, true);
-
+
if (line.hasOption('h')) {
io.out.println(Banner.getBanner());
-
+
HelpFormatter formatter = new HelpFormatter();
formatter.printHelp(
io.out,
@@ -117,55 +133,57 @@
4, // desc pad
"",
false); // auto usage
-
+
io.out.println();
io.out.flush();
-
+
System.exit(0);
}
-
+
if (line.hasOption('V')) {
io.out.println(Banner.getBanner());
io.out.println(Version.getInstance());
io.out.println();
io.out.flush();
-
+
System.exit(0);
}
-
+
if (line.hasOption('D')) {
String[] values = line.getOptionValues('D');
-
+
for (int i=0; i<values.length; i++) {
setPropertyFrom(values[i]);
}
}
-
- // If --debug is set it wins over --verbose
+
+ if (line.hasOption("quiet")) {
+ setConsoleLogLevel("ERROR");
+ }
if (line.hasOption("debug")) {
setConsoleLogLevel("DEBUG");
}
else if (line.hasOption("verbose")) {
setConsoleLogLevel("INFO");
}
-
+
if (line.hasOption('i')) {
interactive = true;
}
-
+
//
// TODO: Need to pass GShell the ClassWorld, so that the application can add to it if needed
//
-
+
// Startup the shell
GShell gshell = new GShell(io);
String[] _args = line.getArgs();
-
+
// Force interactive if there are no args
if (_args.length == 0) {
interactive = true;
}
-
+
if (interactive) {
//
// TODO: Need to check if there are args, and run them and then enter interactive
@@ -176,10 +194,18 @@
int status = gshell.execute(_args);
System.exit(status);
}
-
+
//
// TODO: Run interactive
//
+ }
+
+ public static void main(final String[] args, final ClassWorld world) throws Exception {
+ assert args != null;
+ assert world != null;
+
+ Main main = new Main(world);
+ main.run(args);
}
public static void main(final String[] args) throws Exception {
Modified: geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/command/Command.java
URL: http://svn.apache.org/viewcvs/geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/command/Command.java?rev=404908&r1=404907&r2=404908&view=diff
==============================================================================
--- geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/command/Command.java (original)
+++ geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/command/Command.java Sun May 7 20:42:51 2006
@@ -38,4 +38,14 @@
void abort(); // throws Exception ?
void destroy(); // throws Exception ?
+
+ //
+ // 'help' command helpers to allow external inspection of command help
+ //
+
+ // String usage() // single line used to render help page
+
+ // String about() // single line to describe the command
+
+ // String help() // full help page (includes usage + about + command line options)
}
Modified: geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/command/CommandSupport.java
URL: http://svn.apache.org/viewcvs/geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/command/CommandSupport.java?rev=404908&r1=404907&r2=404908&view=diff
==============================================================================
--- geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/command/CommandSupport.java (original)
+++ geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/command/CommandSupport.java Sun May 7 20:42:51 2006
@@ -130,13 +130,9 @@
// Make sure that we have been initialized before we go any further
ensureInitialized();
-
- boolean debug = log.isDebugEnabled();
-
- if (debug) {
- log.debug("Executing w/arguments: " + java.util.Arrays.asList(args));
- }
-
+
+ log.info("Executing w/arguments: " + java.util.Arrays.asList(args));
+
int status;
try {
@@ -144,7 +140,7 @@
}
catch (Exception e) {
log.error(e.getMessage());
- if (debug) {
+ if (log.isDebugEnabled()) {
log.debug("Failure details", e);
}
@@ -154,11 +150,9 @@
// Be sure to flush the commands outputs
getIO().flush();
}
-
- if (debug) {
- log.debug("Command exited with status code: " + status);
- }
-
+
+ log.info("Command exited with status code: " + status);
+
return status;
}
Modified: geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/command/Variables.java
URL: http://svn.apache.org/viewcvs/geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/command/Variables.java?rev=404908&r1=404907&r2=404908&view=diff
==============================================================================
--- geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/command/Variables.java (original)
+++ geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/command/Variables.java Sun May 7 20:42:51 2006
@@ -29,9 +29,9 @@
Object get(String name);
- void remove(String name);
+ void unset(String name);
- boolean isSet(String name);
+ boolean contains(String name);
Iterator names();
}
Modified: geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/command/VariablesMap.java
URL: http://svn.apache.org/viewcvs/geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/command/VariablesMap.java?rev=404908&r1=404907&r2=404908&view=diff
==============================================================================
--- geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/command/VariablesMap.java (original)
+++ geronimo/sandbox/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/command/VariablesMap.java Sun May 7 20:42:51 2006
@@ -52,13 +52,13 @@
return map.get(name);
}
- public void remove(final String name) {
+ public void unset(final String name) {
assert name != null;
map.remove(name);
}
- public boolean isSet(final String name) {
+ public boolean contains(final String name) {
assert name != null;
return map.containsKey(name);