[ https://issues.apache.org/jira/browse/CAY-2351?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16130179#comment-16130179 ]
ASF GitHub Bot commented on CAY-2351: ------------------------------------- GitHub user stariy95 opened a pull request: https://github.com/apache/cayenne/pull/239 CAY-2351 remove commons collections This is a big final part of removing external dependencies in Cayenne. PR is removing all usages of **commons-collections** and **commons-lang**, see [CAY-2351](https://issues.apache.org/jira/browse/CAY-2351) for details. **Important changes**: - **Java 8** is made minimal supported version (see this [user@](https://lists.apache.org/thread.html/e7cedd8daa07986a9ecde4e252e4b82fffef269bbac428629bc4341c@%3Cuser.cayenne.apache.org%3E) and [dev@](https://lists.apache.org/thread.html/35fd12dafc30eac3b3390c5ae0ba7bda00185e085af669e4dc5c6fac@%3Cdev.cayenne.apache.org%3E) threads) - new utility collections are implemented: `WeakValueMap` and `SoftValueMap` they are just a wrapper around `HashMap` that store values in `Weak-` and `SoftReference`. You can merge this pull request into a Git repository by running: $ git pull https://github.com/stariy95/cayenne CAY-2351-remove-commons-collections Alternatively you can review and apply these changes as the patch at: https://github.com/apache/cayenne/pull/239.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #239 ---- commit fddb229d616d9cc29ea46da2a4b1994c73528755 Author: Nikita Timofeev <stari...@gmail.com> Date: 2017-08-03T15:33:53Z CAY-2351 Remove commons-collections usage completely enable java 8 by default replace commons-collections with plain java commit 10e070695d6ecd60976e3812630df8dd38b219cd Author: Nikita Timofeev <stari...@gmail.com> Date: 2017-08-04T09:16:16Z CAY-2351 Remove commons-collections usage completely replace commons-collections with plain java commit e70c5a51174e63e4a36f83fb6aa877c3f85e0729 Author: Nikita Timofeev <stari...@gmail.com> Date: 2017-08-04T14:58:18Z CAY-2351 Remove commons-collections usage completely own ReferenceMap implementation copy of CompositeCollection commit 4e623e32eed2142ac332a7aca449896e1f3c13f3 Author: Nikita Timofeev <stari...@gmail.com> Date: 2017-08-10T11:35:39Z Remove java7 support from travis commit bc7399a313b4fa55f3f083106cbe2012c9397e97 Author: Nikita Timofeev <stari...@gmail.com> Date: 2017-08-10T15:27:21Z CAY-2351 Remove commons-collections usage completely Own ReferenceMap implementation commit 7f7aca813d3eba5eedb9c75567d7f42320a1529b Author: Nikita Timofeev <stari...@gmail.com> Date: 2017-08-14T14:41:41Z CAY-2351 Remove dependency on commons-collection performance optimizations of Weak- and SoftValueMap commit 3c215ef168b93d2185e3fae61e820ab20ec28b1f Author: Nikita Timofeev <stari...@gmail.com> Date: 2017-08-17T09:44:46Z CAY-2351 Remove dependency on commons-collection release notes final cleanup ---- > Remove commons-collections usage completely > ------------------------------------------- > > Key: CAY-2351 > URL: https://issues.apache.org/jira/browse/CAY-2351 > Project: Cayenne > Issue Type: Improvement > Components: Core Library > Affects Versions: 4.1.M1 > Reporter: Nikita Timofeev > Assignee: Nikita Timofeev > Fix For: 4.1.M1 > > > This task is final part of effort of removing all external dependencies from > *cayenne-server*. > *Why to do so*: > * keeping cayenne free of outer dependencies will allow easier integration of > Cayenne in projects, reducing issues in case of dependencies incompatibilities > * most of commons-collections code used by Cayenne can be replaced by plain > java (this will require Java 8) so it will be easier to maintain > * commons-collections v3.2.1 used now have security vulnerabilities (see this > [issue|https://issues.apache.org/jira/browse/COLLECTIONS-580]) > *Negative impact* > Cayenne use some tricky collections from that lib now and will require to > deal with their replacement > Those collections are: > - {{LRUMap}} this will be seamlessly replaced by already used > {{ConcurrentLinkedHashMap}} > - {{CompositeCollection}} this will be copied into Cayenne code base as it > has almost no dependencies and relatively small > - {{ReferenceMap}} this should be implemented by Cayenne as copying this will > lead to copying significant part of commons-collections code base, luckily > Cayenne actually use only two variants of this map: strong keys + weak values > and strong keys + soft values. -- This message was sent by Atlassian JIRA (v6.4.14#64029)