Commit Graph

209 Commits

Author SHA1 Message Date
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 861df7a823 [test] org.easymock:easymock 4.0.2 -> 4.1. 2019-11-23 17:24:50 -05:00
Sebb 5e13762caa git-wip-us => gitbox 2019-08-16 18:33:54 +01:00
Sebb fec2e657cc Explain why needed 2019-08-06 23:01:18 +01:00
Sebb f823985339 More fixups to pom; rebuild download page 2019-08-02 15:39:21 +01:00
Sebb c9c0008a8a Fix the source of the naming problem for 3.2.2 2019-08-02 15:23:46 +01:00
Gary Gregory a17965688b Fix version. 2019-08-02 09:55:38 -04:00
Gary Gregory 3927b6ca1e Fix download page for 3.2.2. 2019-08-02 09:54:52 -04:00
Gary Gregory bf5e45885a Bump to next development version 2019-07-08 22:31:56 -04:00
Gary Gregory cab58b3a80 Update POM version numbers for Apache Commons Collections release 4.4 2019-07-05 13:58:03 -04:00
Gary Gregory 73fad758a0 Prepate for release 4.4. 2019-07-05 13:41:14 -04:00
Gary Gregory 7b101411e5 Use current version of Maven JaCoCo plugin. 2019-07-05 11:02:21 -04:00
Gary Gregory 7db45d3971 Use HTTPS links to Apache. 2019-07-04 09:52:33 -04:00
Bruno P. Kinoshita 398090b539 Use source=8 for maven-javadoc-plugin 2019-05-14 21:15:39 +12:00
Gary Gregory ca6851e3ec Update maven-pmd-plugin from 3.11.0 to 3.12.0. 2019-04-23 15:20:16 -04:00
Gary Gregory eac7bf76e8 Update tests from Apache Commmons Lang 3.8.1 to 3.9. 2019-04-14 20:23:00 -04:00
Gary Gregory 68948279bc Update Apache Commons Parent from 47 to 48. 2019-03-25 10:39:33 -04:00
Maxim Solodovnik 89008f2b15 Create Commons collections 4.3 release tag
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE07/ZeejT3UvtphvEnmkXtcRnUm4FAlxZu5YACgkQnmkXtcRn
 Um5rFg/8CdoshaRoLOHXz69U2vQmW6IbKogi+dUTOofD+532XExl/4nwq+E1U7Db
 3ibOFVoEZ73VFRIOhjaEHEwi6+ZNvp6Bxv7HxEN6pcEvIXPuqljwmaLLXkKzZeCP
 2y0bxoztYAHVWbcBfLvSRWBbkzkmRnq/00Mmp6HwOdf6w+Z2+5XpNIqs7kYUWkqw
 7hsDZQhbIWGIo2grb8LlloE4FchXwqg6lfmtNTlaXGlZpxOYNuq+RtF+RSPngKgl
 Dg0oAoupV6YQa3f5Yj2/o/5GZV6lEpttYqlwSlY+PmdMJue5vm9SxUmbIeoT9XJe
 oNjbb4nGOm/cthM/DDnIVSzgqGhvG/ui1gAforP6Ft4VKUZtVnAIxOCS8nWOgQg6
 OdCPOYOd6n6fIC5Tft7bUsedAMfLiy9FtUx2Nw9KFfVicNIyqCNxU5NXOqfi+66x
 dWbPV73yFsRzGQZ09Vsb6uvT2qV1IXCWqmzGebyyQAttAmLiUw3A97s+IoJkpzm9
 vnKaRGDHlka8jazkIYRWkfC2fg/jlIV7no7CBqn6m/y/6M+wDT0RqrN/gylDUbSy
 ArfXdHG0A5gSlN/nwAS+ZhHezD00bYp7SZeaesaco6YwzjaCd7p+wLoAmP8e8JsC
 lq8zLQK15EwolvV9Tg8jf9lXBx49XdaecHRZyH0W/UYo3LZ95R4=
 =ohor
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE07/ZeejT3UvtphvEnmkXtcRnUm4FAlxZvTUACgkQnmkXtcRn
 Um7Oig/9GngaHSfgwJf+oUeFZGuMan7QPar5SX7lbygWXKiSX8M1wzJtSjl0kI/P
 EewGiWZMKUn/aK4hihIz/03xVkU0PHlYe+qn00zY4iN4A+fKKRugyDPgQ8OaCI9e
 m87vkVGP7eja4bJ1LtaxgZ6vgshBOdOKv6S2Ask2nHyi6unzo2JjS7LUkakyCIV8
 R5SZpGDEQzv6eRGzmTO6f/WrLehausg6VxTEqBHcvySUW2P5P4UiJWl9md3inyW8
 0VEANW6/LEXHNIpjL8BxPv2BTotBL/jU/4978rqg7tBSs4vrcXytMiS9/9rhYm0o
 fygnWKh8tADbu9vPIEZZrH7f+EBPEDqQDK3K8HW9SCBoG868ryuqwuYX/1iI+iiM
 wQKtd6tE66O3+XVJNcFOc7/TJNdHtdU2i4bYpLxQy0dE2N2Eor1thrW4wo7TldET
 kN2lN8ZarZFwGVNGyFn8WqgihbZ4C/Xe8x6cO1IBoNGUjL8LRTDWW8w2d+gmFNUv
 dw91yDzEnyHWODvkVFlwsAZ4wLp/OrtT33KTDVUC7OQGGDDUL/eNRnsx3/6QuqbC
 U2EZVcELcxvBwLxhgyGoHUTAEI8gM3HVyeplHSriTToI0qZt0iXLyAWIcVgHlRKe
 2aID5WTTuaST/YyNDoLXcNM6Hj42XnDiDGotKBbiv7f6treTnlM=
 =D+uv
 -----END PGP SIGNATURE-----

Merge tag 'collections-4.3'

Create Commons collections 4.3 release tag
2019-02-05 23:43:30 +07:00
Maxim Solodovnik 5f0df4bf5d
Bump to next development version 2019-02-05 23:38:22 +07:00
Maxim Solodovnik 54fb18ac54
Download page and build properties are updated 2018-12-26 08:33:15 +07:00
Maxim Solodovnik 5f959fd8e7
Release candidate. 2018-12-18 21:53:01 +07:00
Gary Gregory b5585aaa60 Update EasyMock from 3.6 to 4.0 to fix testing on Java 11. 2018-10-28 09:03:46 -06:00
Gary Gregory 12ba7bd769 Update tests from Apache Commons Lang 3.7 to 3.8. 2018-08-21 08:53:25 -06:00
Gary Gregory 734f7f3dbd [COLLECTIONS-688] Update platform requirement from Java 7 to 8. 2018-07-15 12:25:22 -06:00
Gary Gregory 482762a13f [COLLECTIONS-688] Update platform requirement from Java 7 to 8. 2018-07-15 12:08:27 -06:00
Gary Gregory 8cb8ac8372 Bump to next development version 2018-07-11 15:23:00 -06:00
Gary Gregory 483cbbbf5a Remove trailing whitepace. 2018-07-07 18:18:18 -06:00
Gary Gregory 37a7c44093 Update version numbers for Apache Commons Collections release 4.2 2018-07-07 17:49:32 -06:00
Gary Gregory f5d8bfdcb5 Remove commons.distSvnStagingUrl since is now set this value in
commons-parent as of version 47.
2018-07-07 16:50:44 -06:00
Gary Gregory 35a1503978 JDK 9 profile: maven-javadoc-plugin 3.0.0 -> 3.0.1. 2018-07-07 15:49:01 -06:00
Gary Gregory 5b26a6d2e2 maven-pmd-plugin 3.9.0 -> 3.10.0. 2018-07-07 15:48:15 -06:00
Gary Gregory 71140f3db6 Pickup JaCoCo 0.8.1 from commons-parent. 2018-07-07 15:43:56 -06:00
Gary Gregory 0062fe65d1 Update commons-parent from 46 to 47. 2018-07-07 10:46:45 -06:00
Stephan Fuhrmann 8f9e66fbf0 Fix checkstyle config. Error was: [ERROR] Failed to execute
goal org.apache.maven.plugins:maven-checkstyle-plugin:3.0.0:checkstyle
 (default-cli) on project commons-collections4: An error has occurred in
 Checkstyle report generation.: Failed during checkstyle execution:
Failed
 during checkstyle configuration: unable to parse configuration stream:
 Property ${checkstyle.suppressions.file} has not been set -> [Help 1].
Closes #41.
2018-06-12 16:14:12 -06:00
Rob Tompkins 13ba1cc91e (chore) adding commons-release-plugin properties to pom 2018-05-16 16:39:01 -04:00
Gary Gregory a047296d3e Prepare for release while testing build and release plugins. 2018-05-14 17:51:28 -06:00
Gary Gregory 97842394dc Update tests from EasyMock 3.5.1 to 3.6. 2018-05-10 08:44:10 -06:00
Gary Gregory feeae12051 Update commons-parent from 43 to 46. 2018-05-10 08:40:01 -06:00
Gary Gregory dee97c3ff1 Update Maven PMD plugin from 3.8 to 3.9.0.
Update Maven Checkstyle plugin from 2.17 to 3.0.0.
2018-02-01 12:04:38 -07:00
Gary Gregory db136b93dd Update commons-parent from 42 to 43. 2018-01-07 13:36:31 -07:00
Gary Gregory 92c5e6f1e1 On Java 9: Update Javadoc plugin from 3.0.0-M1 to 3.0.0. Eventually
commons-parent will specify 3.0.0.
2017-12-27 17:07:11 -07:00
Gary Gregory 2288112664 Update tests from Easymock 3.5 to 3.5.1. 2017-12-27 16:15:04 -07:00
Gary Gregory 9639ccb2fc Update tests from Apache Commons Lang 3.6 to 3.7. 2017-12-27 16:11:46 -07:00
ggregory 641aa1c663 Brute force test all available locales (it's fast.) for MapUtils which
previously failed on locales that do not use '.' as the decimal
separator. No main code changes.
2017-10-13 19:01:37 -06:00
Pascal Schumacher 87417154f2 travis: add java 9 to build (closes #27)
pom.xml: add java 9 profile to make build pass
2017-10-12 10:04:05 +02:00
Kavuri, Vamsi b15deac11a override jacoco version for java9 compatibility (closes #30) 2017-10-12 09:54:55 +02:00
pascalschumacher 6f35633878 travis: remove travis profile from pom and use travis-jacoco profile commons-parent 2017-10-02 11:24:41 +02:00
Gary Gregory 10ad95330b Update Maven Checkstyle plugin from 2.9.1 to 2.17. 2017-09-20 11:58:20 -06:00
Gary Gregory 2064caf1e1 maven-antrun-plugin 1.7 -> 1.8. 2017-09-20 11:54:00 -06:00
Gary Gregory 6e096e9fca coveralls-maven-plugin 3.1.0 -> 4.3.0. 2017-09-20 11:02:35 -06:00