commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gary D. Gregory (Updated) (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (VFS-371) Add FileObject API deleteAll()
Date Sun, 06 Nov 2011 18:39:51 GMT

     [ https://issues.apache.org/jira/browse/VFS-371?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Gary D. Gregory updated VFS-371:
--------------------------------

    Description: 
I see a lot of call sites within VFS 2 and some in my work server that do:

{code:java}
fileObject.delete(Selectors.SELECT_ALL);
{code}

It therefore seems like a sensible refactoring.

Add to {{FileObject}}:

{code:java}
    /**
     * Deletes all descendents of this file.  
     * Does nothing if this file does not exist.
     * Shorthand for {@code delete(Selectors.Selectors.SELECT_ALL)}
     * <p/>
     * <p>This method is not transactional.  If it fails and throws an
     * exception, this file will potentially only be partially deleted.
     *
     * @return the number of deleted objects
     * @throws FileSystemException If this file or one of its descendents is read-only, or
on error
     *                             deleting this file or one of its descendents.
     */
    int deleteAll() throws FileSystemException;
{code}

And to {{AbstractFileObject}}:

{code:java}
    /**
     * Deletes this file, and all children.
     *
     * @return the number of deleted files.
     * @throws FileSystemException if an error occurs.
     */
    public int deleteAllDescendents() throws FileSystemException
    {
        return this.delete(Selectors.SELECT_ALL);
    }
{code}


Thoughts?

Attaching patch.


  was:
I see a lot of call sites within VFS 2 and some in my work server that do:

{code:java}
fileObject.delete(Selectors.SELECT_ALL);
{code}

It therefore seems like a sensible refactoring.

Add to {{FileObject}}:

{code:java}
    /**
     * Deletes all descendents of this file.  
     * Does nothing if this file does not exist.
     * Shorthand for {@code delete(Selectors.Selectors.SELECT_ALL)}
     * <p/>
     * <p>This method is not transactional.  If it fails and throws an
     * exception, this file will potentially only be partially deleted.
     *
     * @return the number of deleted objects
     * @throws FileSystemException If this file or one of its descendents is read-only, or
on error
     *                             deleting this file or one of its descendents.
     */
    int deleteAllDescendents() throws FileSystemException;
{code}

And to {{AbstractFileObject}}:

{code:java}
    /**
     * Deletes this file, and all children.
     *
     * @return the number of deleted files.
     * @throws FileSystemException if an error occurs.
     */
    public int deleteAllDescendents() throws FileSystemException
    {
        return this.delete(Selectors.SELECT_ALL);
    }
{code}


Thoughts?

Attaching patch.


    
> Add FileObject API deleteAll()
> ------------------------------
>
>                 Key: VFS-371
>                 URL: https://issues.apache.org/jira/browse/VFS-371
>             Project: Commons VFS
>          Issue Type: New Feature
>         Environment: Apache Maven 3.0.3 (r1075438; 2011-02-28 12:31:09-0500)
> Maven home: C:\Java\apache-maven-3.0.3\bin\..
> Java version: 1.6.0_29, vendor: Sun Microsystems Inc.
> Java home: C:\Program Files\Java\jdk1.6.0_29\jre
> Default locale: en_US, platform encoding: Cp1252
> OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"
>            Reporter: Gary D. Gregory
>             Fix For: 2.1
>
>         Attachments: FileObject-deleteAllDescendents.diff
>
>
> I see a lot of call sites within VFS 2 and some in my work server that do:
> {code:java}
> fileObject.delete(Selectors.SELECT_ALL);
> {code}
> It therefore seems like a sensible refactoring.
> Add to {{FileObject}}:
> {code:java}
>     /**
>      * Deletes all descendents of this file.  
>      * Does nothing if this file does not exist.
>      * Shorthand for {@code delete(Selectors.Selectors.SELECT_ALL)}
>      * <p/>
>      * <p>This method is not transactional.  If it fails and throws an
>      * exception, this file will potentially only be partially deleted.
>      *
>      * @return the number of deleted objects
>      * @throws FileSystemException If this file or one of its descendents is read-only,
or on error
>      *                             deleting this file or one of its descendents.
>      */
>     int deleteAll() throws FileSystemException;
> {code}
> And to {{AbstractFileObject}}:
> {code:java}
>     /**
>      * Deletes this file, and all children.
>      *
>      * @return the number of deleted files.
>      * @throws FileSystemException if an error occurs.
>      */
>     public int deleteAllDescendents() throws FileSystemException
>     {
>         return this.delete(Selectors.SELECT_ALL);
>     }
> {code}
> Thoughts?
> Attaching patch.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message