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 2008/06/09 19:07:56 UTC

svn commit: r665779 - in /geronimo/gshell/trunk: gshell-api/src/main/java/org/apache/geronimo/gshell/command/ gshell-commands/gshell-command-support/src/main/java/org/apache/geronimo/gshell/command/ gshell-core/ gshell-core/src/main/java/org/apache/ger...

Author: jdillon
Date: Mon Jun  9 10:07:55 2008
New Revision: 665779

URL: http://svn.apache.org/viewvc?rev=665779&view=rev
Log:
Moved the DefaultCommandContainer to gshell-core, starting to remove the bits from CommandSupport and put it into the container

Added:
    geronimo/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/container/
    geronimo/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/container/DefaultCommandContainer.java   (contents, props changed)
      - copied, changed from r665728, geronimo/gshell/trunk/gshell-plugin/src/main/java/org/apache/geronimo/gshell/plugin/DefaultCommandContainer.java
Removed:
    geronimo/gshell/trunk/gshell-plugin/src/main/java/org/apache/geronimo/gshell/plugin/DefaultCommandContainer.java
Modified:
    geronimo/gshell/trunk/gshell-api/src/main/java/org/apache/geronimo/gshell/command/Executable.java
    geronimo/gshell/trunk/gshell-commands/gshell-command-support/src/main/java/org/apache/geronimo/gshell/command/CommandSupport.java
    geronimo/gshell/trunk/gshell-core/pom.xml
    geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/command/Command.java
    geronimo/gshell/trunk/gshell-plugin/src/main/java/org/apache/geronimo/gshell/plugin/descriptor/CommandContainerDescriptor.java

Modified: geronimo/gshell/trunk/gshell-api/src/main/java/org/apache/geronimo/gshell/command/Executable.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-api/src/main/java/org/apache/geronimo/gshell/command/Executable.java?rev=665779&r1=665778&r2=665779&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-api/src/main/java/org/apache/geronimo/gshell/command/Executable.java (original)
+++ geronimo/gshell/trunk/gshell-api/src/main/java/org/apache/geronimo/gshell/command/Executable.java Mon Jun  9 10:07:55 2008
@@ -30,7 +30,7 @@
 
     Result FAILURE = Result.FAILURE;
 
-    // TODO: Change this to ExecutionContext
+    // TODO: Change this to ExecutionContext, and/or implement a lifecycle to inject the context, and leave Executable context free?
     
     Object execute(CommandContext context, Object... args) throws Exception;
 

Modified: geronimo/gshell/trunk/gshell-commands/gshell-command-support/src/main/java/org/apache/geronimo/gshell/command/CommandSupport.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-commands/gshell-command-support/src/main/java/org/apache/geronimo/gshell/command/CommandSupport.java?rev=665779&r1=665778&r2=665779&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-commands/gshell-command-support/src/main/java/org/apache/geronimo/gshell/command/CommandSupport.java (original)
+++ geronimo/gshell/trunk/gshell-commands/gshell-command-support/src/main/java/org/apache/geronimo/gshell/command/CommandSupport.java Mon Jun  9 10:07:55 2008
@@ -85,8 +85,12 @@
 
         log.info("Executing w/args: [{}]", Arguments.asString(args));
 
+        //
+        // HACK: Need to move all of this up to the container, exposing a help support component
+        //
+
         CommandLineProcessor clp = new CommandLineProcessor(this);
-        clp.process(Arguments.toStringArray(args));
+        // clp.process(Arguments.toStringArray(args));
 
         // Handle --help/-h automatically for the command
         if (displayHelp) {

Modified: geronimo/gshell/trunk/gshell-core/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-core/pom.xml?rev=665779&r1=665778&r2=665779&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-core/pom.xml (original)
+++ geronimo/gshell/trunk/gshell-core/pom.xml Mon Jun  9 10:07:55 2008
@@ -40,6 +40,11 @@
     <dependencies>
         <dependency>
             <groupId>org.apache.geronimo.gshell.support</groupId>
+            <artifactId>gshell-clp</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.geronimo.gshell.support</groupId>
             <artifactId>gshell-plexus</artifactId>
         </dependency>
         

Copied: geronimo/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/container/DefaultCommandContainer.java (from r665728, geronimo/gshell/trunk/gshell-plugin/src/main/java/org/apache/geronimo/gshell/plugin/DefaultCommandContainer.java)
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/container/DefaultCommandContainer.java?p2=geronimo/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/container/DefaultCommandContainer.java&p1=geronimo/gshell/trunk/gshell-plugin/src/main/java/org/apache/geronimo/gshell/plugin/DefaultCommandContainer.java&r1=665728&r2=665779&rev=665779&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-plugin/src/main/java/org/apache/geronimo/gshell/plugin/DefaultCommandContainer.java (original)
+++ geronimo/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/container/DefaultCommandContainer.java Mon Jun  9 10:07:55 2008
@@ -17,12 +17,14 @@
  * under the License.
  */
 
-package org.apache.geronimo.gshell.plugin;
+package org.apache.geronimo.gshell.container;
 
 import org.apache.geronimo.gshell.command.CommandContainer;
 import org.apache.geronimo.gshell.command.CommandContext;
 import org.apache.geronimo.gshell.command.Executable;
 import org.apache.geronimo.gshell.plexus.GShellPlexusContainer;
+import org.apache.geronimo.gshell.common.Arguments;
+import org.apache.geronimo.gshell.clp.CommandLineProcessor;
 import org.codehaus.plexus.PlexusConstants;
 import org.codehaus.plexus.component.annotations.Component;
 import org.codehaus.plexus.component.annotations.Configuration;
@@ -95,7 +97,13 @@
         
         // TODO: Bind context, io and variables
 
-        // TODO: Process CLP
+        // Process command line options/arguments
+        CommandLineProcessor clp = new CommandLineProcessor(executable);
+        clp.process(Arguments.toStringArray(args));
+
+        //
+        // TODO: Need to augment the clp to allow it to handle a set of objects, so we can use a nested object here to inject --help support automatically
+        //
 
         Object result = executable.execute(context, args);
 

Propchange: geronimo/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/container/DefaultCommandContainer.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/container/DefaultCommandContainer.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: geronimo/gshell/trunk/gshell-core/src/main/java/org/apache/geronimo/gshell/container/DefaultCommandContainer.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/command/Command.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/command/Command.java?rev=665779&r1=665778&r2=665779&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/command/Command.java (original)
+++ geronimo/gshell/trunk/gshell-model/src/main/java/org/apache/geronimo/gshell/model/command/Command.java Mon Jun  9 10:07:55 2008
@@ -43,6 +43,10 @@
     private String version;
 
     //
+    // TODO: Add containerClass (and/or container w/nested configuration?)
+    //
+
+    //
     // FIXME: Parameters and requirements are very plexus specific, and can be handled automatically by having
     //        the components gleaned while loading.
     //

Modified: geronimo/gshell/trunk/gshell-plugin/src/main/java/org/apache/geronimo/gshell/plugin/descriptor/CommandContainerDescriptor.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-plugin/src/main/java/org/apache/geronimo/gshell/plugin/descriptor/CommandContainerDescriptor.java?rev=665779&r1=665778&r2=665779&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-plugin/src/main/java/org/apache/geronimo/gshell/plugin/descriptor/CommandContainerDescriptor.java (original)
+++ geronimo/gshell/trunk/gshell-plugin/src/main/java/org/apache/geronimo/gshell/plugin/descriptor/CommandContainerDescriptor.java Mon Jun  9 10:07:55 2008
@@ -23,7 +23,6 @@
 import org.apache.geronimo.gshell.common.tostring.ReflectionToStringBuilder;
 import org.apache.geronimo.gshell.common.tostring.ToStringStyle;
 import org.apache.geronimo.gshell.model.command.Command;
-import org.apache.geronimo.gshell.plugin.DefaultCommandContainer;
 import org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration;
 
 /**
@@ -43,7 +42,7 @@
 
         setRole(CommandContainer.class);
         setRoleHint(command.getId());
-        setImplementation(DefaultCommandContainer.class);
+        setImplementation("org.apache.geronimo.gshell.container.DefaultCommandContainer"); // Avoid dependency on gshell-core
         setVersion(command.getVersion());
         setIsolatedRealm(false);
         setInstantiationStrategy("singleton");