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/20 13:31:33 UTC
svn commit: r669861 - in /geronimo/gshell/trunk:
gshell-api/src/main/java/org/apache/geronimo/gshell/command/
gshell-commands/gshell-builtins/src/main/java/org/apache/geronimo/gshell/commands/builtins/
gshell-plugin/src/main/java/org/apache/geronimo/gs...
Author: jdillon
Date: Fri Jun 20 04:31:33 2008
New Revision: 669861
URL: http://svn.apache.org/viewvc?rev=669861&view=rev
Log:
Replace CommandContainer with Command, replace CommandContainer.Locator with CommandFactory
Added:
geronimo/gshell/trunk/gshell-plugin/src/main/java/org/apache/geronimo/gshell/plugin/descriptor/CommandDescriptor.java (contents, props changed)
- copied, changed from r669852, geronimo/gshell/trunk/gshell-plugin/src/main/java/org/apache/geronimo/gshell/plugin/descriptor/CommandContainerDescriptor.java
geronimo/gshell/trunk/gshell-rapture/src/main/java/org/apache/geronimo/gshell/rapture/DefaultCommand.java (contents, props changed)
- copied, changed from r669849, geronimo/gshell/trunk/gshell-rapture/src/main/java/org/apache/geronimo/gshell/rapture/DefaultCommandContainer.java
geronimo/gshell/trunk/gshell-rapture/src/main/java/org/apache/geronimo/gshell/rapture/DefaultCommandFactory.java (contents, props changed)
- copied, changed from r669849, geronimo/gshell/trunk/gshell-rapture/src/main/java/org/apache/geronimo/gshell/rapture/DefaultCommandContainerLocator.java
Removed:
geronimo/gshell/trunk/gshell-api/src/main/java/org/apache/geronimo/gshell/command/CommandContainer.java
geronimo/gshell/trunk/gshell-plugin/src/main/java/org/apache/geronimo/gshell/plugin/descriptor/CommandContainerDescriptor.java
geronimo/gshell/trunk/gshell-rapture/src/main/java/org/apache/geronimo/gshell/rapture/DefaultCommandContainer.java
geronimo/gshell/trunk/gshell-rapture/src/main/java/org/apache/geronimo/gshell/rapture/DefaultCommandContainerLocator.java
Modified:
geronimo/gshell/trunk/gshell-api/src/main/java/org/apache/geronimo/gshell/command/Command.java
geronimo/gshell/trunk/gshell-api/src/main/java/org/apache/geronimo/gshell/command/CommandCompleter.java
geronimo/gshell/trunk/gshell-api/src/main/java/org/apache/geronimo/gshell/command/CommandDocumenter.java
geronimo/gshell/trunk/gshell-commands/gshell-builtins/src/main/java/org/apache/geronimo/gshell/commands/builtins/HelpCommand.java
geronimo/gshell/trunk/gshell-plugin/src/main/java/org/apache/geronimo/gshell/plugin/descriptor/PluginDescriptor.java
geronimo/gshell/trunk/gshell-rapture/src/main/java/org/apache/geronimo/gshell/rapture/DefaultCommandLineExecutor.java
Modified: geronimo/gshell/trunk/gshell-api/src/main/java/org/apache/geronimo/gshell/command/Command.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-api/src/main/java/org/apache/geronimo/gshell/command/Command.java?rev=669861&r1=669860&r2=669861&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-api/src/main/java/org/apache/geronimo/gshell/command/Command.java (original)
+++ geronimo/gshell/trunk/gshell-api/src/main/java/org/apache/geronimo/gshell/command/Command.java Fri Jun 20 04:31:33 2008
@@ -33,4 +33,6 @@
CommandDocumenter getDocumenter();
CommandCompleter getCompleter();
+
+ Object execute(CommandContext context) throws Exception;
}
\ No newline at end of file
Modified: geronimo/gshell/trunk/gshell-api/src/main/java/org/apache/geronimo/gshell/command/CommandCompleter.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-api/src/main/java/org/apache/geronimo/gshell/command/CommandCompleter.java?rev=669861&r1=669860&r2=669861&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-api/src/main/java/org/apache/geronimo/gshell/command/CommandCompleter.java (original)
+++ geronimo/gshell/trunk/gshell-api/src/main/java/org/apache/geronimo/gshell/command/CommandCompleter.java Fri Jun 20 04:31:33 2008
@@ -24,7 +24,7 @@
*
* @version $Rev$ $Date$
*/
-public interface CommandCompleter // completer
+public interface CommandCompleter
{
// TODO:
}
\ No newline at end of file
Modified: geronimo/gshell/trunk/gshell-api/src/main/java/org/apache/geronimo/gshell/command/CommandDocumenter.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-api/src/main/java/org/apache/geronimo/gshell/command/CommandDocumenter.java?rev=669861&r1=669860&r2=669861&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-api/src/main/java/org/apache/geronimo/gshell/command/CommandDocumenter.java (original)
+++ geronimo/gshell/trunk/gshell-api/src/main/java/org/apache/geronimo/gshell/command/CommandDocumenter.java Fri Jun 20 04:31:33 2008
@@ -24,7 +24,7 @@
*
* @version $Rev$ $Date$
*/
-public interface CommandDocumenter // documenter
+public interface CommandDocumenter
{
// TODO:
}
\ No newline at end of file
Modified: geronimo/gshell/trunk/gshell-commands/gshell-builtins/src/main/java/org/apache/geronimo/gshell/commands/builtins/HelpCommand.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-commands/gshell-builtins/src/main/java/org/apache/geronimo/gshell/commands/builtins/HelpCommand.java?rev=669861&r1=669860&r2=669861&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-commands/gshell-builtins/src/main/java/org/apache/geronimo/gshell/commands/builtins/HelpCommand.java (original)
+++ geronimo/gshell/trunk/gshell-commands/gshell-builtins/src/main/java/org/apache/geronimo/gshell/commands/builtins/HelpCommand.java Fri Jun 20 04:31:33 2008
@@ -24,8 +24,9 @@
import org.apache.geronimo.gshell.application.ApplicationManager;
import org.apache.geronimo.gshell.clp.Argument;
import org.apache.geronimo.gshell.command.CommandAction;
-import org.apache.geronimo.gshell.command.CommandContainer;
import org.apache.geronimo.gshell.command.CommandContext;
+import org.apache.geronimo.gshell.command.CommandFactory;
+import org.apache.geronimo.gshell.command.Command;
import org.apache.geronimo.gshell.command.annotation.CommandComponent;
import org.apache.geronimo.gshell.command.annotation.Requirement;
import org.apache.geronimo.gshell.io.IO;
@@ -53,7 +54,7 @@
private ApplicationManager applicationManager;
@Requirement
- private CommandContainer.Locator commandContainerLocator;
+ private CommandFactory commandFactory;
@Requirement
private LayoutManager layoutManager;
@@ -65,11 +66,11 @@
public HelpCommand() {}
- public HelpCommand(final CommandContainer.Locator commandContainerLocator, final LayoutManager layoutManager) {
- assert commandContainerLocator != null;
+ public HelpCommand(final CommandFactory commandFactory, final LayoutManager layoutManager) {
+ assert commandFactory != null;
assert layoutManager != null;
- this.commandContainerLocator = commandContainerLocator;
+ this.commandFactory = commandFactory;
this.layoutManager = layoutManager;
}
@@ -119,10 +120,10 @@
CommandNode node = (CommandNode) child;
String name = StringUtils.rightPad(node.getName(), maxNameLen);
- CommandContainer container = commandContainerLocator.locate(node.getId());
+ Command command = commandFactory.create(node.getId());
// FIXME:
- String desc = container.toString(); // command.getDescription();
+ String desc = command.toString(); // command.getDescription();
io.out.print(" ");
io.out.print(renderer.render(Renderer.encode(name, Code.BOLD)));
Copied: geronimo/gshell/trunk/gshell-plugin/src/main/java/org/apache/geronimo/gshell/plugin/descriptor/CommandDescriptor.java (from r669852, 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/CommandDescriptor.java?p2=geronimo/gshell/trunk/gshell-plugin/src/main/java/org/apache/geronimo/gshell/plugin/descriptor/CommandDescriptor.java&p1=geronimo/gshell/trunk/gshell-plugin/src/main/java/org/apache/geronimo/gshell/plugin/descriptor/CommandContainerDescriptor.java&r1=669852&r2=669861&rev=669861&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/CommandDescriptor.java Fri Jun 20 04:31:33 2008
@@ -19,10 +19,8 @@
package org.apache.geronimo.gshell.plugin.descriptor;
-import org.apache.geronimo.gshell.command.CommandContainer;
-import org.apache.geronimo.gshell.yarn.ReflectionToStringBuilder;
-import org.apache.geronimo.gshell.yarn.ToStringStyle;
import org.apache.geronimo.gshell.model.command.CommandModel;
+import org.apache.geronimo.gshell.command.Command;
import org.codehaus.plexus.configuration.xml.XmlPlexusConfiguration;
/**
@@ -30,19 +28,19 @@
*
* @version $Rev$ $Date$
*/
-public class CommandContainerDescriptor
+public class CommandDescriptor
extends ComponentDescriptorSupport
{
private final CommandModel model;
- public CommandContainerDescriptor(final CommandModel model) {
+ public CommandDescriptor(final CommandModel model) {
assert model != null;
this.model = model;
- setRole(CommandContainer.class);
+ setRole(Command.class);
setRoleHint(model.getId());
- setImplementation("org.apache.geronimo.gshell.rapture.DefaultCommandContainer");
+ setImplementation("org.apache.geronimo.gshell.rapture.DefaultCommand");
setVersion(model.getVersion());
setIsolatedRealm(false);
setInstantiationStrategy("singleton");
Propchange: geronimo/gshell/trunk/gshell-plugin/src/main/java/org/apache/geronimo/gshell/plugin/descriptor/CommandDescriptor.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/gshell/trunk/gshell-plugin/src/main/java/org/apache/geronimo/gshell/plugin/descriptor/CommandDescriptor.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: geronimo/gshell/trunk/gshell-plugin/src/main/java/org/apache/geronimo/gshell/plugin/descriptor/CommandDescriptor.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: geronimo/gshell/trunk/gshell-plugin/src/main/java/org/apache/geronimo/gshell/plugin/descriptor/PluginDescriptor.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-plugin/src/main/java/org/apache/geronimo/gshell/plugin/descriptor/PluginDescriptor.java?rev=669861&r1=669860&r2=669861&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-plugin/src/main/java/org/apache/geronimo/gshell/plugin/descriptor/PluginDescriptor.java (original)
+++ geronimo/gshell/trunk/gshell-plugin/src/main/java/org/apache/geronimo/gshell/plugin/descriptor/PluginDescriptor.java Fri Jun 20 04:31:33 2008
@@ -55,7 +55,7 @@
addComponentDescriptor(new CommandActionDescriptor(model));
addComponentDescriptor(new CommandDocumenterDescriptor(model));
addComponentDescriptor(new CommandCompleterDescriptor(model));
- addComponentDescriptor(new CommandContainerDescriptor(model));
+ addComponentDescriptor(new CommandDescriptor(model));
}
public void addComponentDescriptor(final ComponentDescriptor descriptor) {
Copied: geronimo/gshell/trunk/gshell-rapture/src/main/java/org/apache/geronimo/gshell/rapture/DefaultCommand.java (from r669849, geronimo/gshell/trunk/gshell-rapture/src/main/java/org/apache/geronimo/gshell/rapture/DefaultCommandContainer.java)
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-rapture/src/main/java/org/apache/geronimo/gshell/rapture/DefaultCommand.java?p2=geronimo/gshell/trunk/gshell-rapture/src/main/java/org/apache/geronimo/gshell/rapture/DefaultCommand.java&p1=geronimo/gshell/trunk/gshell-rapture/src/main/java/org/apache/geronimo/gshell/rapture/DefaultCommandContainer.java&r1=669849&r2=669861&rev=669861&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-rapture/src/main/java/org/apache/geronimo/gshell/rapture/DefaultCommandContainer.java (original)
+++ geronimo/gshell/trunk/gshell-rapture/src/main/java/org/apache/geronimo/gshell/rapture/DefaultCommand.java Fri Jun 20 04:31:33 2008
@@ -24,9 +24,11 @@
import org.apache.geronimo.gshell.clp.Printer;
import org.apache.geronimo.gshell.clp.ProcessingException;
import org.apache.geronimo.gshell.command.CommandAction;
-import org.apache.geronimo.gshell.command.CommandContainer;
import org.apache.geronimo.gshell.command.CommandContext;
import org.apache.geronimo.gshell.command.CommandInfo;
+import org.apache.geronimo.gshell.command.Command;
+import org.apache.geronimo.gshell.command.CommandDocumenter;
+import org.apache.geronimo.gshell.command.CommandCompleter;
import org.apache.geronimo.gshell.io.IO;
import org.apache.geronimo.gshell.plexus.GShellPlexusContainer;
import org.apache.geronimo.gshell.util.Arguments;
@@ -41,13 +43,13 @@
import org.slf4j.LoggerFactory;
/**
- * The default {@link CommandContainer} component.
+ * The default {@link Command} component.
*
* @version $Rev$ $Date$
*/
-@Component(role=CommandContainer.class)
-public class DefaultCommandContainer
- implements CommandContainer, Contextualizable
+@Component(role=Command.class)
+public class DefaultCommand
+ implements Command, Contextualizable
{
private final Logger log = LoggerFactory.getLogger(getClass());
@@ -67,7 +69,13 @@
log.debug("Container: {}", container);
}
- private CommandAction getAction() {
+ // Command
+
+ public String getId() {
+ return commandId;
+ }
+
+ public CommandAction getAction() {
assert container != null;
try {
@@ -78,7 +86,27 @@
}
}
- // CommandContainer
+ public CommandDocumenter getDocumenter() {
+ assert container != null;
+
+ try {
+ return container.lookupComponent(CommandDocumenter.class, commandId);
+ }
+ catch (ComponentLookupException e) {
+ throw new RuntimeException(e);
+ }
+ }
+
+ public CommandCompleter getCompleter() {
+ assert container != null;
+
+ try {
+ return container.lookupComponent(CommandCompleter.class, commandId);
+ }
+ catch (ComponentLookupException e) {
+ throw new RuntimeException(e);
+ }
+ }
public Object execute(final CommandContext context) throws Exception {
assert context != null;
Propchange: geronimo/gshell/trunk/gshell-rapture/src/main/java/org/apache/geronimo/gshell/rapture/DefaultCommand.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/gshell/trunk/gshell-rapture/src/main/java/org/apache/geronimo/gshell/rapture/DefaultCommand.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: geronimo/gshell/trunk/gshell-rapture/src/main/java/org/apache/geronimo/gshell/rapture/DefaultCommand.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Copied: geronimo/gshell/trunk/gshell-rapture/src/main/java/org/apache/geronimo/gshell/rapture/DefaultCommandFactory.java (from r669849, geronimo/gshell/trunk/gshell-rapture/src/main/java/org/apache/geronimo/gshell/rapture/DefaultCommandContainerLocator.java)
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-rapture/src/main/java/org/apache/geronimo/gshell/rapture/DefaultCommandFactory.java?p2=geronimo/gshell/trunk/gshell-rapture/src/main/java/org/apache/geronimo/gshell/rapture/DefaultCommandFactory.java&p1=geronimo/gshell/trunk/gshell-rapture/src/main/java/org/apache/geronimo/gshell/rapture/DefaultCommandContainerLocator.java&r1=669849&r2=669861&rev=669861&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-rapture/src/main/java/org/apache/geronimo/gshell/rapture/DefaultCommandContainerLocator.java (original)
+++ geronimo/gshell/trunk/gshell-rapture/src/main/java/org/apache/geronimo/gshell/rapture/DefaultCommandFactory.java Fri Jun 20 04:31:33 2008
@@ -19,8 +19,9 @@
package org.apache.geronimo.gshell.rapture;
-import org.apache.geronimo.gshell.command.CommandContainer;
import org.apache.geronimo.gshell.plexus.GShellPlexusContainer;
+import org.apache.geronimo.gshell.command.CommandFactory;
+import org.apache.geronimo.gshell.command.Command;
import org.codehaus.plexus.PlexusConstants;
import org.codehaus.plexus.component.annotations.Component;
import org.codehaus.plexus.component.repository.ComponentDescriptor;
@@ -32,13 +33,13 @@
import org.slf4j.LoggerFactory;
/**
- * Default implementation of a {@link CommandContainer.Locator} component.
+ * Default implementation of a {@link CommandFactory} component.
*
* @version $Rev$ $Date$
*/
-@Component(role=CommandContainer.Locator.class)
-public class DefaultCommandContainerLocator
- implements CommandContainer.Locator, Contextualizable
+@Component(role= CommandFactory.class)
+public class DefaultCommandFactory
+ implements CommandFactory, Contextualizable
{
private final Logger log = LoggerFactory.getLogger(getClass());
@@ -53,26 +54,26 @@
log.debug("Container: {}", container);
}
- public CommandContainer locate(final String id) {
+ public Command create(final String id) throws Exception {
assert id != null;
log.debug("Locating container for ID: {}", id);
- ComponentDescriptor descriptor = container.getComponentDescriptor(CommandContainer.class, id);
+ ComponentDescriptor descriptor = container.getComponentDescriptor(Command.class, id);
if (descriptor == null) {
// TODO: Throw typed exception
- throw new RuntimeException("Command container not found for ID: " + id);
+ throw new Exception("Command container not found for ID: " + id);
}
- CommandContainer commandContainer;
+ Command command;
try {
- commandContainer = container.lookupComponent(CommandContainer.class, id);
+ command = container.lookupComponent(Command.class, id);
}
catch (ComponentLookupException e) {
// TODO: Throw typed exception
- throw new RuntimeException("Failed to access command container for ID: " + id, e);
+ throw new Exception("Failed to access command container for ID: " + id, e);
}
- return commandContainer;
+ return command;
}
}
\ No newline at end of file
Propchange: geronimo/gshell/trunk/gshell-rapture/src/main/java/org/apache/geronimo/gshell/rapture/DefaultCommandFactory.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/gshell/trunk/gshell-rapture/src/main/java/org/apache/geronimo/gshell/rapture/DefaultCommandFactory.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: geronimo/gshell/trunk/gshell-rapture/src/main/java/org/apache/geronimo/gshell/rapture/DefaultCommandFactory.java
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified: geronimo/gshell/trunk/gshell-rapture/src/main/java/org/apache/geronimo/gshell/rapture/DefaultCommandLineExecutor.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-rapture/src/main/java/org/apache/geronimo/gshell/rapture/DefaultCommandLineExecutor.java?rev=669861&r1=669860&r2=669861&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-rapture/src/main/java/org/apache/geronimo/gshell/rapture/DefaultCommandLineExecutor.java (original)
+++ geronimo/gshell/trunk/gshell-rapture/src/main/java/org/apache/geronimo/gshell/rapture/DefaultCommandLineExecutor.java Fri Jun 20 04:31:33 2008
@@ -22,10 +22,11 @@
import org.apache.geronimo.gshell.application.ApplicationManager;
import org.apache.geronimo.gshell.application.DefaultVariables;
import org.apache.geronimo.gshell.chronos.StopWatch;
-import org.apache.geronimo.gshell.command.CommandContainer;
import org.apache.geronimo.gshell.command.CommandContext;
import org.apache.geronimo.gshell.command.CommandInfo;
import org.apache.geronimo.gshell.command.Variables;
+import org.apache.geronimo.gshell.command.CommandFactory;
+import org.apache.geronimo.gshell.command.Command;
import org.apache.geronimo.gshell.commandline.CommandExecutionFailied;
import org.apache.geronimo.gshell.commandline.CommandLine;
import org.apache.geronimo.gshell.commandline.CommandLineBuilder;
@@ -76,7 +77,7 @@
private LayoutManager layoutManager;
@Requirement
- private CommandContainer.Locator commandContainerLocator;
+ private CommandFactory commandFactory;
@Requirement
private CommandLineBuilder commandLineBuilder;
@@ -85,15 +86,15 @@
public DefaultCommandLineExecutor() {}
- public DefaultCommandLineExecutor(final ApplicationManager applicationManager, final LayoutManager layoutManager, final CommandContainer.Locator commandContainerLocator, final CommandLineBuilder commandLineBuilder) {
+ public DefaultCommandLineExecutor(final ApplicationManager applicationManager, final LayoutManager layoutManager, final CommandFactory commandFactory, final CommandLineBuilder commandLineBuilder) {
assert applicationManager != null;
assert layoutManager != null;
- assert commandContainerLocator != null;
+ assert commandFactory != null;
assert commandLineBuilder != null;
this.applicationManager = applicationManager;
this.layoutManager = layoutManager;
- this.commandContainerLocator = commandContainerLocator;
+ this.commandFactory = commandFactory;
this.commandLineBuilder = commandLineBuilder;
}
@@ -237,9 +238,9 @@
final String id = findCommandId(node);
log.debug("Command ID: {}", id);
- final CommandContainer container;
+ final Command command;
try {
- container = commandContainerLocator.locate(id);
+ command = commandFactory.create(id);
}
catch (Exception e) {
throw new NotFoundException(e.getMessage());
@@ -310,7 +311,7 @@
Object result;
try {
- result = container.execute(context);
+ result = command.execute(context);
log.debug("Command completed with result: {}, after: {}", result, watch);
}