Commit Graph

3384 Commits

Author SHA1 Message Date
aherbert 4ecffb5fee Test getProvider() is Apache Commons Collections. 2020-02-18 13:57:15 +00:00
aherbert 6215948227 Hit all edge cases in the Shape.equals method. 2020-02-18 13:57:15 +00:00
aherbert 55cb720ccf Remove HashFunctionIdentity comparators.
The comparators are never used to perform ordering of functions. The
only current use is to determine that two hash functions are
functionally equivalent. A replacement utility class has been added to
test for equality.
2020-02-18 13:35:58 +00:00
aherbert 66b418f3e9 Update DynamicHasher to have a specialised iterator when empty.
Add tests to exercise the empty and non-empty iterators and their
expected exceptions when no more elements.
2020-02-18 12:39:11 +00:00
aherbert 39f0955920 Removed spurious javadoc tag. 2020-02-17 15:22:13 +00:00
aherbert d31ebdd0e4 Javadoc clean-up. 2020-02-17 14:10:10 +00:00
aherbert 7aaf396c83 Correct test javadoc headers. 2020-02-17 13:44:14 +00:00
aherbert 1f17189d53 Remove unthrown exception. 2020-02-17 13:34:56 +00:00
aherbert 4033ff63c5 Test code clean-up.
Make methods static if possible.

Correct formatting of braces.
2020-02-17 13:34:14 +00:00
aherbert 373a241752 Removed invalid javadoc. 2020-02-17 13:30:40 +00:00
aherbert fa028268a8 Remove unthrown exception from test setup(). 2020-02-17 13:26:16 +00:00
aherbert b377f59613 Remove extra lines. 2020-02-17 13:24:03 +00:00
aherbert 5f70948570 Remove whitespace around parentheses. 2020-02-17 13:17:11 +00:00
aherbert 82273e966e Added orCardinality to BitSetBloomFilter. 2020-02-17 13:06:52 +00:00
aherbert 2a0e867744 Remove javadoc from override method.
The javadoc incorrectly refers to BitSetBloomFilter as the argument.
2020-02-17 13:00:22 +00:00
aherbert 28b381008e Eliminate extra lines. 2020-02-17 12:56:53 +00:00
aherbert a3e2ea2443 Remove methods from the javadoc that are not implemented.
These methods have been moved from AbstractBloomFilter to SetOperations.
2020-02-17 11:44:28 +00:00
Gary Gregory d5bf76870f [COLLECTIONS-748] Let
org.apache.commons.collections4.properties.[Sorted]PropertiesFactory
accept XML input.
2020-02-16 20:42:27 -05:00
Gary Gregory 87497d0fa1 Use the stock JRE Objects.requireNonNull() for parameter validation.
Formatting. Javadoc.
2020-02-16 15:39:57 -05:00
Gary Gregory a1ce1c2121 Formatting. 2020-02-16 15:22:43 -05:00
Gary Gregory 7d06bd77e9 [COLLECTIONS-747] MultiKey.getKeys class cast exception. 2020-02-16 15:18:27 -05:00
Gary Gregory 9fd080442c Javadoc. 2020-02-16 15:16:01 -05:00
Gary Gregory c665cdb28a Fix formatting. 2020-02-16 15:15:45 -05:00
Gary Gregory 4d6946c43a Cast to long to workaround a bug in animal-sniffer. 2020-02-16 15:15:35 -05:00
Gary Gregory 38c36b5685 Sort methods in AB order. 2020-02-16 15:15:26 -05:00
Gary Gregory f95c8526ad Use final. 2020-02-16 15:08:34 -05:00
Gary Gregory c5348397a9 Format tweaks. Consistently use 'this.' in ctors. 2020-02-16 15:08:00 -05:00
Gary Gregory 433229fd22 Sort members. 2020-02-13 10:34:04 -05:00
Gary Gregory f416d453af Update org.easymock:easymock 4.1 -> 4.2. 2020-02-13 10:29:54 -05:00
Gary Gregory 7b1a908a8c [COLLECTIONS-746] Add
org.apache.commons.collections4.properties.PropertiesFactory.EMPTY_PROPERTIES.

Suppress deprecation warning since we are delegating.
2020-02-11 08:50:37 -05:00
Gary Gregory acff58db5a [COLLECTIONS-746] Add
org.apache.commons.collections4.properties.PropertiesFactory.EMPTY_PROPERTIES.

Fix imports.
2020-02-09 11:42:05 -05:00
Gary Gregory 181fe9c708 Merge branch 'master' of https://gitbox.apache.org/repos/asf/commons-collections.git 2020-02-09 11:40:54 -05:00
Gary Gregory 8f906c08fa [COLLECTIONS-746] Add
org.apache.commons.collections4.properties.PropertiesFactory.EMPTY_PROPERTIES.

[build] Update Jacoco from 0.8.4 to 0.8.5.
2020-02-09 11:40:43 -05:00
Eitan Adler 0bf44ae040 COLLECTIONS-697: correct changelog entry (ref #55)
use the apache committer name instead of the github username

ref: 64420e34cc
2020-02-01 14:36:23 -08:00
Gary Gregory ee282c7c6b Update JUnit from 4.12 to 4.13. 2020-01-26 18:01:22 -05:00
Gary Gregory 13b132450c Update Apache commons-parent from 48 to 50. 2020-01-26 17:53:38 -05:00
Gary Gregory b0fa61893a Javadoc and comment. 2020-01-26 17:42:27 -05:00
Gary Gregory 15bd5806d5 Remove unused imports. 2020-01-26 17:37:01 -05:00
Gary Gregory 1a193e4f21 Use final. 2020-01-26 17:35:27 -05:00
Gary Gregory 1e57244dc1 Remove redundant semicolons. 2020-01-26 17:29:45 -05:00
Gary Gregory 9675e6c794 Remove unnecessary type casts. 2020-01-26 17:26:49 -05:00
Gary Gregory 1d26ffda93 Remove redundant generic type arguments. 2020-01-26 17:23:41 -05:00
Claude Warren 5639a5d790 Bloom filter documentation (#128)
* Added initial bloom filter code.  Added changed lang3 dependency from
test to compile in pom.xml

* added tests + made recommended changes.

* Updated documentation

* refactored ProtoBloomFilter added tests.

* Cleand up code and added tests

* Added CountingBloomFilter

* Fixed CountingBloomFilter issues

Fixed checkstyle and bug report issues

* Initial bloom filter collections checkin

* Added unit tests

* fixed test cases

* Extract BloomFilter as an interface

* added missing license info

* fixed Jacoco errors

* fixed names for so build picks up tests

* cleaned up Jacoco report for BloomNestedCollection

* removed unused code

* cleaned up and reformatted

* added javadoc

fixed issue with BloomNestedCollection detecting duplicates in an edge
case.

* fixed candidate testing bug

* Cleand up niggling report issues.

* fixed javadoc errors

* fixed javadoc for java 13 issue

* Second set of fixes.


* "package private for testing" for methods and properties.
* In "Builder":
** Field "hashes" made "final"
* removes some "Serializable" implementations.
* "StandardBloomFilter" made non non "final" fields final and changed
"final protected" to "final private".
* removed transient fields
* made Package name singular
* added javadocs for private and protected fields and methods.
* Occurrences of "bloom" replaced with "Bloom"

* removed checkstyle and findbugs exclusions

* Fixed method and class names

* Documentation updates

* Fixed checkstyle isses

Added BloomFilterConfiguration functions for estimation.

* added .checkstyle to eclipse ignore section.

* renamed test classes to match main class names

* Updated the documentation.

* Implemented requested changes.  Part of COLLECTIONS-728

Changed remaining "get" comments to "gets" etc.
Added final where possible and reasonable.
renamed enum Change to CHANGE
fixed missing javadoc links and missed name changes.
fixed ProtoBloomFilter hashCode
renamed CollectionStatistics to BloomCollectionStatistics
renamed CollectionConfiguration to BloomCollectionConfiguration
renamed BloomCollectionStatistics.getTxnCount() to getTransactionCount()

* Added final set of constructors and tests for them.

Cleaned up issues from Gilles Sadowski review

* fixes for Gilles Sadowski issues in BloomCollectionStatistics

* Update javadoc

* renamed match() -> matches() and inverseMatch() -> inverseMatches()

This follows the pattern set with the Object.equals() method name.

* added isFull() method to check if a bloom filter is full.

* Changed gate from StandardBloomFilter to BloomFilter

* renamed BloomCollectionX -> BloomFilterGatedX

specifically:
BloomCollectionConfiguration -> BloomFilterGatedConfiguraiton
BloomCollectionStatistics -> BloomFilterGatedStatistics

* Made the StandardBloomFilter(BitSet) constructor public

* removed extraneous build() methods from ProtoBloomFilter.Factory

* Added Use cases

* Initial cut

* changes for interface

* Changed to Hasher implementation

* Added missing files and removed Shape from some BloomFilter calls

* Added  @since 4.5 tags

* fixed javadoc

* fixed PMD errors

* Added tests and fixed sign extension issues

* changed to Byte constant

* made BloomFilter.verify*() non final

* Added remove(Hasher) for completeness

* Replaced private implementation of MurmurHash3 with commons-codec

* fixed typo

* Removed Hasher.Factory added HashFunction interface

* removed Usage.md

* made commons-codec dependency optional

* Improved performance of Iterator.

* renamed instance variable "md" as messageDigest.

* updated javadoc

* renamed Iter to Iterator and removed unused imports

* removed unused imports

* Made instance variables final.

Also fixed MD5 constructor to throw IllegalStateException if MD5 algo
can not be found.

* removed unused imports

* Updated javadoc.

* Added HashFunctionIdentity to replace HashFunctionName

Added test cases, updated java doc.
Renamed function implementations to reflect actual function.
Added comparators for HashFunctionIdentity

* fixed naming issues

* Updated javadoc

* fixed checkstyle issue

* Removed link that was causing problems in java 11+ javadoc

* changed HashFunctionIdentity.getProcess() to getProcessType()

* changed HashFunctionIdentity.getProcess() to getProcessType()

* Added package documentation

* Added BloomFilter interface and removed unnecessary methods

* updated tests and fixed issues

* Moved set operations to separate class and updated tests

* fixed FindBugs, PMD and Checkstyle errors

* fixed javadocs

* Added SetOperations and tests

* Added javadocs indicating optional commons-codec required

* Added another cosine test

* Updated to commons-codec 1.14

* fixed typos

* moved Hasher to o.a.c.c.b.hasher package

* extracted Shape.java and moved to o.a.c.c.b.hasher package

* Added javadoc and removed unused imports in testing code

* Added isEmpty() method to Hasher

* initial documentation

* updated to latest mathjax

* Fixed typographical issues
2020-01-26 12:16:54 -05:00
Gary Gregory d61b83be16 [COLLECTIONS-728] BloomFilter contribution. 2020-01-24 18:15:22 -05:00
Claude Warren 469c04b14c Initial bloom filter code contribution (#83)
* Added initial bloom filter code.  Added changed lang3 dependency from
test to compile in pom.xml

* added tests + made recommended changes.

* Updated documentation

* refactored ProtoBloomFilter added tests.

* Cleand up code and added tests

* Added CountingBloomFilter

* Fixed CountingBloomFilter issues

Fixed checkstyle and bug report issues

* Initial bloom filter collections checkin

* Added unit tests

* fixed test cases

* Extract BloomFilter as an interface

* added missing license info

* fixed Jacoco errors

* fixed names for so build picks up tests

* cleaned up Jacoco report for BloomNestedCollection

* removed unused code

* cleaned up and reformatted

* added javadoc

fixed issue with BloomNestedCollection detecting duplicates in an edge
case.

* fixed candidate testing bug

* Cleand up niggling report issues.

* fixed javadoc errors

* fixed javadoc for java 13 issue

* Second set of fixes.


* "package private for testing" for methods and properties.
* In "Builder":
** Field "hashes" made "final"
* removes some "Serializable" implementations.
* "StandardBloomFilter" made non non "final" fields final and changed
"final protected" to "final private".
* removed transient fields
* made Package name singular
* added javadocs for private and protected fields and methods.
* Occurrences of "bloom" replaced with "Bloom"

* removed checkstyle and findbugs exclusions

* Fixed method and class names

* Documentation updates

* Fixed checkstyle isses

Added BloomFilterConfiguration functions for estimation.

* added .checkstyle to eclipse ignore section.

* renamed test classes to match main class names

* Updated the documentation.

* Implemented requested changes.  Part of COLLECTIONS-728

Changed remaining "get" comments to "gets" etc.
Added final where possible and reasonable.
renamed enum Change to CHANGE
fixed missing javadoc links and missed name changes.
fixed ProtoBloomFilter hashCode
renamed CollectionStatistics to BloomCollectionStatistics
renamed CollectionConfiguration to BloomCollectionConfiguration
renamed BloomCollectionStatistics.getTxnCount() to getTransactionCount()

* Added final set of constructors and tests for them.

Cleaned up issues from Gilles Sadowski review

* fixes for Gilles Sadowski issues in BloomCollectionStatistics

* Update javadoc

* renamed match() -> matches() and inverseMatch() -> inverseMatches()

This follows the pattern set with the Object.equals() method name.

* added isFull() method to check if a bloom filter is full.

* Changed gate from StandardBloomFilter to BloomFilter

* renamed BloomCollectionX -> BloomFilterGatedX

specifically:
BloomCollectionConfiguration -> BloomFilterGatedConfiguraiton
BloomCollectionStatistics -> BloomFilterGatedStatistics

* Made the StandardBloomFilter(BitSet) constructor public

* removed extraneous build() methods from ProtoBloomFilter.Factory

* Added Use cases

* Initial cut

* changes for interface

* Changed to Hasher implementation

* Added missing files and removed Shape from some BloomFilter calls

* Added  @since 4.5 tags

* fixed javadoc

* fixed PMD errors

* Added tests and fixed sign extension issues

* changed to Byte constant

* made BloomFilter.verify*() non final

* Added remove(Hasher) for completeness

* Replaced private implementation of MurmurHash3 with commons-codec

* fixed typo

* Removed Hasher.Factory added HashFunction interface

* removed Usage.md

* made commons-codec dependency optional

* Improved performance of Iterator.

* renamed instance variable "md" as messageDigest.

* updated javadoc

* renamed Iter to Iterator and removed unused imports

* removed unused imports

* Made instance variables final.

Also fixed MD5 constructor to throw IllegalStateException if MD5 algo
can not be found.

* removed unused imports

* Updated javadoc.

* Added HashFunctionIdentity to replace HashFunctionName

Added test cases, updated java doc.
Renamed function implementations to reflect actual function.
Added comparators for HashFunctionIdentity

* fixed naming issues

* Updated javadoc

* fixed checkstyle issue

* Removed link that was causing problems in java 11+ javadoc

* changed HashFunctionIdentity.getProcess() to getProcessType()

* changed HashFunctionIdentity.getProcess() to getProcessType()

* Added package documentation

* Added BloomFilter interface and removed unnecessary methods

* updated tests and fixed issues

* Moved set operations to separate class and updated tests

* fixed FindBugs, PMD and Checkstyle errors

* fixed javadocs

* Added SetOperations and tests

* Added javadocs indicating optional commons-codec required

* Added another cosine test

* Updated to commons-codec 1.14

* fixed typos

* moved Hasher to o.a.c.c.b.hasher package

* extracted Shape.java and moved to o.a.c.c.b.hasher package

* Added javadoc and removed unused imports in testing code

* Added isEmpty() method to Hasher
2020-01-24 18:10:46 -05:00
Gary Gregory fde8c8618a [COLLECTIONS-744] Add
org.apache.commons.collections4.EnumerationUtils.asIterable(Enumeration).
2020-01-12 10:32:57 -05:00
Gary Gregory 22560c3077 [COLLECTIONS-780] Add
org.apache.commons.collections4.EnumerationUtils.asIterable(Enumeration).
2020-01-12 10:32:00 -05:00
Gary Gregory 45eee00385 Sort Sort methods. 2020-01-12 10:25:21 -05:00
Gary Gregory a963a123f7 Sort methods. 2020-01-12 10:17:05 -05:00
Gary Gregory de7cb0105b Javadoc: Add missing tags. 2020-01-11 20:15:31 -05:00