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");