commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Niall Pemberton (JIRA)" <j...@apache.org>
Subject [jira] Commented: (IO-89) Inconsistency in SizeFileFilter and AgeFileFilter implementations
Date Wed, 11 Oct 2006 17:14:36 GMT
    [ http://issues.apache.org/jira/browse/IO-89?page=comments#action_12441503 ] 
            
Niall Pemberton commented on IO-89:
-----------------------------------

My final proposal is actually what I originally proposed, but you pointed out earlier "the
key thing is backward" compatibilty. IMO we should fix it because I think the inconsistency
is a bug. From my point of view theres three options here:

1) Fix It - modify as per my original proposal
2) Punt the issue to 1.4 until theres consensus (so it doesn't hold up 1.3)
3) Close it as WONT FIX

> 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