You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by "Nikita Timofeev (JIRA)" <ji...@apache.org> on 2017/08/17 08:38:00 UTC

[jira] [Created] (CAY-2351) Remove commons-collections usage completely

Nikita Timofeev created CAY-2351:
------------------------------------

             Summary: 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)