commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stephen Colebourne (JIRA)" <j...@apache.org>
Subject [jira] Commented: (IO-89) Inconsistency in SizeFileFilter and AgeFileFilter implementations
Date Tue, 25 Jul 2006 20:58:14 GMT
    [ http://issues.apache.org/jira/browse/IO-89?page=comments#action_12423451 ] 
            
Stephen Colebourne commented on IO-89:
--------------------------------------

I'm not sure I'm entirely convinced of the need for this. But if it is going to be done it
should use an enumerated type (pre JDK1.5) as per the IOCase class.

> Inconsistency in SizeFileFilter and AgeFileFilter implementations
> -----------------------------------------------------------------
>
>                 Key: IO-89
>                 URL: http://issues.apache.org/jira/browse/IO-89
>             Project: Commons IO
>          Issue Type: Bug
>          Components: Filters
>    Affects Versions: 1.2
>            Reporter: Niall Pemberton
>            Priority: Minor
>             Fix For: 1.3
>
>
> Theres an inconsistency (bug?) in the implementation of SizeFileFilter and AgeFileFilter.
> In SizeFileFilter, using an "acceptLarger" parameter of true actually accepts files with
a size equal to and larger, whereas
> specifying an "acceptLarger" parameter of false only accepts smaller files.
> The same is true for AgeFileFilter, using an "acceptOlder" parameter of true actually
accepts files either the same age or older, whereas
> specifying an "acceptOlder" parameter of false only accepts newer files.
> A big benefit of resolving these inconsistencies would mean that creating filters for
any condition (i.e. <, >, <=, >= or =) becomes
> alot easier. For example if the AgeFileFilter did only do either newer or older, then
creating a filters for "the same age or older"
> or "the same age or younger" could be done in the following way:
>     IOFileFilter equalOlder   = new NotFileFilter(new AgeFileFilter(cutoff, false));
>     IOFileFilter equalYounger = new NotFileFilter(new AgeFileFilter(cutoff, true));
> For SizeFileFilter I propose changing the logic to the following:
>     if (acceptLarger) {
>         return file.length() >= size;
>     } else {
>         return file.length() <= size;
>     }
> (This would mean that "new SizeFileFilter(cutoff)" would operate the same way)
> I have added isOlderFile() methods to FileUtils and propose that AgeFileFilter is changed
to the following:
>     if (acceptOlder) {
>         return FileUtils.isFileOlder(file, cutoff);
>     } else {
>         return FileUtils.isFileNewer(file, cutoff);
>     }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


Mime
View raw message