[ https://issues.apache.org/jira/browse/IMPALA-7867?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16739786#comment-16739786 ]
ASF subversion and git services commented on IMPALA-7867: --------------------------------------------------------- Commit 049e1056f8d772c55274a54ff99e2cf44b82fa56 in impala's branch refs/heads/master from paul-rogers [ https://git-wip-us.apache.org/repos/asf?p=impala.git;h=049e105 ] IMPALA-7867 (Part 4): Collection cleanup in catalog Continues the collection clean work to: * Use collection interfaces for variable and function argument declarations, * Replace generic Guava newArrayList(), etc. calls with the direct use of the Java collection classes, * Clean up unused imports and add override annotations. This patch focuses on the catalog module and its tests. Tests: this is purely a code change, no functional change. Reran existing tests. Change-Id: Ic83425201c90966aae4c280d94cf1b427b3d71d1 Reviewed-on: http://gerrit.cloudera.org:8080/12131 Reviewed-by: Impala Public Jenkins <impala-public-jenk...@cloudera.com> Tested-by: Impala Public Jenkins <impala-public-jenk...@cloudera.com> > Expose collection interfaces, not implementations > ------------------------------------------------- > > Key: IMPALA-7867 > URL: https://issues.apache.org/jira/browse/IMPALA-7867 > Project: IMPALA > Issue Type: Improvement > Components: Frontend > Affects Versions: Impala 3.0 > Reporter: Paul Rogers > Assignee: Paul Rogers > Priority: Minor > > When using Java collections, a common Java best practice is to expose the > collection interface, but hide the implementation choice. This pattern allows > us to start with a generic implementation (an {{ArrayList}}, say), but evolve > to a more specific implementation to achieve certain goals (a {{LinkedList}} > or {{ImmutableList}}, say.) > For whatever reason, the Impala FE code exposes {{ArrayList}}, {{HashMap}} > and other implementation choices as variable types and in method signatures. > This ticket tracks a gradual process of revising the declarations and > signatures to use the interfaces {{List}} instead of the implementation > {{ArrayList}}. > Also, the FE code appears to predate Java 7, so that declarations of lists > tend to be in one of two forms (with or without Guava): > {code:java} > foo1 = new ArrayList<Bar>(); > foo2 = Lists.newArrayList(); > {code} > Since Java 7, the preferred form is: > {code:java} > foo = new ArrayList<>(); > {code} -- This message was sent by Atlassian JIRA (v7.6.3#76005) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-all-unsubscr...@impala.apache.org For additional commands, e-mail: issues-all-h...@impala.apache.org