[jira] [Updated] (IO-89) Inconsistency in SizeFileFilter and AgeFileFilter implementations

2020-05-30 Thread Michael Osipov (Jira)


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

Michael Osipov updated IO-89:
-
Fix Version/s: (was: 3.x)

> Inconsistency in SizeFileFilter and AgeFileFilter implementations
> -
>
> Key: IO-89
> URL: https://issues.apache.org/jira/browse/IO-89
> Project: Commons IO
>  Issue Type: Bug
>  Components: Filters
>Affects Versions: 1.2
>Reporter: Niall Pemberton
>Priority: Minor
>
> 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 was sent by Atlassian Jira
(v8.3.4#803005)


[jira] Updated: (IO-89) Inconsistency in SizeFileFilter and AgeFileFilter implementations

2008-01-05 Thread Niall Pemberton (JIRA)

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

Niall Pemberton updated IO-89:
--

Fix Version/s: (was: 1.4)
   AFTER-1.4

> Inconsistency in SizeFileFilter and AgeFileFilter implementations
> -
>
> Key: IO-89
> URL: https://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: AFTER-1.4
>
>
> 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.
-
You can reply to this email to add a comment to the issue online.