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

Ahmed Hussein commented on HADOOP-17152:
----------------------------------------

As far as I remember, there were some calls to newArrayList that are not 
supported in ArrayList. Without a wrapper, you would have to replicate the code 
every time the newArrayList is not supported.

for instance,
{code:java}
 public static <E> ArrayList<E> newArrayList(Iterable<? extends E> elements)
public static <E> ArrayList<E> newArrayList(Iterator<? extends E> elements)
{code}

to replace newArrayList, there should be some code to iterate over the 
Iterable, adding the elements to the newly created list. I assume you do not 
want to do copy paste that code everywhere. Then, if you find a bug, you will 
have to go fix that everywhere.

> Implement wrapper for guava newArrayList and newLinkedList
> ----------------------------------------------------------
>
>                 Key: HADOOP-17152
>                 URL: https://issues.apache.org/jira/browse/HADOOP-17152
>             Project: Hadoop Common
>          Issue Type: Sub-task
>          Components: common
>            Reporter: Ahmed Hussein
>            Assignee: Viraj Jasani
>            Priority: Major
>
> guava Lists class provide some wrappers to java ArrayList and LinkedList.
> Replacing the method calls throughout the code can be invasive because guava 
> offers some APIs that do not exist in java util. This Jira is the task of 
> implementing those missing APIs in hadoop common in a step toward getting rid 
> of guava.
>  * create a wrapper class org.apache.hadoop.util.unguava.ListsĀ 
>  * implement the following interfaces in Lists:
>  ** public static <E> ArrayList<E> newArrayList()
>  ** public static <E> ArrayList<E> newArrayList(E... elements)
>  ** public static <E> ArrayList<E> newArrayList(Iterable<? extends E> 
> elements)
>  ** public static <E> ArrayList<E> newArrayList(Iterator<? extends E> 
> elements)
>  ** public static <E> ArrayList<E> newArrayListWithCapacity(int 
> initialArraySize)
>  ** public static <E> LinkedList<E> newLinkedList()
>  ** public static <E> LinkedList<E> newLinkedList(Iterable<? extends E> 
> elements)
>  ** public static <E> List<E> asList(@Nullable E first, E[] rest)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org

Reply via email to