On 11/29/2009 11:56 PM, fmancinelli (SVN) wrote:
> Author: fmancinelli
> Date: 2009-11-29 23:56:23 +0100 (Sun, 29 Nov 2009)
> New Revision: 25362
>
> Added:
>     contrib/people/fmancinelli/
>     contrib/people/fmancinelli/xwiki-command/
>     contrib/people/fmancinelli/xwiki-command/README.txt
>     contrib/people/fmancinelli/xwiki-command/pom.xml
>     contrib/people/fmancinelli/xwiki-command/src/
>     contrib/people/fmancinelli/xwiki-command/src/main/
>     contrib/people/fmancinelli/xwiki-command/src/main/java/
>     contrib/people/fmancinelli/xwiki-command/src/main/java/META-INF/
>     
> contrib/people/fmancinelli/xwiki-command/src/main/java/META-INF/MANIFEST.MF
>     contrib/people/fmancinelli/xwiki-command/src/main/java/org/
>     contrib/people/fmancinelli/xwiki-command/src/main/java/org/xwiki/
>     contrib/people/fmancinelli/xwiki-command/src/main/java/org/xwiki/command/
>     
> contrib/people/fmancinelli/xwiki-command/src/main/java/org/xwiki/command/Command.java
>     
> contrib/people/fmancinelli/xwiki-command/src/main/java/org/xwiki/command/CommandResource.java
>     
> contrib/people/fmancinelli/xwiki-command/src/main/java/org/xwiki/command/commands/
>     
> contrib/people/fmancinelli/xwiki-command/src/main/java/org/xwiki/command/commands/LS.java
>     contrib/people/fmancinelli/xwiki-command/src/main/resources/
>     contrib/people/fmancinelli/xwiki-command/src/main/resources/META-INF/
>     
> contrib/people/fmancinelli/xwiki-command/src/main/resources/META-INF/components.txt
> Log:
> [Initial import] A proof of concept for a "command line" XWiki interface 
> based on HTTP.
>
>
> Added: contrib/people/fmancinelli/xwiki-command/README.txt
> ===================================================================
> --- contrib/people/fmancinelli/xwiki-command/README.txt                       
>         (rev 0)
> +++ contrib/people/fmancinelli/xwiki-command/README.txt       2009-11-29 
> 22:56:23 UTC (rev 25362)
> @@ -0,0 +1,9 @@
> +This module adds a resource to the XWiki REST subsystem for executing 
> commands.
> +This resource accepts text/plain POSTs containing a command line and sends 
> back
> +responses in text/plain containing the result of the execution of the 
> command.
> +
> +A simple "ls" command which lists the spaces in a wiki is provided.
> +
> +Clients can send commands using cURL in this way:
> +
> +curl -d "ls" -H "Content-type: text/plain" 
> http://localhost:8080/xwiki/rest/command
>
> Added: 
> contrib/people/fmancinelli/xwiki-command/src/main/java/org/xwiki/command/Command.java
> ===================================================================
> --- 
> contrib/people/fmancinelli/xwiki-command/src/main/java/org/xwiki/command/Command.java
>                              (rev 0)
> +++ 
> contrib/people/fmancinelli/xwiki-command/src/main/java/org/xwiki/command/Command.java
>      2009-11-29 22:56:23 UTC (rev 25362)
> @@ -0,0 +1,28 @@
> +package org.xwiki.command;
> +
> +import org.xwiki.component.annotation.ComponentRole;
> +import org.xwiki.component.manager.ComponentManager;
> +
> +/**
> + *<p>
> + * This is the command interface. Each command should implement this 
> interface and be annotated with a @Component
> + * annotation for declaring its name. Don't forget to add the FQN of the 
> command in the META-INF/components.txt
> + * otherwise it will not be visible.
> + *</p>
> + */
> +...@componentrole
> +public interface Command
> +{
> +    /**
> +     *<p>
> +     * Execute the command
> +     *</p>
> +     *
> +     * @param componentManager The XWiki component manager for looking up 
> the XWiki components needed for executing the
> +     *            command.
> +     * @param arguments The arguments extracted from the command line.
> +     * @return A String containing the result of the execution of the 
> command.
> +     * @throws Exception
> +     */

Why do you pass the component manager around? Each component 
implementation can declare a dependency on ComponentManager if it needs it.

> +    String execute(ComponentManager componentManager, String... arguments) 
> throws Exception;
> +}

-- 
Sergiu Dumitriu
http://purl.org/net/sergiu/
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to