You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by jd...@apache.org on 2008/09/29 09:23:25 UTC

svn commit: r700003 - in /geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs: CatAction.java ChangeDirectoryAction.java CopyAction.java ListDirectoryAction.java RemoveAction.java TouchAction.java

Author: jdillon
Date: Mon Sep 29 00:23:24 2008
New Revision: 700003

URL: http://svn.apache.org/viewvc?rev=700003&view=rev
Log:
Add more validation

Modified:
    geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/CatAction.java
    geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/ChangeDirectoryAction.java
    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/java/org/apache/geronimo/gshell/commands/vfs/ListDirectoryAction.java
    geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/RemoveAction.java
    geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/TouchAction.java

Modified: 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=700003&r1=700002&r2=700003&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/CatAction.java (original)
+++ geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/CatAction.java Mon Sep 29 00:23:24 2008
@@ -21,6 +21,7 @@
 
 import org.apache.commons.vfs.FileObject;
 import org.apache.commons.vfs.FileUtil;
+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;
@@ -42,8 +43,15 @@
 
         FileObject file = resolveFile(context, path);
 
-        // TODO: Validate more
-
+        if (!file.exists()) {
+            io.error("File not found: {}", file.getName());
+            return Result.FAILURE;
+        }
+        else if (file.getType() == FileType.FOLDER) {
+            io.error("File is a directory: {}", file.getName());
+            return Result.FAILURE;
+        }
+        
         FileUtil.writeContent(file, io.outputStream);
         io.out.println();
 

Modified: 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=700003&r1=700002&r2=700003&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/ChangeDirectoryAction.java (original)
+++ geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/ChangeDirectoryAction.java Mon Sep 29 00:23:24 2008
@@ -47,7 +47,6 @@
 
         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;

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=700003&r1=700002&r2=700003&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 Mon Sep 29 00:23:24 2008
@@ -24,6 +24,7 @@
 import org.apache.commons.vfs.Selectors;
 import org.apache.geronimo.gshell.clp.Argument;
 import org.apache.geronimo.gshell.command.CommandContext;
+import org.apache.geronimo.gshell.io.IO;
 
 /**
  * Copies a file or directory.
@@ -39,12 +40,20 @@
     @Argument(index=1, required=true)
     private String targetPath;
 
+    // TODO: Add --recursive suport
+    
     public Object execute(final CommandContext context) throws Exception {
         assert context != null;
+        IO io = context.getIo();
 
         FileObject source = resolveFile(context, sourcePath);
         FileObject target = resolveFile(context, targetPath);
 
+        if (!source.exists()) {
+            io.error("Source file not found: {}", source.getName());
+            return Result.FAILURE;
+        }
+
         // TODO: Validate more
 
         if (target.exists() && target.getType() == FileType.FOLDER) {

Modified: 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=700003&r1=700002&r2=700003&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/ListDirectoryAction.java (original)
+++ geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/ListDirectoryAction.java Mon Sep 29 00:23:24 2008
@@ -70,11 +70,11 @@
             io.info("{}", file.getName());
 
             FileContent content = file.getContent();
-            io.info("Size: {} bytes", content.getSize());
+            io.verbose("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);
+            io.verbose("Last modified: {}", lastMod);
         }
 
         return Result.SUCCESS;

Modified: 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=700003&r1=700002&r2=700003&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/RemoveAction.java (original)
+++ geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/RemoveAction.java Mon Sep 29 00:23:24 2008
@@ -21,8 +21,10 @@
 
 import org.apache.commons.vfs.FileObject;
 import org.apache.commons.vfs.Selectors;
+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;
 
 /**
  * Remove a file or directory.
@@ -35,12 +37,18 @@
     @Argument(required=true)
     private String path;
 
+    // TODO: Add --recursive support
+
     public Object execute(final CommandContext context) throws Exception {
         assert context != null;
+        IO io = context.getIo();
 
         FileObject file = resolveFile(context, path);
 
-        // TODO: Validate more
+        if (!file.exists()) {
+            io.error("File not found: {}", file.getName());
+            return Result.FAILURE;
+        }
 
         file.delete(Selectors.SELECT_SELF);
 

Modified: 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=700003&r1=700002&r2=700003&view=diff
==============================================================================
--- geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/TouchAction.java (original)
+++ geronimo/gshell/trunk/gshell-commands/gshell-vfs/src/main/java/org/apache/geronimo/gshell/commands/vfs/TouchAction.java Mon Sep 29 00:23:24 2008
@@ -39,8 +39,6 @@
 
         FileObject file = resolveFile(context, path);
 
-        // TODO: Validate more
-
         if (!file.exists()) {
             file.createFile();
         }