[ 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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to