Hi,

Am Dienstag, den 15.03.2011, 09:16 +0000 schrieb chetan mehrotra: 
> One reason for using Inject would be that @Reference is a compile time
> annotation (i.e. RetentionPolicy.SOURCE). And due do that a new
> annotation TestReference is being used in Sling Testing component [1].
> 
> And as Inject is part of JSR 300 we can possibly have reference to
> such a class in the code.

Good catch ...

Do we want to support more of JSR 300 ?


Regards
Felix

> 
> Chetan Mehrotra
> 
> [1] 
> http://svn.apache.org/viewvc/sling/trunk/testing/junit/core/src/main/java/org/apache/sling/junit/annotations/TestReference.java?view=markup
> 
> On Tue, Mar 15, 2011 at 1:45 PM, Markus Joschko
> <[email protected]> wrote:
> >
> > I like the idea.
> > I just wonder if it might be a bit inconsistent to use @Inject when
> > most of the other code in a sling project (OSGI components) uses
> > @Reference.
> > As a developer I would appreciate consistency in how dependency
> > injection is done.
> >
> > Regards,
> >  Markus
> >
> > On Tue, Mar 15, 2011 at 2:51 AM, Justin Edelson
> > <[email protected]> wrote:
> > > I was looking at how much code is involved in referencing an OSGi
> > > service from a script built using the scripting.java bundle and think
> > > it's a bit verbose:
> > >
> > > SlingBindings bindings = (SlingBindings)
> > > request.getAttribute(SlingBindings.class.getName());
> > > SlingScriptHelper sling = bindings.getSling();
> > > Interface service = sling.getService(Interface.class);
> > >
> > > I was thinking about adding some kind of annotation-based injection
> > > support so that you could replace these lines with just:
> > >
> > >
> > > @Inject
> > > private Interface service;
> > >
> > > public void service(request, response) {
> > >  // some code using service
> > >
> > > }
> > >
> > > @Inject seems like the obvious candidate to support for this. WDYT?
> > >
> > > Justin
> > >


Reply via email to