On 4 Dec 2008, at 00:29, Henning P. Schmiedehausen wrote:
Adam Winer <[EMAIL PROTECTED]> writes:
On Wed, Dec 3, 2008 at 2:12 PM, Kevin Brown <[EMAIL PROTECTED]> wrote:
SocialApiGuiceModule is never usable for production, and it can't
be for the
simple fact that there's no way to reason about the data store of
a given
container.
There's no reason we can't provide a Module that implements the parts
that have sane default bindings. And putting the sample container
dependencies in a module in o.a.s.social.core.config is way wrong.
Ditto the abuse of @ImplementedBy to tie PersonService, etc. to the
JsonDbOpensocialService. All that should be in a separate
SampleContainerModule to make it crystal clear to developers the
interfaces they absolutely have to bind for a real, production
container.
+1.
This was all very confusing when I recently started working on
Shindig, especially as I had never used Guice before.
I agree that something like a SampleContainerModule would help clarify
what is going on and what you need to do to integrate Shindig with
your production environment. I am all for convention over
configuration but @Implemented By doesn't provide this, so it just
ends up being confusing wizardry.
Additionally, up-to-date and easy-to-find documentation on what you
should inject, how and why would really help. I'd be happy to work on
this..
Cheers,
Ben Smith
BBC