hi,  i'm refactoring a part of my standard
wicket/guice/warp-persist/hibernate app with DDD (domain-driven
design) principles.

i use @Inject in my Pages, and this works fine, wicket-ioc proxied
injections are (only) available for Components. this is fine when i
inject for instance a Repository (~DAO). but what i now want is to be
able to use those Repositories from my domain entities. when using
@Inject in one of them, obviously no injection happens -- the field
remains null.

after reading some threads i thought i could mimic @SpringBean's
behaviour outside Components, following suggested solutions such as:
 - http://cwiki.apache.org/WICKET/springbean-outside-wicket.html
 - InjectorHolder.getInjector().inject(this);

with no success. i believe they're meant to work only with spring.

someone in the mailing list proposed doing this in the constructor of
a domain entity:
 ((GuiceInjectorHolder) ((MyWebApplication)
MyWebApplication.get()).getMetaData(GuiceInjectorHolder.INJECTOR_KEY)).getInjector().injectMembers(this);

but i get a "org.apache.wicket.WicketRuntimeException: There is no
application attached to current thread main".

am i missing something or there's no simple way to use injection in
entities other than passing the reference of the Repository proxy from
a wicket Component? it's ugly/unfeasible to pass in maybe 1 or 2 repos
to the entity's constructor.
what do you think? any other slightly better workaround? any other DDD
followers out there?  i can help writing some patch if needed / please
point me in the right direction.

thanks in advance,
 francisco

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to