[
https://issues.apache.org/jira/browse/ACCUMULO-2832?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14030182#comment-14030182
]
ASF subversion and git services commented on ACCUMULO-2832:
-----------------------------------------------------------
Commit 59591273317147600a4299e215114fcf1fc1c341 in accumulo's branch
refs/heads/1.6.1-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)