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:41:00 UTC

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

    [ https://issues.apache.org/jira/browse/CAY-2351?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16130100#comment-16130100 ] 

Nikita Timofeev commented on CAY-2351:
--------------------------------------

Issue CAY-2345 is now closed and it will remove transitive dependency on commons-collections

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