Yeah, I was supposing so. However, it seems more natural, as the only place where the location is set is when registering the command in the registry. Maybe another way would be to say that the location has to be set on the command in some way before registering it: the registry would retrieve the location from the command instead of receiving it as an argument to the registerCommand method and then setting the location. As the same command object can not be registered at two different locations (else one location would be somehow lost on the command), it may make sense. The location could be set directly when the PluginParser creates the bean definition. Wdyt ?
On Thu, Oct 16, 2008 at 9:24 AM, Jason Dillon <[EMAIL PROTECTED]> wrote: > I didn't really want to expose setLocation in Command, hence the reason why > it was coded like that. > > --jason > > > On Oct 16, 2008, at 1:04 AM, [EMAIL PROTECTED] wrote: > >> Author: gnodet >> Date: Wed Oct 15 11:04:24 2008 >> New Revision: 704975 >> >> URL: http://svn.apache.org/viewvc?rev=704975&view=rev >> Log: >> Remove an ugly cast by adding the setLocation method to the Command >> interface >> >> Modified: >> >> geronimo/gshell/trunk/gshell-api/src/main/java/org/apache/geronimo/gshell/command/Command.java >> >> geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/registry/CommandRegistryImpl.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=704975&r1=704974&r2=704975&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 >> Wed Oct 15 11:04:24 2008 >> @@ -31,6 +31,8 @@ >> { >> CommandLocation getLocation(); >> >> + void setLocation(CommandLocation location); >> + >> /** >> * Returns the action of the command. >> * >> >> Modified: >> geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/registry/CommandRegistryImpl.java >> URL: >> http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/registry/CommandRegistryImpl.java?rev=704975&r1=704974&r2=704975&view=diff >> >> ============================================================================== >> --- >> geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/registry/CommandRegistryImpl.java >> (original) >> +++ >> geronimo/gshell/trunk/gshell-wisdom/gshell-wisdom-core/src/main/java/org/apache/geronimo/gshell/wisdom/registry/CommandRegistryImpl.java >> Wed Oct 15 11:04:24 2008 >> @@ -60,9 +60,7 @@ >> throw new DuplicateCommandException(name); >> } >> >> - if (command instanceof CommandSupport) { >> - ((CommandSupport)command).setLocation(new >> CommandLocationImpl(name)); >> - } >> + command.setLocation(new CommandLocationImpl(name)); >> >> commands.put(name, command); >> >> >> > > -- Cheers, Guillaume Nodet ------------------------ Blog: http://gnodet.blogspot.com/ ------------------------ Open Source SOA http://fusesource.com