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

