r1853 - in trunk: . core core/kune-cli core/kune-cli/.settings core/kune-cli/src/main/java/cc/kune/kunecli core/kune-cli/src/test/java core/kune-cli/src/test/java/cc core/kune-cli/src/test/java/cc/kune core/kune-cli/src/test/java/cc/kune/kunecli
Author: vjrj_ Date: 2012-04-17 02:58:51 +0200 (Tue, 17 Apr 2012) New Revision: 1853 Added: trunk/core/kune-cli/bin/ trunk/core/kune-cli/src/test/java/cc/ trunk/core/kune-cli/src/test/java/cc/kune/ trunk/core/kune-cli/src/test/java/cc/kune/kunecli/ trunk/core/kune-cli/src/test/java/cc/kune/kunecli/KuneCliMainTest.java Removed: trunk/core/kune-cli/.settings/org.eclipse.jdt.core.prefs Modified: trunk/core/kune-cli/.classpath trunk/core/kune-cli/.project trunk/core/kune-cli/pom.xml trunk/core/kune-cli/src/main/java/cc/kune/kunecli/KuneCliMain.java trunk/core/pom.xml trunk/pom.xml Log: NEW - # 240: Add a command cli to kune Modified: trunk/core/kune-cli/.classpath =================================================================== --- trunk/core/kune-cli/.classpath 2012-04-16 23:22:33 UTC (rev 1852) +++ trunk/core/kune-cli/.classpath 2012-04-17 00:58:51 UTC (rev 1853) @@ -1,9 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> <classpath> - <classpathentry kind="src" path="src/main/java"/> + <classpathentry kind="src" path="src/test/java" output="target/test-classes" including="**/*.java"/> + <classpathentry kind="src" path="src/test/resources" output="target/test-classes" excluding="**/*.java"/> + <classpathentry kind="src" path="src/main/java" including="**/*.java"/> <classpathentry kind="src" path="src/main/resources" excluding="**/*.java"/> - <classpathentry kind="src" path="src/test/java" output="target/test-classes"/> - <classpathentry kind="src" path="src/test/resources" output="target/test-classes" excluding="**/*.java"/> <classpathentry kind="output" path="target/classes"/> + <classpathentry kind="var" path="M2_REPO/javax/inject/javax.inject/1/javax.inject-1.jar" sourcepath="M2_REPO/javax/inject/javax.inject/1/javax.inject-1-sources.jar"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> <classpathentry kind="var" path="M2_REPO/org/naturalcli/naturalcli/1.2.3/naturalcli-1.2.3.jar" sourcepath="M2_REPO/org/naturalcli/naturalcli/1.2.3/naturalcli-1.2.3-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/com/googlecode/gwtrpccommlayer/0.0.1/gwtrpccommlayer-0.0.1.jar"/> + <classpathentry kind="var" path="M2_REPO/cc/kune/kune-services/0.2.0-SNAPSHOT/kune-services-0.2.0-SNAPSHOT.jar"/> + <classpathentry kind="var" path="M2_REPO/commons-logging/commons-logging/1.1.1/commons-logging-1.1.1.jar"/> + <classpathentry kind="var" path="M2_REPO/junit/junit/4.9/junit-4.9.jar" sourcepath="M2_REPO/junit/junit/4.9/junit-4.9-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1.jar" sourcepath="M2_REPO/org/hamcrest/hamcrest-core/1.1/hamcrest-core-1.1-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/com/google/gwt/gwt-user/2.1.1/gwt-user-2.1.1.jar" sourcepath="M2_REPO/com/google/gwt/gwt-user/2.1.1/gwt-user-2.1.1-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/httpcomponents/httpclient/4.0.1/httpclient-4.0.1.jar"/> + <classpathentry kind="var" path="M2_REPO/org/apache/httpcomponents/httpcore/4.0.1/httpcore-4.0.1.jar"/> + <classpathentry kind="var" path="M2_REPO/commons-codec/commons-codec/1.3/commons-codec-1.3.jar" sourcepath="M2_REPO/commons-codec/commons-codec/1.3/commons-codec-1.3-sources.jar"/> + <classpathentry kind="var" path="M2_REPO/com/google/inject/guice/3.0/guice-3.0-no_aop.jar"/> + <classpathentry kind="var" path="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0.jar" sourcepath="M2_REPO/aopalliance/aopalliance/1.0/aopalliance-1.0-sources.jar"/> </classpath> \ No newline at end of file Modified: trunk/core/kune-cli/.project =================================================================== --- trunk/core/kune-cli/.project 2012-04-16 23:22:33 UTC (rev 1852) +++ trunk/core/kune-cli/.project 2012-04-17 00:58:51 UTC (rev 1853) @@ -1,17 +1,14 @@ +<?xml version="1.0" encoding="UTF-8"?> <projectDescription> <name>kune-cli</name> - <comment>Kune command line interface</comment> + <comment>Kune command line interface. NO_M2ECLIPSE_SUPPORT: Project files created with the maven-eclipse-plugin are not supported in M2Eclipse.</comment> <projects/> <buildSpec> <buildCommand> <name>org.eclipse.jdt.core.javabuilder</name> </buildCommand> - <buildCommand> - <name>org.eclipse.m2e.core.maven2Builder</name> - </buildCommand> </buildSpec> <natures> <nature>org.eclipse.jdt.core.javanature</nature> - <nature>org.eclipse.m2e.core.maven2Nature</nature> </natures> </projectDescription> \ No newline at end of file Deleted: trunk/core/kune-cli/.settings/org.eclipse.jdt.core.prefs =================================================================== --- trunk/core/kune-cli/.settings/org.eclipse.jdt.core.prefs 2012-04-16 23:22:33 UTC (rev 1852) +++ trunk/core/kune-cli/.settings/org.eclipse.jdt.core.prefs 2012-04-17 00:58:51 UTC (rev 1853) @@ -1,5 +0,0 @@ -eclipse.preferences.version=1 -org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5 -org.eclipse.jdt.core.compiler.compliance=1.5 -org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning -org.eclipse.jdt.core.compiler.source=1.5 Modified: trunk/core/kune-cli/pom.xml =================================================================== --- trunk/core/kune-cli/pom.xml 2012-04-16 23:22:33 UTC (rev 1852) +++ trunk/core/kune-cli/pom.xml 2012-04-17 00:58:51 UTC (rev 1853) @@ -1,4 +1,5 @@ -<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> +<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <artifactId>kune-core</artifactId> @@ -8,6 +9,12 @@ </parent> <artifactId>kune-cli</artifactId> <description>Kune command line interface</description> + <repositories> + <repository> + <id>kune-maven</id> + <url>http://kune.ourproject.org/mavenrepo/</url> + </repository> + </repositories> <dependencies> <dependency> <groupId>org.naturalcli</groupId> @@ -15,5 +22,68 @@ <version>1.2.3</version> <scope>runtime</scope> </dependency> + <dependency> + <groupId>com.googlecode</groupId> + <artifactId>gwtrpccommlayer</artifactId> + <version>0.0.1</version> + </dependency> + <dependency> + <groupId>cc.kune</groupId> + <artifactId>kune-services</artifactId> + <version>0.2.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>commons-logging</groupId> + <artifactId>commons-logging</artifactId> + <version>1.1.1</version> + </dependency> + <dependency> + <groupId>junit</groupId> + <artifactId>junit</artifactId> + <version>4.9</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>com.google.gwt</groupId> + <artifactId>gwt-user</artifactId> + <version>${gwt.version}</version> + <scope>provided</scope> + </dependency> + <dependency> + <groupId>org.apache.httpcomponents</groupId> + <artifactId>httpclient</artifactId> + <version>4.0.1</version> + </dependency> + <dependency> + <groupId>org.apache.httpcomponents</groupId> + <artifactId>httpcore</artifactId> + <version>4.0.1</version> + </dependency> + <dependency> + <groupId>com.google.inject</groupId> + <artifactId>guice</artifactId> + <version>3.0</version> + <classifier>no_aop</classifier> + </dependency> </dependencies> + <build> + <plugins> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>exec-maven-plugin</artifactId> + <version>1.2</version> + <executions> + <execution> + <phase>exec</phase> + <goals> + <goal>java</goal> + </goals> + </execution> + </executions> + <configuration> + <mainClass>cc.kune.kunecli.KuneCliMain</mainClass> + </configuration> + </plugin> + </plugins> + </build> </project> \ No newline at end of file Modified: trunk/core/kune-cli/src/main/java/cc/kune/kunecli/KuneCliMain.java =================================================================== --- trunk/core/kune-cli/src/main/java/cc/kune/kunecli/KuneCliMain.java 2012-04-16 23:22:33 UTC (rev 1852) +++ trunk/core/kune-cli/src/main/java/cc/kune/kunecli/KuneCliMain.java 2012-04-17 00:58:51 UTC (rev 1853) @@ -20,9 +20,13 @@ package cc.kune.kunecli; +import java.net.MalformedURLException; +import java.net.URL; import java.util.HashSet; import java.util.Set; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.naturalcli.Command; import org.naturalcli.ExecutionException; import org.naturalcli.ICommandExecutor; @@ -34,41 +38,106 @@ import org.naturalcli.commands.HelpCommand; import org.naturalcli.commands.SleepCommand; +import cc.kune.core.client.rpcservices.SiteServiceAsync; +import cc.kune.core.client.rpcservices.UserServiceAsync; +import cc.kune.core.shared.dto.InitDataDTO; +import cc.kune.core.shared.dto.UserInfoDTO; + +import com.google.gwt.user.client.rpc.AsyncCallback; +import com.google.inject.Guice; +import com.google.inject.Injector; +import com.googlecode.gwtrpccommlayer.client.GwtRpcService; +import com.googlecode.gwtrpccommlayer.client.Module; + public class KuneCliMain { - public static void main(String[] args) throws InvalidSyntaxException, ExecutionException { - Command showDateCommand = - new Command( - "hello world [<name:string>]", - "Says hello to the world and, may be, especially to some one.", - new ICommandExecutor () - { - public void execute(ParseResult pr) - { - System.out.print("Hello world!"); - String p0 = pr.getParameterValue(0).toString(); - if (p0 == null) - System.out.println(); - else - System.out.println(" And hello especially to "+p0); - } - } - ); + private static final String SERVICE_PREFFIX = "http://127.0.0.1/ws/"; + public static final Log LOG = LogFactory.getLog(KuneCliMain.class); + private static UserServiceAsync userService; + private static SiteServiceAsync siteService; + + public static void main(String[] args) throws InvalidSyntaxException, ExecutionException, + MalformedURLException { + + initServices(); + + Command showDateCommand = new Command("hello world [<name:string>]", + "Says hello to the world and, may be, especially to some one.", new ICommandExecutor() { + public void execute(ParseResult pr) { + System.out.print("Hello world!"); + String p0 = pr.getParameterValue(0).toString(); + if (p0 == null) + System.out.println(); + else + System.out.println(" And hello especially to " + p0); + } + }); + + Command auth = new Command("auth <user:string> <pass:string>", "auth to kune", + new ICommandExecutor() { + + public void execute(ParseResult pr) throws ExecutionException { + String user = pr.getParameterValue(0).toString(); + String pass = pr.getParameterValue(1).toString(); + userService.login(user, pass, "FIXME", new AsyncCallback<UserInfoDTO>() { + + @Override + public void onSuccess(UserInfoDTO result) { + // TODO Auto-generated method stub + } + + @Override + public void onFailure(Throwable caught) { + // TODO Auto-generated method stub + } + }); + } + }); + + Command init = new Command("siteGetInitData", "gets the initial data", new ICommandExecutor() { + public void execute(ParseResult parseResult) throws ExecutionException { + siteService.getInitData("", new AsyncCallback<InitDataDTO>() { + @Override + public void onFailure(Throwable caught) { + // TODO Auto-generated method stub + } + + @Override + public void onSuccess(InitDataDTO result) { + // TODO Auto-generated method stub + } + }); + } + }); + // Create an empty command set Set<Command> cs = new HashSet<Command>(); - + // Create the interpreter NaturalCLI nc = new NaturalCLI(cs); - + // Add the commands that can be understood cs.add(showDateCommand); cs.add(new HelpCommand(cs)); // help cs.add(new HTMLHelpCommand(cs)); // htmlhelp - cs.add(new SleepCommand()); // sleep <seconds:number> + cs.add(new SleepCommand()); // sleep <seconds:number> + + // A script can be useful for kune cs.add(new ExecuteFileCommand(nc)); // execute file <filename:string> - - // Execute the command line + + cs.add(init); + cs.add(auth); + // Execute the command line nc.execute(args, 0); - } + + private static void initServices() throws MalformedURLException { + Injector injector = Guice.createInjector(new Module()); + + GwtRpcService service = injector.getInstance(GwtRpcService.class); + + // TODO javadoc of this services + userService = service.create(new URL(SERVICE_PREFFIX + "UserService"), UserServiceAsync.class); + siteService = service.create(new URL(SERVICE_PREFFIX + "SiteService"), SiteServiceAsync.class); + } } Added: trunk/core/kune-cli/src/test/java/cc/kune/kunecli/KuneCliMainTest.java =================================================================== --- trunk/core/kune-cli/src/test/java/cc/kune/kunecli/KuneCliMainTest.java (rev 0) +++ trunk/core/kune-cli/src/test/java/cc/kune/kunecli/KuneCliMainTest.java 2012-04-17 00:58:51 UTC (rev 1853) @@ -0,0 +1,42 @@ +/* + * + * Copyright (C) 2007-2012 The kune development team (see CREDITS for details) + * This file is part of kune. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Affero General Public License as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ + +/** + * + */ +package cc.kune.kunecli; + +import java.net.MalformedURLException; + +import org.junit.Test; +import org.naturalcli.ExecutionException; +import org.naturalcli.InvalidSyntaxException; + +public class KuneCliMainTest { + + @Test + public void basicHelp() throws InvalidSyntaxException, ExecutionException, MalformedURLException { + KuneCliMain cli = new KuneCliMain(); + String[] args = new String[] {"auth", "admin", "easyeasy"}; + cli.main(args); + } + + +} Modified: trunk/core/pom.xml =================================================================== --- trunk/core/pom.xml 2012-04-16 23:22:33 UTC (rev 1852) +++ trunk/core/pom.xml 2012-04-17 00:58:51 UTC (rev 1853) @@ -5,13 +5,20 @@ <artifactId>kune-core</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>pom</packaging> + <properties> + <maven.compiler.source>1.6</maven.compiler.source> + <maven.compiler.target>1.6</maven.compiler.target> + <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> + <wiab.version>0.3.13</wiab.version> + <gwt.version>2.1.1</gwt.version> + </properties> <modules> <module>kune-cli</module> </modules> -<!-- <repositories> --> -<!-- <repository> --> -<!-- <id>kune-maven</id> --> -<!-- <url>http://kune.ourproject.org/mavenrepo/</url> --> -<!-- </repository> --> -<!-- </repositories> --> + <!-- <repositories> --> + <!-- <repository> --> + <!-- <id>kune-maven</id> --> + <!-- <url>http://kune.ourproject.org/mavenrepo/</url> --> + <!-- </repository> --> + <!-- </repositories> --> </project> \ No newline at end of file Modified: trunk/pom.xml =================================================================== --- trunk/pom.xml 2012-04-16 23:22:33 UTC (rev 1852) +++ trunk/pom.xml 2012-04-17 00:58:51 UTC (rev 1853) @@ -1070,6 +1070,7 @@ <classifier>services</classifier> <includes> <include>**/rpcservices/UserService**</include> + <include>**/rpcservices/SiteService**</include> <include>**/shared/domain/*</include> <include>**/shared/domain/utils/*</include> <include>**/shared/dto/*</include>
participants (1)
-
Vicente J. Ruiz Jurado