[
https://issues.apache.org/jira/browse/GROOVY-9631?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Daniel Sun updated GROOVY-9631:
-------------------------------
Description:
*BACKGROUND*
Groovy home-made data structures are lack of maintainence for a long time, so
it's better to replace them with mature and continuous improving data structure
from JDK
*DONE*
Some internal legacy data structure are replaced with Java collection:
# Deprecate redundant {{AbstractConcurrentMapBase}},
{{AbstractConcurrentMap}}, {{ManagedConcurrentMap}}, and their related inner
classes, e.g. {{Entry}}
# Replace {{ManagedConcurrentMap}} with {{ManagedIdentityConcurrentMap}},
which is base on {{ConcurrentHashMap}}
See [https://github.com/apache/groovy/pull/1306]
*TODO*
# Deprecate {{ComplexKeyHashMap}}, {{SingleKeyHashMap}} and
{{TripleKeyHashMap}}. Note: {{TripleKeyHashMap}} is only used by never called
method
# Polish {{Index}} and {{MethodIndex}} in the class {{MetaClassImpl}}, they
derive from {{TripleKeyHashMap}}
# Polish {{MetaMethodIndex}}, which is actually trying to implement hash map
but it could rely on Java collection too
was:
Some internal legacy data structure are replaced with Java collection for
better maintainence:
# Deprecate redundant {{AbstractConcurrentMapBase}},
{{AbstractConcurrentMap}}, {{ManagedConcurrentMap}}, and their related inner
classes, e.g. {{Entry}}
# Replace {{ManagedConcurrentMap}} with {{ManagedIdentityConcurrentMap}},
which is base on {{ConcurrentHashMap}}
See [https://github.com/apache/groovy/pull/1306]
*TODO:*
# Deprecate {{ComplexKeyHashMap}}, {{SingleKeyHashMap}} and
{{TripleKeyHashMap}}. Note: {{TripleKeyHashMap}} is only used by never called
method
# Polish {{Index}} and {{MethodIndex}} in the class {{MetaClassImpl}}, they
derive from {{TripleKeyHashMap}}
# Polish {{MetaMethodIndex}}, which is actually trying to implement hash map
but it could rely on Java collection too
> Replace legacy data structure with Java collection
> --------------------------------------------------
>
> Key: GROOVY-9631
> URL: https://issues.apache.org/jira/browse/GROOVY-9631
> Project: Groovy
> Issue Type: Improvement
> Reporter: Daniel Sun
> Assignee: Daniel Sun
> Priority: Major
> Fix For: 4.0.0-alpha-1
>
> Time Spent: 50m
> Remaining Estimate: 0h
>
> *BACKGROUND*
> Groovy home-made data structures are lack of maintainence for a long time,
> so it's better to replace them with mature and continuous improving data
> structure from JDK
> *DONE*
> Some internal legacy data structure are replaced with Java collection:
> # Deprecate redundant {{AbstractConcurrentMapBase}},
> {{AbstractConcurrentMap}}, {{ManagedConcurrentMap}}, and their related inner
> classes, e.g. {{Entry}}
> # Replace {{ManagedConcurrentMap}} with {{ManagedIdentityConcurrentMap}},
> which is base on {{ConcurrentHashMap}}
> See [https://github.com/apache/groovy/pull/1306]
> *TODO*
> # Deprecate {{ComplexKeyHashMap}}, {{SingleKeyHashMap}} and
> {{TripleKeyHashMap}}. Note: {{TripleKeyHashMap}} is only used by never called
> method
> # Polish {{Index}} and {{MethodIndex}} in the class {{MetaClassImpl}}, they
> derive from {{TripleKeyHashMap}}
> # Polish {{MetaMethodIndex}}, which is actually trying to implement hash map
> but it could rely on Java collection too
--
This message was sent by Atlassian Jira
(v8.3.4#803005)