geronimo-scm mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jdil...@apache.org
Subject svn commit: r699834 - in /geronimo/gshell/trunk: gshell-assembly/src/main/underlay/etc/ gshell-commands/gshell-vfs/ gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/ gshell-commands/gshell-vfs/src/main/java/org/apache/ge...
Date Sun, 28 Sep 2008 14:48:29 GMT
Author: jdillon
Date: Sun Sep 28 07:48:28 2008
New Revision: 699834

URL: http://svn.apache.org/viewvc?rev=699834&view=rev
Log:
Added a bunch more VFS commands, impls based roughly on the VFS Shell example, but better of course
Added the start of a completer for VFS bits, almost working correctly
Enable gshell-vfs in the default application and make some VFS caching bits quiter

Added:
    geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/CatAction.java   (with props)
    geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/ChangeDirectoryAction.java   (with props)
    geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/DisplayCurrentDirectoryAction.java   (with props)
    geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/ListDirectoryAction.java   (with props)
    geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/RemoveAction.java   (with props)
    geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/TouchAction.java   (with props)
    geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/VfsActionSupport.java   (with props)
    geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/support/
    geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/support/FileObjectNameCompleter.java   (with props)
    geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/support/FileSystemAccess.java   (with props)
    geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/support/FileSystemAccessImpl.java   (with props)
    geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/support/FileSystemManagerFactoryBean.java   (contents, props changed)
      - copied, changed from r699781, geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/FileSystemManagerFactoryBean.java
    geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/CatAction.properties   (with props)
    geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/ChangeDirectoryAction.properties   (with props)
    geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/DisplayCurrentDirectoryAction.properties   (with props)
    geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/ListDirectoryAction.properties   (with props)
    geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/RemoveAction.properties   (with props)
    geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/TouchAction.properties   (with props)
Removed:
    geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/FileSystemManagerFactoryBean.java
Modified:
    geronimo/gshell/trunk/gshell-assembly/src/main/underlay/etc/application.xml
    geronimo/gshell/trunk/gshell-assembly/src/main/underlay/etc/log4j.xml
    geronimo/gshell/trunk/gshell-commands/gshell-vfs/pom.xml
    geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/CopyAction.java
    geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/META-INF/spring/components.xml
    geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/CopyAction.properties

Modified: geronimo/gshell/trunk/gshell-assembly/src/main/underlay/etc/application.xml
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-assembly/src/main/underlay/etc/application.xml?rev=699834&r1=699833&r2=699834&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-assembly/src/main/underlay/etc/application.xml (original)
+++ geronimo/gshell/trunk/gshell-assembly/src/main/underlay/etc/application.xml Sun Sep 28 07:48:28 2008
@@ -70,6 +70,10 @@
                 <artifactId>gshell-remote</artifactId>
             </plugin>
 
+            <plugin>
+                <artifactId>gshell-vfs</artifactId>
+            </plugin>
+            
             <!--
             <plugin>
                 <artifactId>gshell-optional</artifactId>
@@ -82,10 +86,6 @@
             <plugin>
                 <artifactId>gshell-bsf</artifactId>
             </plugin>
-
-            <plugin>
-                <artifactId>gshell-vfs</artifactId>
-            </plugin>
             -->
         </pluginGroup>
     </pluginGroups>

Modified: geronimo/gshell/trunk/gshell-assembly/src/main/underlay/etc/log4j.xml
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-assembly/src/main/underlay/etc/log4j.xml?rev=699834&r1=699833&r2=699834&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-assembly/src/main/underlay/etc/log4j.xml (original)
+++ geronimo/gshell/trunk/gshell-assembly/src/main/underlay/etc/log4j.xml Sun Sep 28 07:48:28 2008
@@ -93,6 +93,10 @@
         <level value="INFO"/>
     </logger>
 
+    <logger name="org.apache.commons.vfs.cache">
+        <level value="INFO"/>
+    </logger>
+
     <root>
         <level value="${gshell.log.console.level}"/>
         <appender-ref ref="CONSOLE"/>

Modified: geronimo/gshell/trunk/gshell-commands/gshell-vfs/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-commands/gshell-vfs/pom.xml?rev=699834&r1=699833&r2=699834&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-commands/gshell-vfs/pom.xml (original)
+++ geronimo/gshell/trunk/gshell-commands/gshell-vfs/pom.xml Sun Sep 28 07:48:28 2008
@@ -39,13 +39,18 @@
 
     <dependencies>
         <dependency>
-            <groupId>commons-vfs</groupId>
-            <artifactId>commons-vfs</artifactId>
+            <groupId>org.apache.geronimo.gshell.support</groupId>
+            <artifactId>gshell-spring</artifactId>
         </dependency>
 
         <dependency>
-            <groupId>org.apache.geronimo.gshell.support</groupId>
-            <artifactId>gshell-spring</artifactId>
+            <groupId>org.apache.geronimo.gshell</groupId>
+            <artifactId>gshell-application</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>commons-vfs</groupId>
+            <artifactId>commons-vfs</artifactId>
         </dependency>
     </dependencies>
 

Added: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/CatAction.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/CatAction.java?rev=699834&view=auto
==============================================================================
--- geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/CatAction.java (added)
+++ geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/CatAction.java Sun Sep 28 07:48:28 2008
@@ -0,0 +1,52 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.geronimo.gshell.commands.vfs;
+
+import org.apache.commons.vfs.FileObject;
+import org.apache.commons.vfs.FileUtil;
+import org.apache.geronimo.gshell.clp.Argument;
+import org.apache.geronimo.gshell.command.CommandContext;
+import org.apache.geronimo.gshell.io.IO;
+
+/**
+ * Displays the contents of a file.
+ *
+ * @version $Rev$ $Date$
+ */
+public class CatAction
+    extends VfsActionSupport
+{
+    @Argument(required=true)
+    private String path;
+
+    public Object execute(final CommandContext context) throws Exception {
+        assert context != null;
+        IO io = context.getIo();
+
+        FileObject file = resolveFile(context, path);
+
+        // TODO: Validate more
+
+        FileUtil.writeContent(file, io.outputStream);
+        io.out.println();
+
+        return Result.SUCCESS;
+    }
+}
\ No newline at end of file

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/CatAction.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/CatAction.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/CatAction.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/ChangeDirectoryAction.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/ChangeDirectoryAction.java?rev=699834&view=auto
==============================================================================
--- geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/ChangeDirectoryAction.java (added)
+++ geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/ChangeDirectoryAction.java Sun Sep 28 07:48:28 2008
@@ -0,0 +1,64 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.geronimo.gshell.commands.vfs;
+
+import org.apache.commons.vfs.FileObject;
+import org.apache.commons.vfs.FileType;
+import org.apache.geronimo.gshell.clp.Argument;
+import org.apache.geronimo.gshell.command.CommandContext;
+import org.apache.geronimo.gshell.io.IO;
+
+/**
+ * Changes the current directory.
+ *
+ * @version $Rev$ $Date$
+ */
+public class ChangeDirectoryAction
+    extends VfsActionSupport
+{
+    @Argument
+    private String path;
+
+    public Object execute(final CommandContext context) throws Exception {
+        assert context != null;
+        IO io = context.getIo();
+
+        if (path == null) {
+            // TODO: May need to ask the Application for this, as it might be different depending on the context (ie. remote user, etc)
+            path = System.getProperty("user.home");
+        }
+
+        FileObject file = resolveFile(context, path);
+
+        // Complain if the file is missing or is not a directory
+        if (!file.exists()) {
+            io.error("Directory not found: {}", file.getName());
+            return Result.FAILURE;
+        }
+        else if (file.getType() != FileType.FOLDER) {
+            io.error("File is not a directory: {}", file.getName());
+            return Result.FAILURE;
+        }
+
+        setCurrentDirectory(context, file);
+        
+        return Result.SUCCESS;
+    }
+}
\ No newline at end of file

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/ChangeDirectoryAction.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/ChangeDirectoryAction.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/ChangeDirectoryAction.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/CopyAction.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/CopyAction.java?rev=699834&r1=699833&r2=699834&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/CopyAction.java (original)
+++ geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/CopyAction.java Sun Sep 28 07:48:28 2008
@@ -20,43 +20,40 @@
 package org.apache.geronimo.gshell.commands.vfs;
 
 import org.apache.commons.vfs.FileObject;
-import org.apache.commons.vfs.FileSystemManager;
-import org.apache.commons.vfs.FileUtil;
+import org.apache.commons.vfs.FileType;
+import org.apache.commons.vfs.Selectors;
 import org.apache.geronimo.gshell.clp.Argument;
-import org.apache.geronimo.gshell.command.CommandAction;
 import org.apache.geronimo.gshell.command.CommandContext;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
 
 /**
- * Copy files.
+ * Copies a file or directory.
  *
  * @version $Rev$ $Date$
  */
 public class CopyAction
-    implements CommandAction
+    extends VfsActionSupport
 {
-    private final Logger log = LoggerFactory.getLogger(getClass());
-
-    @Autowired
-    private FileSystemManager fsm;
-
     @Argument(index=0, required=true)
-    private String sourceName;
+    private String sourcePath;
 
     @Argument(index=1, required=true)
-    private String targetName;
+    private String targetPath;
 
     public Object execute(final CommandContext context) throws Exception {
         assert context != null;
 
-        FileObject source = fsm.resolveFile(sourceName);
-        FileObject target = fsm.resolveFile(targetName);
+        FileObject source = resolveFile(context, sourcePath);
+        FileObject target = resolveFile(context, targetPath);
+
+        // TODO: Validate more
+
+        if (target.exists() && target.getType() == FileType.FOLDER) {
+            target = target.resolveFile(source.getName().getBaseName());
+        }
 
         log.info("Copying {} -> {}", source, target);
-        
-        FileUtil.copyContent(source, target);
+
+        target.copyFrom(source, Selectors.SELECT_ALL);
 
         return Result.SUCCESS;
     }

Added: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/DisplayCurrentDirectoryAction.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/DisplayCurrentDirectoryAction.java?rev=699834&view=auto
==============================================================================
--- geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/DisplayCurrentDirectoryAction.java (added)
+++ geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/DisplayCurrentDirectoryAction.java Sun Sep 28 07:48:28 2008
@@ -0,0 +1,43 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.geronimo.gshell.commands.vfs;
+
+import org.apache.commons.vfs.FileObject;
+import org.apache.geronimo.gshell.command.CommandContext;
+import org.apache.geronimo.gshell.io.IO;
+
+/**
+ * Displays the current directory.
+ *
+ * @version $Rev$ $Date$
+ */
+public class DisplayCurrentDirectoryAction
+    extends VfsActionSupport
+{
+    public Object execute(final CommandContext context) throws Exception {
+        assert context != null;
+        IO io = context.getIo();
+
+        FileObject cwd = getCurrentDirectory(context);
+        io.info("{}", cwd.getName());
+
+        return Result.SUCCESS;
+    }
+}
\ No newline at end of file

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/DisplayCurrentDirectoryAction.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/DisplayCurrentDirectoryAction.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/DisplayCurrentDirectoryAction.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/ListDirectoryAction.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/ListDirectoryAction.java?rev=699834&view=auto
==============================================================================
--- geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/ListDirectoryAction.java (added)
+++ geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/ListDirectoryAction.java Sun Sep 28 07:48:28 2008
@@ -0,0 +1,98 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.geronimo.gshell.commands.vfs;
+
+import org.apache.commons.vfs.FileContent;
+import org.apache.commons.vfs.FileObject;
+import org.apache.commons.vfs.FileSystemException;
+import org.apache.commons.vfs.FileType;
+import org.apache.geronimo.gshell.clp.Argument;
+import org.apache.geronimo.gshell.clp.Option;
+import org.apache.geronimo.gshell.command.CommandContext;
+import org.apache.geronimo.gshell.io.IO;
+
+import java.text.DateFormat;
+import java.util.Date;
+
+/**
+ * List the contents of a file or directory.
+ *
+ * @version $Rev$ $Date$
+ */
+public class ListDirectoryAction
+    extends VfsActionSupport
+{
+    @Argument
+    private String path;
+
+    @Option(name="-r", aliases={ "--recursive" })
+    private boolean recursive = false;
+
+    public Object execute(final CommandContext context) throws Exception {
+        assert context != null;
+        IO io = context.getIo();
+
+        FileObject file;
+        if (path != null) {
+            file = resolveFile(context, path);
+        }
+        else {
+            file = getCurrentDirectory(context);
+        }
+
+        if (file.getType() == FileType.FOLDER) {
+            listChildren(io, file, recursive, "");
+        }
+        else {
+            io.info("{}", file.getName());
+
+            FileContent content = file.getContent();
+            io.info("Size: {} bytes", content.getSize());
+
+            DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.MEDIUM, DateFormat.MEDIUM);
+            String lastMod = dateFormat.format(new Date(content.getLastModifiedTime()));
+            io.info("Last modified: {}", lastMod);
+        }
+
+        return Result.SUCCESS;
+    }
+
+    private void listChildren(final IO io, final FileObject dir, final boolean recursive, final String prefix) throws FileSystemException {
+        assert io != null;
+        assert dir != null;
+        assert prefix != null;
+
+        for (FileObject child : dir.getChildren()) {
+            io.out.print(prefix);
+            io.out.print(child.getName().getBaseName());
+
+            if (child.getType() == FileType.FOLDER) {
+                io.out.println("/");
+
+                if (recursive) {
+                    listChildren(io, child, recursive, prefix + "    ");
+                }
+            }
+            else {
+                io.out.println();
+            }
+        }
+    }
+}
\ No newline at end of file

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/ListDirectoryAction.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/ListDirectoryAction.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/ListDirectoryAction.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/RemoveAction.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/RemoveAction.java?rev=699834&view=auto
==============================================================================
--- geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/RemoveAction.java (added)
+++ geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/RemoveAction.java Sun Sep 28 07:48:28 2008
@@ -0,0 +1,49 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.geronimo.gshell.commands.vfs;
+
+import org.apache.commons.vfs.FileObject;
+import org.apache.commons.vfs.Selectors;
+import org.apache.geronimo.gshell.clp.Argument;
+import org.apache.geronimo.gshell.command.CommandContext;
+
+/**
+ * Remove a file or directory.
+ *
+ * @version $Rev$ $Date$
+ */
+public class RemoveAction
+    extends VfsActionSupport
+{
+    @Argument(required=true)
+    private String path;
+
+    public Object execute(final CommandContext context) throws Exception {
+        assert context != null;
+
+        FileObject file = resolveFile(context, path);
+
+        // TODO: Validate more
+
+        file.delete(Selectors.SELECT_SELF);
+
+        return Result.SUCCESS;
+    }
+}
\ No newline at end of file

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/RemoveAction.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/RemoveAction.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/RemoveAction.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/TouchAction.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/TouchAction.java?rev=699834&view=auto
==============================================================================
--- geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/TouchAction.java (added)
+++ geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/TouchAction.java Sun Sep 28 07:48:28 2008
@@ -0,0 +1,52 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.geronimo.gshell.commands.vfs;
+
+import org.apache.commons.vfs.FileObject;
+import org.apache.geronimo.gshell.clp.Argument;
+import org.apache.geronimo.gshell.command.CommandContext;
+
+/**
+ * Sets the last-modified time of a file.
+ *
+ * @version $Rev$ $Date$
+ */
+public class TouchAction
+    extends VfsActionSupport
+{
+    @Argument(required=true)
+    private String path;
+
+    public Object execute(final CommandContext context) throws Exception {
+        assert context != null;
+
+        FileObject file = resolveFile(context, path);
+
+        // TODO: Validate more
+
+        if (!file.exists()) {
+            file.createFile();
+        }
+
+        file.getContent().setLastModifiedTime(System.currentTimeMillis());
+
+        return Result.SUCCESS;
+    }
+}
\ No newline at end of file

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/TouchAction.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/TouchAction.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/TouchAction.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/VfsActionSupport.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/VfsActionSupport.java?rev=699834&view=auto
==============================================================================
--- geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/VfsActionSupport.java (added)
+++ geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/VfsActionSupport.java Sun Sep 28 07:48:28 2008
@@ -0,0 +1,75 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.geronimo.gshell.commands.vfs;
+
+import org.apache.commons.vfs.FileObject;
+import org.apache.commons.vfs.FileSystemException;
+import org.apache.geronimo.gshell.command.CommandAction;
+import org.apache.geronimo.gshell.command.CommandContext;
+import org.apache.geronimo.gshell.commands.vfs.support.FileSystemAccess;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * Support for VFS command actions.
+ *
+ * @version $Rev$ $Date$
+ */
+public abstract class VfsActionSupport
+    implements CommandAction
+{
+    public static final String CWD = "vfs.cwd";
+
+    protected final Logger log = LoggerFactory.getLogger(getClass());
+
+    @Autowired
+    private FileSystemAccess fileSystemAccess;
+
+    protected FileSystemAccess getFileSystemAccess() {
+        assert fileSystemAccess != null;
+        return fileSystemAccess;
+    }
+
+    //
+    // TODO: Hook up monitor support to display something while long operations or going on.  Might not
+    //       be possible with VFS 1.0, as its on the list of things to be done.
+    //
+    
+    protected FileObject getCurrentDirectory(final CommandContext context) throws FileSystemException {
+        assert context != null;
+
+        return getFileSystemAccess().getCurrentDirectory(context.getVariables());
+    }
+
+    protected void setCurrentDirectory(final CommandContext context, final FileObject dir) throws FileSystemException {
+        assert context != null;
+
+        getFileSystemAccess().setCurrentDirectory(context.getVariables(), dir);
+    }
+
+    protected FileObject resolveFile(final CommandContext context, final String path) throws FileSystemException {
+        assert context != null;
+        assert path != null;
+
+        FileObject cwd = getCurrentDirectory(context);
+        return getFileSystemAccess().resolveFile(cwd, path);
+    }
+}
\ No newline at end of file

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/VfsActionSupport.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/VfsActionSupport.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/VfsActionSupport.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/support/FileObjectNameCompleter.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/support/FileObjectNameCompleter.java?rev=699834&view=auto
==============================================================================
--- geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/support/FileObjectNameCompleter.java (added)
+++ geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/support/FileObjectNameCompleter.java Sun Sep 28 07:48:28 2008
@@ -0,0 +1,125 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.geronimo.gshell.commands.vfs.support;
+
+import jline.Completor;
+import org.apache.commons.vfs.FileFilter;
+import org.apache.commons.vfs.FileFilterSelector;
+import org.apache.commons.vfs.FileObject;
+import org.apache.commons.vfs.FileSelectInfo;
+import org.apache.commons.vfs.FileSystemException;
+import org.apache.commons.vfs.FileType;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.io.File;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * VFS {@link FileObject} name completer.
+ *
+ * @version $Rev$ $Date$
+ */
+public class FileObjectNameCompleter
+    implements Completor
+{
+    private final Logger log = LoggerFactory.getLogger(getClass());
+
+    @Autowired
+    private FileSystemAccess fileSystemAccess;
+
+    public int complete(final String buffer, final int cursor, final List candidates) {
+        // buffer may be null
+        assert candidates != null;
+
+        String path = buffer == null ? "" : buffer;
+
+        log.debug("Path: '{}'", path);
+        
+        try {
+            assert fileSystemAccess != null;
+            FileObject dir = fileSystemAccess.resolveFile(path);
+
+            //
+            // FIXME: The processing logic here is not correct...
+            //
+            
+            /*
+            log.debug("Dir (before): {}", dir);
+            if (!path.endsWith(File.separator)) {
+                dir = dir.getParent();
+            }
+            log.debug("Dir (after): {}", dir);
+            */
+            log.debug("Dir: {}", dir);
+
+            if (dir != null) {
+                final String prefix = path;
+                FileFilter filter = new FileFilter() {
+                    public boolean accept(final FileSelectInfo selection) {
+                        assert selection != null;
+
+                        if (log.isDebugEnabled()) {
+                            log.debug("Filtering selection: {}", selection.getFile().getName());
+                        }
+
+                        return selection.getFile().getName().getPath().startsWith(prefix);
+                    }
+                };
+
+                FileObject[] files = dir.findFiles(new FileFilterSelector(filter));
+
+                if (files == null || files.length == 0) {
+                    log.debug("No matching files found");
+                }
+                else {
+                    log.debug("Found {} matching files:", files.length);
+
+                    for (FileObject file : files) {
+                        log.debug("    {}", file);
+
+                        StringBuilder buff = new StringBuilder();
+                        buff.append(file.getName().getBaseName());
+
+                        if (files.length == 1 && file.getType() == FileType.FOLDER) {
+                            buff.append(File.separator);
+                        }
+                        else {
+                            buff.append(" ");
+                        }
+
+                        // noinspection unchecked
+                        candidates.add(buff.toString());
+                    }
+
+                    // noinspection unchecked
+                    Collections.sort(candidates);
+                }
+            }
+
+            return path.lastIndexOf(File.separator) + File.separator.length();
+        }
+        catch (FileSystemException e) {
+            throw new RuntimeException("Unable to complete path: " + path, e);
+        }
+    }
+}
\ No newline at end of file

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/support/FileObjectNameCompleter.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/support/FileObjectNameCompleter.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/support/FileObjectNameCompleter.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/support/FileSystemAccess.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/support/FileSystemAccess.java?rev=699834&view=auto
==============================================================================
--- geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/support/FileSystemAccess.java (added)
+++ geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/support/FileSystemAccess.java Sun Sep 28 07:48:28 2008
@@ -0,0 +1,48 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.geronimo.gshell.commands.vfs.support;
+
+import org.apache.commons.vfs.FileSystemManager;
+import org.apache.commons.vfs.FileObject;
+import org.apache.commons.vfs.FileSystemException;
+import org.apache.geronimo.gshell.command.Variables;
+
+/**
+ * Provides access to VFS file systems.
+ *
+ * @version $Rev$ $Date$
+ */
+public interface FileSystemAccess
+{
+    String CWD = "vfs.cwd";
+
+    FileSystemManager getManager();
+
+    FileObject getCurrentDirectory(Variables vars) throws FileSystemException;
+
+    FileObject getCurrentDirectory() throws FileSystemException;
+
+    void setCurrentDirectory(Variables vars, FileObject dir) throws FileSystemException;
+
+    FileObject resolveFile(FileObject baseFile, String name) throws FileSystemException;
+
+    FileObject resolveFile(String name) throws FileSystemException;
+
+}

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/support/FileSystemAccess.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/support/FileSystemAccess.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/support/FileSystemAccess.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/support/FileSystemAccessImpl.java
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/support/FileSystemAccessImpl.java?rev=699834&view=auto
==============================================================================
--- geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/support/FileSystemAccessImpl.java (added)
+++ geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/support/FileSystemAccessImpl.java Sun Sep 28 07:48:28 2008
@@ -0,0 +1,124 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.geronimo.gshell.commands.vfs.support;
+
+import org.apache.commons.vfs.FileObject;
+import org.apache.commons.vfs.FileSystemException;
+import org.apache.commons.vfs.FileSystemManager;
+import org.apache.commons.vfs.FileType;
+import org.apache.geronimo.gshell.application.ApplicationManager;
+import org.apache.geronimo.gshell.command.Variables;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+
+/**
+ * {@link FileSystemAccess} component.
+ *
+ * @version $Rev$ $Date$
+ */
+public class FileSystemAccessImpl
+    implements FileSystemAccess
+{
+    private final Logger log = LoggerFactory.getLogger(getClass());
+
+    @Autowired
+    private ApplicationManager applicationManager;
+
+    @Autowired
+    private FileSystemManager fileSystemManager;
+
+    public FileSystemManager getManager() {
+        assert fileSystemManager != null;
+        return fileSystemManager;
+    }
+
+    public FileObject getCurrentDirectory(final Variables vars) throws FileSystemException {
+        assert vars != null;
+
+        FileObject cwd = null;
+
+        Object var = vars.get(CWD);
+        if (var instanceof String) {
+            log.debug("Resolving CWD from string: {}", var);
+
+            cwd = getManager().resolveFile((String)var);
+        }
+        else if (var instanceof FileObject) {
+            cwd = (FileObject)var;
+        }
+        else if (var != null) {
+            throw new RuntimeException("Invalid variable type for '" + CWD + "'; expected String or FileObject; found: " + var.getClass().getName());
+        }
+
+        if (cwd == null) {
+            log.debug("CWD not set, resolving from user.dir");
+
+            // TODO: May need to ask the Application for this, as it might be different depending on the context (ie. remote user, etc)
+            String userDir = System.getProperty("user.dir");
+            cwd = getManager().resolveFile(userDir);
+        }
+
+        return cwd;
+    }
+
+    public FileObject getCurrentDirectory() throws FileSystemException {
+        assert applicationManager != null;
+
+        log.debug("Resolving CWD from application variables");
+
+        return getCurrentDirectory(applicationManager.getApplication().getVariables());
+    }
+
+    public void setCurrentDirectory(final Variables vars, final FileObject dir) throws FileSystemException {
+        assert vars != null;
+        assert dir != null;
+
+        log.debug("Setting CWD: {}", dir);
+
+        // Make sure that the given file object exists and is really a directory
+        if (!dir.exists()) {
+            throw new RuntimeException("Directory not found: " + dir.getName());
+        }
+        else if (dir.getType() != FileType.FOLDER) {
+            throw new RuntimeException("File is not a directory: " + dir.getName());
+        }
+
+        vars.parent().set(CWD, dir);
+    }
+
+    public void setCurrentDirectory(final FileObject dir) throws FileSystemException {
+        assert dir != null;
+
+        assert applicationManager != null;
+
+        log.debug("Setting CWD to application variables");
+
+        setCurrentDirectory(applicationManager.getApplication().getVariables(), dir);
+    }
+
+    public FileObject resolveFile(final FileObject baseFile, final String name) throws FileSystemException {
+        return getManager().resolveFile(baseFile, name);
+    }
+
+    public FileObject resolveFile(String name) throws FileSystemException {
+        return getManager().resolveFile(getCurrentDirectory(), name);
+    }
+}
\ No newline at end of file

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/support/FileSystemAccessImpl.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/support/FileSystemAccessImpl.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/support/FileSystemAccessImpl.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Copied: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/support/FileSystemManagerFactoryBean.java (from r699781, geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/FileSystemManagerFactoryBean.java)
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/support/FileSystemManagerFactoryBean.java?p2=geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/support/FileSystemManagerFactoryBean.java&p1=geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/FileSystemManagerFactoryBean.java&r1=699781&r2=699834&rev=699834&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/FileSystemManagerFactoryBean.java (original)
+++ geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/support/FileSystemManagerFactoryBean.java Sun Sep 28 07:48:28 2008
@@ -17,11 +17,16 @@
  * under the License.
  */
 
-package org.apache.geronimo.gshell.commands.vfs;
+package org.apache.geronimo.gshell.commands.vfs.support;
 
 import org.apache.commons.vfs.FileSystemManager;
 import org.apache.commons.vfs.VFS;
+import org.apache.commons.vfs.Capability;
 import org.springframework.beans.factory.FactoryBean;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import java.util.Collection;
 
 /**
  * Sprint {@link FactoryBean} to construct the {@link FileSystemManager} instance.
@@ -31,8 +36,41 @@
 public class FileSystemManagerFactoryBean
     implements FactoryBean
 {
+    private final Logger log = LoggerFactory.getLogger(getClass());
+
     public Object getObject() throws Exception {
-        return VFS.getManager();
+        //
+        // TODO: Manually construct the FSM stuff, don't use the default
+        //
+        FileSystemManager fsm = VFS.getManager();
+
+        log.debug("File system manager: {}", fsm);
+        
+        // Dump some details about the current configuration
+        if (log.isTraceEnabled()) {
+            log.trace("    Cache strategy: {}", fsm.getCacheStrategy());
+            log.trace("    File content info factory: {}", fsm.getFileContentInfoFactory());
+
+            //
+            // TODO: Add commands to inspect all this muck and install new providers, etc.
+            //
+            
+            log.trace("Schemes:");
+            String[] schemes = fsm.getSchemes();
+            for (String scheme : schemes) {
+                log.trace("    {}", scheme);
+
+                // noinspection unchecked
+                Collection<Capability> capabilities = fsm.getProviderCapabilities(scheme);
+                if (!capabilities.isEmpty()) {
+                    for (Capability capability : capabilities) {
+                        log.trace("        {}", capability);
+                    }
+                }
+            }
+        }
+
+        return fsm;
     }
 
     public Class getObjectType() {

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/support/FileSystemManagerFactoryBean.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/support/FileSystemManagerFactoryBean.java
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/support/FileSystemManagerFactoryBean.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/META-INF/spring/components.xml
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/META-INF/spring/components.xml?rev=699834&r1=699833&r2=699834&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/META-INF/spring/components.xml (original)
+++ geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/META-INF/spring/components.xml Sun Sep 28 07:48:28 2008
@@ -29,12 +29,71 @@
 
     <gshell:plugin name="gshell-vfs">
         <gshell:command-bundle name="default">
-            <gshell:command name="copy">
+            <gshell:command name="cat">
+                <gshell:action class="org.apache.geronimo.gshell.commands.vfs.CatAction"/>
+                <gshell:completers>
+                    <ref bean="fileObjectNameCompleter"/>
+                    <null/>
+                </gshell:completers>
+            </gshell:command>
+
+            <gshell:command name="cd">
+                <gshell:action class="org.apache.geronimo.gshell.commands.vfs.ChangeDirectoryAction"/>
+                <gshell:completers>
+                    <ref bean="fileObjectNameCompleter"/>
+                    <null/>
+                </gshell:completers>
+            </gshell:command>
+
+            <gshell:command name="cp">
                 <gshell:action class="org.apache.geronimo.gshell.commands.vfs.CopyAction"/>
+                <gshell:completers>
+                    <ref bean="fileObjectNameCompleter"/>
+                    <ref bean="fileObjectNameCompleter"/>
+                    <null/>
+                </gshell:completers>
+            </gshell:command>
+
+            <gshell:link name="copy" target="cp"/>
+
+            <gshell:command name="pwd" type="stateless">
+                <gshell:action class="org.apache.geronimo.gshell.commands.vfs.DisplayCurrentDirectoryAction"/>
+            </gshell:command>
+
+            <gshell:command name="ls">
+                <gshell:action class="org.apache.geronimo.gshell.commands.vfs.ListDirectoryAction"/>
+                <gshell:completers>
+                    <ref bean="fileObjectNameCompleter"/>
+                    <null/>
+                </gshell:completers>
+            </gshell:command>
+
+            <gshell:link name="dir" target="ls"/>
+
+            <gshell:command name="rm">
+                <gshell:action class="org.apache.geronimo.gshell.commands.vfs.RemoveAction"/>
+                <gshell:completers>
+                    <ref bean="fileObjectNameCompleter"/>
+                    <null/>
+                </gshell:completers>
+            </gshell:command>
+
+            <gshell:link name="del" target="rm"/>
+
+            <gshell:command name="touch">
+                <gshell:action class="org.apache.geronimo.gshell.commands.vfs.TouchAction"/>
+                <gshell:completers>
+                    <ref bean="fileObjectNameCompleter"/>
+                    <null/>
+                </gshell:completers>
             </gshell:command>
         </gshell:command-bundle>
     </gshell:plugin>
 
-    <bean id="fileSystemManager" class="org.apache.geronimo.gshell.commands.vfs.FileSystemManagerFactoryBean"/>
+    <bean id="fileSystemManager" class="org.apache.geronimo.gshell.commands.vfs.support.FileSystemManagerFactoryBean"/>
+
+    <bean id="fileSystemAccess" class="org.apache.geronimo.gshell.commands.vfs.support.FileSystemAccessImpl"/>
+
+    <bean id="fileObjectNameCompleter" class="org.apache.geronimo.gshell.commands.vfs.support.FileObjectNameCompleter"/>
 
 </beans>
\ No newline at end of file

Added: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/CatAction.properties
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/CatAction.properties?rev=699834&view=auto
==============================================================================
--- geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/CatAction.properties (added)
+++ geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/CatAction.properties Sun Sep 28 07:48:28 2008
@@ -0,0 +1,32 @@
+##
+## Licensed to the Apache Software Foundation (ASF) under one
+## or more contributor license agreements.  See the NOTICE file
+## distributed with this work for additional information
+## regarding copyright ownership.  The ASF licenses this file
+## to you under the Apache License, Version 2.0 (the
+## "License"); you may not use this file except in compliance
+## with the License.  You may obtain a copy of the License at
+##
+##  http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing,
+## software distributed under the License is distributed on an
+## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+## KIND, either express or implied.  See the License for the
+## specific language governing permissions and limitations
+## under the License.
+##
+
+##
+## $Rev$ $Date$
+##
+
+command.name=cat
+
+command.description=Displays the contents of a file.
+
+command.argument.path=Path to file to display
+command.argument.path.token=PATH
+
+command.manual=\
+  TODO: cat manual
\ No newline at end of file

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/CatAction.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/CatAction.properties
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/CatAction.properties
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/ChangeDirectoryAction.properties
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/ChangeDirectoryAction.properties?rev=699834&view=auto
==============================================================================
--- geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/ChangeDirectoryAction.properties (added)
+++ geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/ChangeDirectoryAction.properties Sun Sep 28 07:48:28 2008
@@ -0,0 +1,32 @@
+##
+## Licensed to the Apache Software Foundation (ASF) under one
+## or more contributor license agreements.  See the NOTICE file
+## distributed with this work for additional information
+## regarding copyright ownership.  The ASF licenses this file
+## to you under the Apache License, Version 2.0 (the
+## "License"); you may not use this file except in compliance
+## with the License.  You may obtain a copy of the License at
+##
+##  http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing,
+## software distributed under the License is distributed on an
+## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+## KIND, either express or implied.  See the License for the
+## specific language governing permissions and limitations
+## under the License.
+##
+
+##
+## $Rev$ $Date$
+##
+
+command.name=cd
+
+command.description=Changes the current directory.
+
+command.argument.path=The path of the directory to change to
+command.argument.path.token=PATH
+
+command.manual=\
+  TODO: cd manual
\ No newline at end of file

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/ChangeDirectoryAction.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/ChangeDirectoryAction.properties
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/ChangeDirectoryAction.properties
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/CopyAction.properties
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/CopyAction.properties?rev=699834&r1=699833&r2=699834&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/CopyAction.properties (original)
+++ geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/CopyAction.properties Sun Sep 28 07:48:28 2008
@@ -23,13 +23,13 @@
 
 command.name=copy
 
-command.description=Copy files between VFS sources.
+command.description=Copies a file or directory.
 
-command.argument.sourceName=Source file name
-command.argument.sourceName.token=SOURCE
+command.argument.sourcePath=Source file or directory path
+command.argument.sourcePath.token=SOURCE
 
-command.argument.targetName=Target file name
-command.argument.targetName.token=TARGET
+command.argument.targetPath=Target file or directory path
+command.argument.targetPath.token=TARGET
 
 command.manual=\
   TODO: copy manual
\ No newline at end of file

Added: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/DisplayCurrentDirectoryAction.properties
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/DisplayCurrentDirectoryAction.properties?rev=699834&view=auto
==============================================================================
--- geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/DisplayCurrentDirectoryAction.properties (added)
+++ geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/DisplayCurrentDirectoryAction.properties Sun Sep 28 07:48:28 2008
@@ -0,0 +1,29 @@
+##
+## Licensed to the Apache Software Foundation (ASF) under one
+## or more contributor license agreements.  See the NOTICE file
+## distributed with this work for additional information
+## regarding copyright ownership.  The ASF licenses this file
+## to you under the Apache License, Version 2.0 (the
+## "License"); you may not use this file except in compliance
+## with the License.  You may obtain a copy of the License at
+##
+##  http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing,
+## software distributed under the License is distributed on an
+## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+## KIND, either express or implied.  See the License for the
+## specific language governing permissions and limitations
+## under the License.
+##
+
+##
+## $Rev$ $Date$
+##
+
+command.name=pwd
+
+command.description=Displays the current directory.
+
+command.manual=\
+  TODO: pwd manual
\ No newline at end of file

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/DisplayCurrentDirectoryAction.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/DisplayCurrentDirectoryAction.properties
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/DisplayCurrentDirectoryAction.properties
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/ListDirectoryAction.properties
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/ListDirectoryAction.properties?rev=699834&view=auto
==============================================================================
--- geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/ListDirectoryAction.properties (added)
+++ geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/ListDirectoryAction.properties Sun Sep 28 07:48:28 2008
@@ -0,0 +1,34 @@
+##
+## Licensed to the Apache Software Foundation (ASF) under one
+## or more contributor license agreements.  See the NOTICE file
+## distributed with this work for additional information
+## regarding copyright ownership.  The ASF licenses this file
+## to you under the Apache License, Version 2.0 (the
+## "License"); you may not use this file except in compliance
+## with the License.  You may obtain a copy of the License at
+##
+##  http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing,
+## software distributed under the License is distributed on an
+## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+## KIND, either express or implied.  See the License for the
+## specific language governing permissions and limitations
+## under the License.
+##
+
+##
+## $Rev$ $Date$
+##
+
+command.name=ls
+
+command.description=List the contents of a file or directory.
+
+command.argument.path=The file or directory path to list.
+command.argument.path.token=PATH
+
+command.option.recursive=List the contents of directories recursivly
+
+command.manual=\
+  TODO: ls manual
\ No newline at end of file

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/ListDirectoryAction.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/ListDirectoryAction.properties
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/ListDirectoryAction.properties
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/RemoveAction.properties
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/RemoveAction.properties?rev=699834&view=auto
==============================================================================
--- geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/RemoveAction.properties (added)
+++ geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/RemoveAction.properties Sun Sep 28 07:48:28 2008
@@ -0,0 +1,32 @@
+##
+## Licensed to the Apache Software Foundation (ASF) under one
+## or more contributor license agreements.  See the NOTICE file
+## distributed with this work for additional information
+## regarding copyright ownership.  The ASF licenses this file
+## to you under the Apache License, Version 2.0 (the
+## "License"); you may not use this file except in compliance
+## with the License.  You may obtain a copy of the License at
+##
+##  http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing,
+## software distributed under the License is distributed on an
+## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+## KIND, either express or implied.  See the License for the
+## specific language governing permissions and limitations
+## under the License.
+##
+
+##
+## $Rev$ $Date$
+##
+
+command.name=rm
+
+command.description=Remove a file or directory.
+
+command.argument.path=File or directory PATH to be removed.
+command.argumetn.path.token=PATH
+
+command.manual=\
+  TODO: rm manual
\ No newline at end of file

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/RemoveAction.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/RemoveAction.properties
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/RemoveAction.properties
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Added: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/TouchAction.properties
URL: http://svn.apache.org/viewvc/geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/TouchAction.properties?rev=699834&view=auto
==============================================================================
--- geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/TouchAction.properties (added)
+++ geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/TouchAction.properties Sun Sep 28 07:48:28 2008
@@ -0,0 +1,32 @@
+##
+## Licensed to the Apache Software Foundation (ASF) under one
+## or more contributor license agreements.  See the NOTICE file
+## distributed with this work for additional information
+## regarding copyright ownership.  The ASF licenses this file
+## to you under the Apache License, Version 2.0 (the
+## "License"); you may not use this file except in compliance
+## with the License.  You may obtain a copy of the License at
+##
+##  http://www.apache.org/licenses/LICENSE-2.0
+##
+## Unless required by applicable law or agreed to in writing,
+## software distributed under the License is distributed on an
+## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+## KIND, either express or implied.  See the License for the
+## specific language governing permissions and limitations
+## under the License.
+##
+
+##
+## $Rev$ $Date$
+##
+
+command.name=touch
+
+command.description=Sets the last-modified time of a file.
+
+command.argument.path=The path of the file to modify.
+command.argument.path.token=PATH
+
+command.manual=\
+  TODO: touch manual
\ No newline at end of file

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/TouchAction.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/TouchAction.properties
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/resources/org/apache/geronimo/gshell/commands/vfs/TouchAction.properties
------------------------------------------------------------------------------
    svn:mime-type = text/plain



Mime
View raw message