Uploaded image for project: 'Commons Sandbox'
  1. Commons Sandbox
  2. SANDBOX-159

[finder] Make FileFilter implementations public classes in their own package.

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • None
    • Finder
    • None

    Description

      I'm attaching a patch which extracts the FileFilter implementations out of the FindingFilter class into a separate "filters" package. This will allow them to be re-used in conjunction with a new CompositeFilter.

      I've created a new CompositeFilter implementation (which FindingFilter is now based on) which can do AND or OR processing which I think will allow quite powerful FileFilter implementations to be created - since CompositeFilters themselves can be used as component FileFilters for more complex CompositeFilters.

      For example to select files which are less than 1MB and have been modified in the last 20 days

      CompositeFilter filter1 = new CompositeFilter(false, true);
      filter1.addFilter(new SizeFilter(false, "-1m"));
      filter1.addFilter(new TimeFilter(false, 20, false));

      As a by-product IMO it will also make creating test cases for the individual FileFilter implementations easier.

      Attachments

        1. finder-filters-package.txt
          125 kB
          Niall Pemberton

        Activity

          People

            Unassigned Unassigned
            niallp Niall Pemberton
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: