[
https://issues.apache.org/jira/browse/ACCUMULO-2497?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13941959#comment-13941959
]
Bill Havanki commented on ACCUMULO-2497:
----------------------------------------
I am, in fact, working on unit tests for {{MetadataTableUtil}} under
ACCUMULO-2470, and {{InstanceFactory}} popped out of that work. (My gist
example is a simplified form of where I am now.) The trial by fire of using it
for testing is definitely better than just taking a shot in the dark.
I had thought of combining my unit test and {{InstanceFactory}} under one
ticket, but figured it would be easier to digest on its own. I'm fine with
pushing them together, once it seems good to go. I should note that I believe
I'll need a {{WriterFactory}} as well. :)
I'd like to, over time, just gradually introduce use of factories, or similar
refactorings, where it makes sense for testing (or otherwise). It'd be way too
big and risky of a job to convert everything, say, to {{InstanceFactory}} at
once.
> InstanceFactory
> ---------------
>
> Key: ACCUMULO-2497
> URL: https://issues.apache.org/jira/browse/ACCUMULO-2497
> Project: Accumulo
> Issue Type: Improvement
> Components: client
> Reporter: Bill Havanki
> Assignee: Bill Havanki
> Priority: Minor
> Labels: factory, static, testability
> Fix For: 1.6.1, 1.7.0
>
>
> Working on ACCUMULO-2470 (unit tests for server/base) is made difficult by
> the heavy dependence on static method calls in our architecture. This ticket
> is for introducing an {{InstanceFactory}} interface that will greatly ease
> testing of code that currently retrieves instances via static methods (e.g.,
> {{HdfsZooInstance.getInstance()}}).
> Limitations:
> * Work here should be limited to creating {{InstanceFactory}} and its
> implementations, and not integrating it into existing code (yet).
> * Work is limited to 1.6 and later. To avoid perturbing the 1.6.0 release no
> new code may be introduced into the public API ({{Instance}} is in the public
> API).
> * A refactoring of the client API is being considered (see ACCUMULO-2128), so
> this change should not further complicate - and should hopefully help - that
> future effort.
--
This message was sent by Atlassian JIRA
(v6.2#6252)