You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by ad...@apache.org on 2002/11/01 04:21:38 UTC

cvs commit: jakarta-commons-sandbox/vfs/src/java/org/apache/commons/vfs/tasks ShowFileTask.java

adammurdoch    2002/10/31 19:21:38

  Modified:    vfs/src/java/org/apache/commons/vfs/tasks ShowFileTask.java
  Log:
  Added recursive flag to <showfile> Ant task.
  
  Revision  Changes    Path
  1.5       +57 -23    jakarta-commons-sandbox/vfs/src/java/org/apache/commons/vfs/tasks/ShowFileTask.java
  
  Index: ShowFileTask.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/vfs/src/java/org/apache/commons/vfs/tasks/ShowFileTask.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ShowFileTask.java	23 Oct 2002 13:09:45 -0000	1.4
  +++ ShowFileTask.java	1 Nov 2002 03:21:38 -0000	1.5
  @@ -75,6 +75,8 @@
   {
       private String url;
       private boolean showContent;
  +    private boolean recursive;
  +    private static final String INDENT = "  ";
   
       /**
        * The URL of the file to display.
  @@ -94,56 +96,88 @@
       }
   
       /**
  +     * Recursively shows the decendents of the file.
  +     */
  +    public void setRecursive( final boolean recursive )
  +    {
  +        this.recursive = recursive;
  +    }
  +
  +    /**
        * Executes the task.
        */
       public void execute() throws BuildException
       {
           try
           {
  -            // Lookup the file
               final FileObject file = resolveFile( url );
  +            log( "Details of " + file.getName().getURI() );
  +            showFile( file, INDENT );
  +        }
  +        catch ( final Exception e )
  +        {
  +            throw new BuildException( e );
  +        }
  +    }
   
  -            // Write details
  -            log( "URI: " + file.getName().getURI() );
  -            log( "Exists: " + file.exists() );
  -            if ( !file.exists() )
  -            {
  -                return;
  -            }
  -            log( "Type: " + file.getType().getName() );
  +    /**
  +     * Logs the details of a file.
  +     */
  +    private void showFile( final FileObject file, final String prefix ) throws Exception
  +    {
  +        // Write details
  +        StringBuffer msg = new StringBuffer( prefix );
  +        msg.append( file.getName().getBaseName() );
  +        if ( file.exists() )
  +        {
  +            msg.append( " (" );
  +            msg.append( file.getType().getName() );
  +            msg.append( ")" );
  +        }
  +        else
  +        {
  +            msg.append( " (unknown)" );
  +        }
  +        log( msg.toString() );
  +
  +        if ( file.exists() )
  +        {
  +            final String newPrefix = prefix + INDENT;
               if ( file.getType() == FileType.FILE )
               {
                   final FileContent content = file.getContent();
  -                log( "Content-Length: " + content.getSize() );
  -                log( "Last-Modified" + new Date( content.getLastModifiedTime() ) );
  +                log( newPrefix + "Content-Length: " + content.getSize() );
  +                log( newPrefix + "Last-Modified" + new Date( content.getLastModifiedTime() ) );
                   if ( showContent )
                   {
  -                    log( "Content:" );
  -                    logContent( file );
  +                    log( newPrefix + "Content:" );
  +                    logContent( file, newPrefix );
                   }
               }
               else
               {
                   final FileObject[] children = file.getChildren();
  -                log( "Child Count: " + children.length );
  -                log( "Children:" );
                   for ( int i = 0; i < children.length; i++ )
                   {
                       FileObject child = children[ i ];
  -                    log( "    " + child.getName().getBaseName() );
  +                    if ( recursive )
  +                    {
  +                        showFile( child, newPrefix );
  +                    }
  +                    else
  +                    {
  +                        log( newPrefix + child.getName().getBaseName() );
  +                    }
                   }
               }
           }
  -        catch ( final Exception e )
  -        {
  -            throw new BuildException( e );
  -        }
       }
   
       /**
        * Writes the content of the file to Ant log.
        */
  -    private void logContent( FileObject file ) throws Exception
  +    private void logContent( final FileObject file, final String prefix )
  +        throws Exception
       {
           final InputStream instr = file.getContent().getInputStream();
           try
  @@ -156,7 +190,7 @@
                   {
                       break;
                   }
  -                log( line );
  +                log( prefix + line );
               }
           }
           finally
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>