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

ASF subversion and git services commented on ACCUMULO-2832:
-----------------------------------------------------------

Commit 59591273317147600a4299e215114fcf1fc1c341 in accumulo's branch 
refs/heads/1.5.2-SNAPSHOT from [~meislerj]
[ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=5959127 ]

ACCUMULO-2832 fixed object creation in Defaultformatter. Uses single Text 
object.

Signed-off-by: Josh Elser <[email protected]>


> Improve DefaultFormatter for reuse and object creation
> ------------------------------------------------------
>
>                 Key: ACCUMULO-2832
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-2832
>             Project: Accumulo
>          Issue Type: Improvement
>          Components: shell
>    Affects Versions: 1.5.1, 1.6.0
>            Reporter: Josh Elser
>            Assignee: Jacob Meisler
>            Priority: Trivial
>              Labels: newbie, summit2014
>             Fix For: 1.5.2
>
>         Attachments: ACCUMULO-2832.patch
>
>
> The DefaultFormatter is the class that is used to convert an 
> {{Entry<Key,Value>}} to the line of text displayed in the shell. Most 
> notably, it encodes non-printable ASCII data as hex.
> For users who want to implement their own Formatter, they do not have access 
> to the same formatting methods that the DefaultFormatter uses because of the 
> visibility modifiers on the methods. These methods should be available for 
> use by other classes. Letting classes extend the DefaultFormatter would be 
> even better.
> Additionally, in the DefaultFormatter, in the method {{public static String 
> formatEntry(Entry<Key,Value>, DateFormat)}}, a StringBuilder is used to 
> reduce the number of intermediate String objects that are created for each 
> concatenation; however, the methods to get each component of the Key will 
> create a new {{Text}} object each time.
> Method invocations like
> {code}
> key.getRow()
> {code}
> Should be replaced with:
> {code}
> Text buffer = new Text();
> key.getRow(buffer);
> {code}
> Where a single {{Text}} object is reused for the entire method.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to