Author: gnodet
Date: Thu Feb  5 11:41:21 2009
New Revision: 741079

URL: http://svn.apache.org/viewvc?rev=741079&view=rev
Log:
SMX4KNL-150, SMX4KNL-177

Modified:
    servicemix/smx4/kernel/trunk/gshell/gshell-core/pom.xml
    
servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/java/org/apache/servicemix/kernel/gshell/core/ApplicationManagerImpl.java
    
servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/resources/META-INF/spring/gshell-commands.xml
    
servicemix/smx4/kernel/trunk/gshell/gshell-core/src/test/java/org/apache/servicemix/kernel/gshell/core/Test.java
    
servicemix/smx4/kernel/trunk/gshell/itests/src/test/java/org/apache/servicemix/kernel/gshell/itests/CoreTest.java
    servicemix/smx4/kernel/trunk/pom.xml

Modified: servicemix/smx4/kernel/trunk/gshell/gshell-core/pom.xml
URL: 
http://svn.apache.org/viewvc/servicemix/smx4/kernel/trunk/gshell/gshell-core/pom.xml?rev=741079&r1=741078&r2=741079&view=diff
==============================================================================
--- servicemix/smx4/kernel/trunk/gshell/gshell-core/pom.xml (original)
+++ servicemix/smx4/kernel/trunk/gshell/gshell-core/pom.xml Thu Feb  5 11:41:21 
2009
@@ -94,7 +94,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.geronimo.gshell.commands</groupId>
-            <artifactId>gshell-builtins</artifactId>
+            <artifactId>gshell-builtin</artifactId>
             <version>${gshell.version}</version>
             <exclusions>
                 <exclusion>
@@ -109,12 +109,17 @@
         </dependency>
         <dependency>
             <groupId>org.apache.geronimo.gshell.commands</groupId>
-            <artifactId>gshell-optional</artifactId>
+            <artifactId>gshell-file</artifactId>
             <version>${gshell.version}</version>
         </dependency>
         <dependency>
             <groupId>org.apache.geronimo.gshell.commands</groupId>
-            <artifactId>gshell-vfs</artifactId>
+            <artifactId>gshell-network</artifactId>
+            <version>${gshell.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.geronimo.gshell.commands</groupId>
+            <artifactId>gshell-shell</artifactId>
             <version>${gshell.version}</version>
         </dependency>
         <dependency>
@@ -123,6 +128,11 @@
             <version>${gshell.version}</version>
         </dependency>
         <dependency>
+            <groupId>org.apache.geronimo.gshell.commands</groupId>
+            <artifactId>gshell-text</artifactId>
+            <version>${gshell.version}</version>
+        </dependency>
+        <dependency>
             <groupId>org.apache.geronimo.gshell.wisdom</groupId>
             <artifactId>gshell-wisdom-core</artifactId>
             <version>${gshell.version}</version>
@@ -269,10 +279,12 @@
                                     
<include>org.apache.geronimo.gshell:gshell-api</include>
                                     
<include>org.apache.geronimo.gshell:gshell-application</include>
                                     
<include>org.apache.geronimo.gshell:gshell-parser</include>
-                                    
<include>org.apache.geronimo.gshell.commands:gshell-builtins</include>
-                                    
<include>org.apache.geronimo.gshell.commands:gshell-optional</include>
-                                    
<include>org.apache.geronimo.gshell.commands:gshell-remote</include>
-                                    
<include>org.apache.geronimo.gshell.commands:gshell-vfs</include>
+                                    
<include>org.apache.geronimo.gshell.commands:gshell-builtin</include>
+                                    
<include>org.apache.geronimo.gshell.commands:gshell-file</include>
+                                    
<include>org.apache.geronimo.gshell.commands:gshell-network</include>
+                                    
<include>org.apache.geronimo.gshell.commands:gshell-shell</include>
+                                    
<include>org.apache.geronimo.gshell.commands:gshell-ssh</include>
+                                    
<include>org.apache.geronimo.gshell.commands:gshell-text</include>
                                     
<include>org.apache.geronimo.gshell.support:gshell-ansi</include>
                                     
<include>org.apache.geronimo.gshell.support:gshell-artifact</include>
                                     
<include>org.apache.geronimo.gshell.support:gshell-chronos</include>
@@ -319,25 +331,37 @@
                                     </excludes>
                                 </filter>
                                 <filter>
-                                    
<artifact>org.apache.geronimo.gshell.commands:gshell-builtins</artifact>
+                                    
<artifact>org.apache.geronimo.gshell.commands:gshell-builtin</artifact>
+                                    <excludes>
+                                        
<exclude>org/apache/geronimo/gshell/**</exclude>
+                                    </excludes>
+                                </filter>
+                                <filter>
+                                    
<artifact>org.apache.geronimo.gshell.commands:gshell-file</artifact>
+                                    <excludes>
+                                        
<exclude>org/apache/geronimo/gshell/**</exclude>
+                                    </excludes>
+                                </filter>
+                                <filter>
+                                    
<artifact>org.apache.geronimo.gshell.commands:gshell-network</artifact>
                                     <excludes>
                                         
<exclude>org/apache/geronimo/gshell/**</exclude>
                                     </excludes>
                                 </filter>
                                 <filter>
-                                    
<artifact>org.apache.geronimo.gshell.commands:gshell-optional</artifact>
+                                    
<artifact>org.apache.geronimo.gshell.commands:gshell-shell</artifact>
                                     <excludes>
                                         
<exclude>org/apache/geronimo/gshell/**</exclude>
                                     </excludes>
                                 </filter>
                                 <filter>
-                                    
<artifact>org.apache.geronimo.gshell.commands:gshell-remote</artifact>
+                                    
<artifact>org.apache.geronimo.gshell.commands:gshell-ssh</artifact>
                                     <excludes>
                                         
<exclude>org/apache/geronimo/gshell/**</exclude>
                                     </excludes>
                                 </filter>
                                 <filter>
-                                    
<artifact>org.apache.geronimo.gshell.commands:gshell-vfs</artifact>
+                                    
<artifact>org.apache.geronimo.gshell.commands:gshell-text</artifact>
                                     <excludes>
                                         
<exclude>org/apache/geronimo/gshell/**</exclude>
                                     </excludes>

Modified: 
servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/java/org/apache/servicemix/kernel/gshell/core/ApplicationManagerImpl.java
URL: 
http://svn.apache.org/viewvc/servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/java/org/apache/servicemix/kernel/gshell/core/ApplicationManagerImpl.java?rev=741079&r1=741078&r2=741079&view=diff
==============================================================================
--- 
servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/java/org/apache/servicemix/kernel/gshell/core/ApplicationManagerImpl.java
 (original)
+++ 
servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/java/org/apache/servicemix/kernel/gshell/core/ApplicationManagerImpl.java
 Thu Feb  5 11:41:21 2009
@@ -25,10 +25,12 @@
 import org.apache.geronimo.gshell.io.SystemOutputHijacker;
 import org.springframework.context.ApplicationContext;
 import org.springframework.context.ApplicationContextAware;
+import org.springframework.beans.factory.InitializingBean;
+import org.springframework.beans.factory.DisposableBean;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class ApplicationManagerImpl implements ApplicationManager, 
ApplicationContextAware {
+public class ApplicationManagerImpl implements ApplicationManager, 
ApplicationContextAware, InitializingBean, DisposableBean {
 
     private final Logger log = LoggerFactory.getLogger(getClass());
 
@@ -43,11 +45,15 @@
         this.application = application;
     }
 
-    public void init() throws Exception {
+    public void afterPropertiesSet() throws Exception {
         if (!SystemOutputHijacker.isInstalled()) {
             SystemOutputHijacker.install();
         }
-        SystemOutputHijacker.register(application.getIo().outputStream, 
application.getIo().errorStream);
+        //SystemOutputHijacker.register(application.getIo().outputStream, 
application.getIo().errorStream);
+    }
+
+    public void destroy() {
+        SystemOutputHijacker.uninstall();
     }
 
     public void setApplicationContext(ApplicationContext applicationContext) {

Modified: 
servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/resources/META-INF/spring/gshell-commands.xml
URL: 
http://svn.apache.org/viewvc/servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/resources/META-INF/spring/gshell-commands.xml?rev=741079&r1=741078&r2=741079&view=diff
==============================================================================
--- 
servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/resources/META-INF/spring/gshell-commands.xml
 (original)
+++ 
servicemix/smx4/kernel/trunk/gshell/gshell-core/src/main/resources/META-INF/spring/gshell-commands.xml
 Thu Feb  5 11:41:21 2009
@@ -35,15 +35,19 @@
 
     <import 
resource="classpath:org/apache/servicemix/kernel/gshell/core/commands.xml" />
 
+    <bean id="vfsCommandActionTemplate" abstract="true">
+        <property name="fileSystemAccess" ref="fileSystemAccess"/>
+    </bean>
+
     <gshell:command-bundle>
         <gshell:command name="about">
-            <gshell:action 
class="org.apache.geronimo.gshell.commands.builtins.AboutAction">
-                <constructor-arg ref="applicationManager"/>
+            <gshell:action 
class="org.apache.geronimo.gshell.commands.builtin.AboutAction">
+                <constructor-arg ref="application"/>
             </gshell:action>
         </gshell:command>
 
         <gshell:command name="help">
-            <gshell:action 
class="org.apache.geronimo.gshell.commands.builtins.HelpAction">
+            <gshell:action 
class="org.apache.geronimo.gshell.commands.builtin.HelpAction">
                 <constructor-arg ref="commandResolver"/>
             </gshell:action>
             <gshell:completers>
@@ -60,27 +64,27 @@
         </gshell:command>
 
         <gshell:command name="exit">
-            <gshell:action 
class="org.apache.geronimo.gshell.commands.builtins.ExitAction"/>
+            <gshell:action 
class="org.apache.geronimo.gshell.commands.builtin.ExitAction"/>
         </gshell:command>
 
         <gshell:link name="quit" target="exit"/>
 
         <gshell:command name="echo">
-            <gshell:action 
class="org.apache.geronimo.gshell.commands.builtins.EchoAction"/>
+            <gshell:action 
class="org.apache.geronimo.gshell.commands.builtin.EchoAction"/>
         </gshell:command>
 
         <gshell:link name="print" target="echo"/>
 
         <gshell:command name="printf">
-            <gshell:action 
class="org.apache.geronimo.gshell.commands.builtins.PrintfAction"/>
+            <gshell:action 
class="org.apache.geronimo.gshell.commands.text.PrintfAction"/>
         </gshell:command>
 
         <gshell:command name="clear" type="stateless">
-            <gshell:action 
class="org.apache.geronimo.gshell.commands.builtins.ClearAction"/>
+            <gshell:action 
class="org.apache.geronimo.gshell.commands.builtin.ClearAction"/>
         </gshell:command>
 
         <gshell:command name="source">
-            <gshell:action 
class="org.apache.geronimo.gshell.commands.builtins.SourceAction">
+            <gshell:action 
class="org.apache.geronimo.gshell.commands.builtin.SourceAction">
                 <constructor-arg ref="commandLineExecutor"/>
                 <constructor-arg ref="fileSystemAccess"/>
             </gshell:action>
@@ -91,11 +95,11 @@
         </gshell:command>
 
         <gshell:command name="set">
-            <gshell:action 
class="org.apache.geronimo.gshell.commands.builtins.SetAction"/>
+            <gshell:action 
class="org.apache.geronimo.gshell.commands.builtin.SetAction"/>
         </gshell:command>
 
         <gshell:command name="unset">
-            <gshell:action 
class="org.apache.geronimo.gshell.commands.builtins.UnsetAction"/>
+            <gshell:action 
class="org.apache.geronimo.gshell.commands.builtin.UnsetAction"/>
             <gshell:completers>
                 <ref bean="variableNameCompleter"/>
                 <null/>
@@ -103,13 +107,13 @@
         </gshell:command>
 
         <gshell:command name="alias">
-            <gshell:action 
class="org.apache.geronimo.gshell.commands.builtins.AliasAction">
+            <gshell:action 
class="org.apache.geronimo.gshell.commands.builtin.AliasAction">
                 <constructor-arg ref="aliasRegistry"/>
             </gshell:action>
         </gshell:command>
 
         <gshell:command name="unalias">
-            <gshell:action 
class="org.apache.geronimo.gshell.commands.builtins.UnaliasAction">
+            <gshell:action 
class="org.apache.geronimo.gshell.commands.builtin.UnaliasAction">
                 <constructor-arg ref="aliasRegistry"/>
             </gshell:action>
             <gshell:completers>
@@ -119,7 +123,7 @@
         </gshell:command>
 
         <gshell:command name="history">
-            <gshell:action 
class="org.apache.geronimo.gshell.commands.builtins.HistoryAction"/>
+            <gshell:action 
class="org.apache.geronimo.gshell.commands.builtin.HistoryAction"/>
         </gshell:command>
 
         <gshell:command name="info">
@@ -141,27 +145,27 @@
 
     <gshell:command-bundle>
         <gshell:command name="optional/exec">
-            <gshell:action 
class="org.apache.geronimo.gshell.commands.optional.ExecuteAction"/>
+            <gshell:action 
class="org.apache.geronimo.gshell.commands.shell.ExecuteAction"/>
         </gshell:command>
 
         <gshell:command name="optional/java">
-            <gshell:action 
class="org.apache.geronimo.gshell.commands.optional.JavaAction"/>
+            <gshell:action 
class="org.apache.geronimo.gshell.commands.shell.JavaAction"/>
         </gshell:command>
 
         <gshell:command name="optional/sleep">
-            <gshell:action 
class="org.apache.geronimo.gshell.commands.optional.SleepAction"/>
+            <gshell:action 
class="org.apache.geronimo.gshell.commands.shell.SleepAction"/>
         </gshell:command>
 
         <gshell:command name="optional/date">
-            <gshell:action 
class="org.apache.geronimo.gshell.commands.optional.DateAction"/>
+            <gshell:action 
class="org.apache.geronimo.gshell.commands.shell.DateAction"/>
         </gshell:command>
 
         <gshell:command name="optional/hostname">
-            <gshell:action 
class="org.apache.geronimo.gshell.commands.optional.HostnameAction"/>
+            <gshell:action 
class="org.apache.geronimo.gshell.commands.network.HostnameAction"/>
         </gshell:command>
 
         <gshell:command name="optional/cat">
-            <gshell:action 
class="org.apache.geronimo.gshell.commands.optional.CatAction"/>
+            <gshell:action 
class="org.apache.geronimo.gshell.commands.text.CatAction"/>
             <gshell:completers>
                 <ref bean="fileObjectNameCompleter"/>
                 <null/>
@@ -169,7 +173,7 @@
         </gshell:command>
 
         <gshell:command name="optional/edit">
-            <gshell:action 
class="org.apache.geronimo.gshell.commands.optional.EditAction"/>
+            <gshell:action 
class="org.apache.geronimo.gshell.commands.shell.EditAction"/>
             <gshell:completers>
                 <ref bean="fileObjectNameCompleter"/>
                 <null/>
@@ -177,7 +181,7 @@
         </gshell:command>
 
         <gshell:command name="optional/touch">
-            <gshell:action 
class="org.apache.geronimo.gshell.commands.optional.TouchAction"/>
+            <gshell:action 
class="org.apache.geronimo.gshell.commands.file.TouchAction" 
parent="vfsCommandActionTemplate"/>
             <gshell:completers>
                 <ref bean="fileObjectNameCompleter"/>
                 <null/>
@@ -185,7 +189,7 @@
         </gshell:command>
 
         <gshell:command name="optional/find">
-            <gshell:action 
class="org.apache.geronimo.gshell.commands.optional.FindAction"/>
+            <gshell:action 
class="org.apache.geronimo.gshell.commands.shell.FindAction"/>
             <gshell:completers>
                 <ref bean="fileObjectNameCompleter"/>
                 <null/>
@@ -193,13 +197,13 @@
         </gshell:command>
 
         <gshell:command name="optional/grep">
-            <gshell:action 
class="org.apache.geronimo.gshell.commands.optional.GrepAction"/>
+            <gshell:action 
class="org.apache.geronimo.gshell.commands.text.GrepAction"/>
         </gshell:command>
     </gshell:command-bundle>
 
     <gshell:command-bundle>
         <gshell:command name="vfs/cd">
-            <gshell:action 
class="org.apache.geronimo.gshell.commands.vfs.ChangeDirectoryAction"/>
+            <gshell:action 
class="org.apache.geronimo.gshell.commands.file.ChangeDirectoryAction" 
parent="vfsCommandActionTemplate"/>
             <gshell:completers>
                 <ref bean="fileObjectNameCompleter"/>
                 <null/>
@@ -207,11 +211,11 @@
         </gshell:command>
 
         <gshell:command name="vfs/pwd" type="stateless">
-            <gshell:action 
class="org.apache.geronimo.gshell.commands.vfs.CurrentDirectoryAction"/>
+            <gshell:action 
class="org.apache.geronimo.gshell.commands.file.CurrentDirectoryAction" 
parent="vfsCommandActionTemplate"/>
         </gshell:command>
 
         <gshell:command name="vfs/ls">
-            <gshell:action 
class="org.apache.geronimo.gshell.commands.vfs.ListDirectoryAction"/>
+            <gshell:action 
class="org.apache.geronimo.gshell.commands.file.ListDirectoryAction" 
parent="vfsCommandActionTemplate"/>
             <gshell:completers>
                 <ref bean="fileObjectNameCompleter"/>
                 <null/>
@@ -221,7 +225,7 @@
         <gshell:link name="vfs/dir" target="vfs/ls"/>
 
         <gshell:command name="vfs/cp">
-            <gshell:action 
class="org.apache.geronimo.gshell.commands.vfs.CopyAction"/>
+            <gshell:action 
class="org.apache.geronimo.gshell.commands.file.CopyAction" 
parent="vfsCommandActionTemplate"/>
             <gshell:completers>
                 <ref bean="fileObjectNameCompleter"/>
                 <ref bean="fileObjectNameCompleter"/>
@@ -232,7 +236,7 @@
         <gshell:link name="vfs/copy" target="vfs/cp"/>
 
         <gshell:command name="vfs/rm">
-            <gshell:action 
class="org.apache.geronimo.gshell.commands.vfs.RemoveAction"/>
+            <gshell:action 
class="org.apache.geronimo.gshell.commands.file.RemoveAction" 
parent="vfsCommandActionTemplate"/>
             <gshell:completers>
                 <ref bean="fileObjectNameCompleter"/>
                 <null/>
@@ -242,7 +246,7 @@
         <gshell:link name="vfs/del" target="vfs/rm"/>
 
         <gshell:command name="vfs/fileinfo">
-            <gshell:action 
class="org.apache.geronimo.gshell.commands.vfs.FileInfoAction"/>
+            <gshell:action 
class="org.apache.geronimo.gshell.commands.file.FileInfoAction" 
parent="vfsCommandActionTemplate"/>
             <gshell:completers>
                 <ref bean="fileObjectNameCompleter"/>
                 <null/>

Modified: 
servicemix/smx4/kernel/trunk/gshell/gshell-core/src/test/java/org/apache/servicemix/kernel/gshell/core/Test.java
URL: 
http://svn.apache.org/viewvc/servicemix/smx4/kernel/trunk/gshell/gshell-core/src/test/java/org/apache/servicemix/kernel/gshell/core/Test.java?rev=741079&r1=741078&r2=741079&view=diff
==============================================================================
--- 
servicemix/smx4/kernel/trunk/gshell/gshell-core/src/test/java/org/apache/servicemix/kernel/gshell/core/Test.java
 (original)
+++ 
servicemix/smx4/kernel/trunk/gshell/gshell-core/src/test/java/org/apache/servicemix/kernel/gshell/core/Test.java
 Thu Feb  5 11:41:21 2009
@@ -29,34 +29,104 @@
         System.setProperty("startLocalConsole", "true");
         System.setProperty("servicemix.name", "root");
 
-        ClassPathXmlApplicationContext context = new 
ClassPathXmlApplicationContext(
-                new String[] { "META-INF/spring/gshell.xml",
-                               "META-INF/spring/gshell-vfs.xml",
-                               "META-INF/spring/gshell-commands.xml",
-                               
"org/apache/servicemix/kernel/gshell/core/gshell-test.xml" });
-        ApplicationManager appMgr = (ApplicationManager) 
context.getBean("applicationManager");
-        assertNotNull(appMgr);
-        Shell shell = appMgr.create();
-        assertNotNull(shell);
-        shell.execute("help");
+        ClassPathXmlApplicationContext context = null;
+        try {
+            context = new ClassPathXmlApplicationContext(
+                    new String[] { "META-INF/spring/gshell.xml",
+                                   "META-INF/spring/gshell-vfs.xml",
+                                   "META-INF/spring/gshell-commands.xml",
+                                   
"org/apache/servicemix/kernel/gshell/core/gshell-test.xml" });
+            ApplicationManager appMgr = (ApplicationManager) 
context.getBean("applicationManager");
+            assertNotNull(appMgr);
+            Shell shell = appMgr.create();
+            assertNotNull(shell);
+            shell.execute("help");
+        } finally {
+            if (context != null) {
+                context.destroy();
+            }
+        }
     }
 
     public void testBanner() throws Exception {
         System.setProperty("startLocalConsole", "true");
         System.setProperty("servicemix.name", "root");
 
-        ClassPathXmlApplicationContext context = new 
ClassPathXmlApplicationContext(
-                new String[] { "META-INF/spring/gshell.xml",
-                               "META-INF/spring/gshell-vfs.xml",               
                
-                               "META-INF/spring/gshell-commands.xml",
-                               
"org/apache/servicemix/kernel/gshell/core/gshell-test.xml"});
-        ApplicationManager appMgr = (ApplicationManager) 
context.getBean("applicationManager");
-        assertNotNull(appMgr);
-        Shell shell = appMgr.create();
-        ServiceMixBranding smxBrandng = 
(ServiceMixBranding)appMgr.getApplication().getModel().getBranding();
-        assertNotNull(smxBrandng.getWelcomeMessage());
-        System.out.println(smxBrandng.getWelcomeMessage());
-        assertNotNull(shell);        
-        shell.execute("about");
+        ClassPathXmlApplicationContext context = null;
+        try {
+            context = new ClassPathXmlApplicationContext(
+                    new String[] { "META-INF/spring/gshell.xml",
+                                   "META-INF/spring/gshell-vfs.xml",
+                                   "META-INF/spring/gshell-commands.xml",
+                                   
"org/apache/servicemix/kernel/gshell/core/gshell-test.xml"});
+            ApplicationManager appMgr = (ApplicationManager) 
context.getBean("applicationManager");
+            assertNotNull(appMgr);
+            Shell shell = appMgr.create();
+            ServiceMixBranding smxBrandng = 
(ServiceMixBranding)appMgr.getApplication().getModel().getBranding();
+            assertNotNull(smxBrandng.getWelcomeMessage());
+            System.out.println(smxBrandng.getWelcomeMessage());
+            assertNotNull(shell);
+            shell.execute("about");
+        } finally {
+            if (context != null) {
+                context.destroy();
+            }
+        }
     }
+
+    public void testLs() throws Exception {
+        System.setProperty("startLocalConsole", "true");
+        System.setProperty("servicemix.name", "root");
+
+        ClassPathXmlApplicationContext context = null;
+        try {
+            context = new ClassPathXmlApplicationContext(
+                    new String[] { "META-INF/spring/gshell.xml",
+                                   "META-INF/spring/gshell-vfs.xml",
+                                   "META-INF/spring/gshell-commands.xml",
+                                   
"org/apache/servicemix/kernel/gshell/core/gshell-test.xml"});
+            ApplicationManager appMgr = (ApplicationManager) 
context.getBean("applicationManager");
+            assertNotNull(appMgr);
+            Shell shell = appMgr.create();
+            ServiceMixBranding smxBrandng = 
(ServiceMixBranding)appMgr.getApplication().getModel().getBranding();
+            assertNotNull(smxBrandng.getWelcomeMessage());
+            System.out.println(smxBrandng.getWelcomeMessage());
+            assertNotNull(shell);
+            shell.execute("vfs/ls meta:/commands/");
+        } finally {
+            if (context != null) {
+                context.destroy();
+            }
+        }
+    }
+
+    public void testCommandGroups() throws Exception {
+        System.setProperty("startLocalConsole", "true");
+        System.setProperty("servicemix.name", "root");
+
+        ClassPathXmlApplicationContext context = null;
+        try {
+            context = new ClassPathXmlApplicationContext(
+                    new String[] { "META-INF/spring/gshell.xml",
+                                   "META-INF/spring/gshell-vfs.xml",
+                                   "META-INF/spring/gshell-commands.xml",
+                                   
"org/apache/servicemix/kernel/gshell/core/gshell-test.xml"});
+            ApplicationManager appMgr = (ApplicationManager) 
context.getBean("applicationManager");
+            assertNotNull(appMgr);
+            Shell shell = appMgr.create();
+            ServiceMixBranding smxBrandng = 
(ServiceMixBranding)appMgr.getApplication().getModel().getBranding();
+            assertNotNull(smxBrandng.getWelcomeMessage());
+            System.out.println(smxBrandng.getWelcomeMessage());
+            assertNotNull(shell);
+
+            shell.execute("vfs");
+            shell.execute("help");
+            shell.execute("..");
+        } finally {
+            if (context != null) {
+                context.destroy();
+            }
+        }
+    }
+
 }

Modified: 
servicemix/smx4/kernel/trunk/gshell/itests/src/test/java/org/apache/servicemix/kernel/gshell/itests/CoreTest.java
URL: 
http://svn.apache.org/viewvc/servicemix/smx4/kernel/trunk/gshell/itests/src/test/java/org/apache/servicemix/kernel/gshell/itests/CoreTest.java?rev=741079&r1=741078&r2=741079&view=diff
==============================================================================
--- 
servicemix/smx4/kernel/trunk/gshell/itests/src/test/java/org/apache/servicemix/kernel/gshell/itests/CoreTest.java
 (original)
+++ 
servicemix/smx4/kernel/trunk/gshell/itests/src/test/java/org/apache/servicemix/kernel/gshell/itests/CoreTest.java
 Thu Feb  5 11:41:21 2009
@@ -75,4 +75,11 @@
         }
     }
 
+    public void testCommandGroup() throws Exception {
+        Shell shell = getOsgiService(Shell.class);
+        shell.execute("vfs");
+        shell.execute("help");
+        shell.execute("..");
+    }
+
 }

Modified: servicemix/smx4/kernel/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/servicemix/smx4/kernel/trunk/pom.xml?rev=741079&r1=741078&r2=741079&view=diff
==============================================================================
--- servicemix/smx4/kernel/trunk/pom.xml (original)
+++ servicemix/smx4/kernel/trunk/pom.xml Thu Feb  5 11:41:21 2009
@@ -121,7 +121,7 @@
         </repository>
         <!-- Apache snapshots -->
         <repository>
-            <id>apache-snapshots</id>
+            <id>apache.snapshots</id>
             <name>Apache Snapshots Repository</name>
             <url>http://people.apache.org/repo/m2-snapshot-repository</url>
             <releases>


Reply via email to