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] Created: (IO-89) Inconsistency in SizeFileFilter and AgeFileFilter implementations
Date Mon, 24 Jul 2006 16:24:13 GMT
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