You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@openwebbeans.apache.org by "John D. Ament" <jo...@gmail.com> on 2013/12/27 15:11:42 UTC

Fwd: Support of Instance<> in OWB

Hi all,

I'm cross-posting this from dev@deltaspike to see if anyone has any
additional thoughts.


---------- Forwarded message ----------
From: John D. Ament <jo...@gmail.com>
Date: Thu, Dec 26, 2013 at 10:36 PM
Subject: Support of Instance<> in OWB
To: dev@deltaspike.apache.org


Hi all

I added a new test, FileResourceTest.  It fails in OWB, but passes in
Weld.  AFAIK it's supposed to pass in both.

The one catch I noticed, since it has a similar test
ClasspathResourceTest, is that I'm using Instances/literals vs
annotations.  I need to use Instance since the actual file name is
dynamic at runtime.  In the test right now, I have this:

    @Inject
    @Any
    private Instance<InputStream> inputStreamInst;

    @Inject
    @Any
    private Instance<Properties> propsInst;

and when I switch to this:

    @Inject
    @ExternalResource(storage =
FileSystemStorage.class,location="/tmp/myconfig.properties")
    private InputStream inputStream;

    @Inject
    @ExternalResource(storage =
FileSystemStorage.class,location="/tmp/myconfig.properties")
    private Properties props;

The test works fine (assuming I create the file).  I don't typically
play with OWB that much, but this should be the right format for
Instances, right?  Feedback is much appreciated.

Thanks,

John

Re: Fwd: Support of Instance<> in OWB

Posted by Jozef Hartinger <jh...@redhat.com>.
Please create a new Weld issue for this.

On 12/29/2013 12:18 PM, Mark Struberg wrote:
> Weld-folks, is there already a report on this in Weld, or should I create one?


Re: Fwd: Support of Instance<> in OWB

Posted by "John D. Ament" <jo...@gmail.com>.
Mark,

I'll update all of them, in a new ticket (since it looks like whatever
added cdicontainer.version never updated it globally).  Also as Romain
pointed out, we're missing a few arq dependencies that do this work.
I'll take care of both of these.

John

On Sun, Dec 29, 2013 at 1:57 PM, Gerhard Petracek
<ge...@gmail.com> wrote:
> @john: please update all arquillian.xml files (not just one).
>
> thx & regards,
> gerhard
>
>
>
> 2013/12/29 John D. Ament <jo...@gmail.com>
>
>> Should be fixed now (and fixed the AS7 issue).
>>
>> On Sun, Dec 29, 2013 at 11:33 AM, Gerhard Petracek
>> <ge...@gmail.com> wrote:
>> > that means we can't keep it that way (due to this issue).
>> >
>> > regards,
>> > gerhard
>> >
>> >
>> >
>> > 2013/12/29 John D. Ament <jo...@gmail.com>
>> >
>> >> The NPE in TomEE appears to be a TomEE bug, not injecting test method
>> >> arguments.
>> >>
>> >> On Sun, Dec 29, 2013 at 10:23 AM, Gerhard Petracek
>> >> <ge...@gmail.com> wrote:
>> >> > @john:
>> >> > your change also causes a NullPointerException in
>> >> > ClasspathWebProfileTest#testSuccessfulAmbiguousLookup
>> >> > (with tomee)
>> >> >
>> >> > regards,
>> >> > gerhard
>> >> >
>> >> >
>> >> >
>> >> > 2013/12/29 Gerhard Petracek <ge...@gmail.com>
>> >> >
>> >> >> @john:
>> >> >>
>> >> >> you changed it to:
>> >> >>
>> >> >> @Test
>> >> >> public void
>> >> >>
>> >>
>> testAmbiguousFileLookup(@ExternalResource(storage=ClasspathStorage.class,
>> >> >> location="META-INF/beans.xml") InputStream inputStream) {/*...*/}
>> >> >>
>> >> >> -> the exception still occurs, but junit can't handle it any longer
>> >> >> (because it occurs too early).
>> >> >>
>> >> >> regards,
>> >> >> gerhard
>> >> >>
>> >> >>
>> >> >>
>> >> >> 2013/12/29 John D. Ament <jo...@gmail.com>
>> >> >>
>> >> >> That's no big deal (& fixed).  I had to add a separate SE &
>> WebProfile
>> >> >>> test since now we're checking for duplicates and the embedded/SE
>> >> >>> containers are picking up the target folders are bean archives (I
>> hope
>> >> >>> TomEE embedded doesn't do this... >_< ).  Using method injection
>> >> >>> delays the injection, however we have a catch that /tmp must be your
>> >> >>> tmpdir (I haven't checked on windows yet, but I'm assuming c:/tmp
>> >> >>> should be fine..)
>> >> >>>
>> >> >>> @gerhard for some reason now your test doesn't throw a
>> >> >>> RuntimeException, but instead the injected instance is null.
>> >> >>>
>> >> >>> On Sun, Dec 29, 2013 at 6:18 AM, Mark Struberg <st...@yahoo.de>
>> >> wrote:
>> >> >>> >
>> >> >>> >
>> >> >>> > Well, the explanation is not in the spec but in the JavaDoc.
>> >> >>> >
>> >> >>> > Compare
>> >> >>> >
>> >> >>>
>> >>
>> http://docs.jboss.org/cdi/api/1.0/javax/enterprise/inject/spi/InjectionPoint.html
>> >> >>> >
>> >> >>> > with the new wording in CDI-1.1
>> >> >>> >
>> >> >>> >
>> >> >>>
>> >>
>> http://docs.oracle.com/javaee/7/api/javax/enterprise/inject/spi/InjectionPoint.html
>> >> >>> >
>> >> >>> > I refer to the new sentence
>> >> >>> >
>> >> >>> > "If the injection point is a dynamically selected reference
>> obtained
>> >> >>> then the metadata obtain reflects the injection point of the
>> Instance,
>> >> with
>> >> >>> the required type and any additional required qualifers defined by
>> >> >>> Instance.select()."
>> >> >>> >
>> >> >>> >
>> >> >>> > This theoretically should work in CDI-1.1 containers. Sadly there
>> is
>> >> no
>> >> >>> single implementation which implements this right now.
>> >> >>> > Weld does provide a synthetic InjectionPoint though, but it only
>> >> >>> contains the qualifiers and type of the select but misses all the
>> >> >>> information from the Instance<> injection.
>> >> >>> >
>> >> >>> >
>> >> >>> > As this is only needed for the test it might be a minor problem
>> for
>> >> us.
>> >> >>> Still thinking how we could improve this DeltaSpike test to not
>> rely on
>> >> >>> this method.
>> >> >>> >
>> >> >>> >
>> >> >>> > Weld-folks, is there already a report on this in Weld, or should I
>> >> >>> create one?
>> >> >>> > I think the wording is clear, do we need to improve it in the CDI
>> MR?
>> >> >>> >
>> >> >>> >
>> >> >>> > LieGrue,
>> >> >>> > strub
>> >> >>> >
>> >> >>> >
>> >> >>> > ----- Original Message -----
>> >> >>> >> From: John D. Ament <jo...@gmail.com>
>> >> >>> >> To: user@openwebbeans.apache.org; Mark Struberg <
>> struberg@yahoo.de>
>> >> >>> >> Cc:
>> >> >>> >> Sent: Saturday, 28 December 2013, 15:43
>> >> >>> >> Subject: Re: Fwd: Support of Instance<> in OWB
>> >> >>> >>
>> >> >>> >> Mark,
>> >> >>> >>
>> >> >>> >> Thanks for confirming.  I don't particularly see anything in 3.2
>> >> that
>> >> >>> >> clarifies this, but I'll take your word on it.
>> >> >>> >>
>> >> >>> >>
>> >> >>> >> On Fri, Dec 27, 2013 at 2:25 PM, Mark Struberg <
>> struberg@yahoo.de>
>> >> >>> wrote:
>> >> >>> >>>  Looked at it and did a few tests. And also checked what we
>> have in
>> >> >>> the
>> >> >>> >> spec.
>> >> >>> >>>
>> >> >>> >>>  For CDI-1.0 containers a producer bean with an InjectionPoint
>> >> should
>> >> >>> not be
>> >> >>> >> triggered manually. This is not required in CDI-1.0 (which
>> OWB-1.2.x
>> >> >>> still is)
>> >> >>> >> but only got changed in CDI-1.1.
>> >> >>> >>>
>> >> >>> >>>  Please compare the JavaDocs of InjectionPoint for CDI-1.0 and
>> 1.1
>> >> to
>> >> >>> see
>> >> >>> >> the difference.
>> >> >>> >>>
>> >> >>> >>>  I will nonetheless add it to OWB trunk as it is really useful
>> >> >>> feature.
>> >> >>> >>>
>> >> >>> >>>  thanks for the report!
>> >> >>> >>>  I've created OWB-921 for it.
>> >> >>> >>>
>> >> >>> >>>  LieGrue,
>> >> >>> >>>  strub
>> >> >>> >>>
>> >> >>> >>>
>> >> >>> >>>
>> >> >>> >>>
>> >> >>> >>>
>> >> >>> >>>  ----- Original Message -----
>> >> >>> >>>>  From: Mark Struberg <st...@yahoo.de>
>> >> >>> >>>>  To: "user@openwebbeans.apache.org"
>> >> >>> >> <us...@openwebbeans.apache.org>
>> >> >>> >>>>  Cc:
>> >> >>> >>>>  Sent: Friday, 27 December 2013, 17:45
>> >> >>> >>>>  Subject: Re: Fwd: Support of Instance<> in OWB
>> >> >>> >>>>
>> >> >>> >>>>
>> >> >>> >>>>
>> >> >>> >>>>  Thanks John, we will investigate!
>> >> >>> >>>>
>> >> >>> >>>>  LieGrue,
>> >> >>> >>>>  strub
>> >> >>> >>>>
>> >> >>> >>>>
>> >> >>> >>>>
>> >> >>> >>>>
>> >> >>> >>>>>  ________________________________
>> >> >>> >>>>
>> >> >>> >>>>>   From: John D. Ament <jo...@gmail.com>
>> >> >>> >>>>>  To: user@openwebbeans.apache.org
>> >> >>> >>>>>  Sent: Friday, 27 December 2013, 15:11
>> >> >>> >>>>>  Subject: Fwd: Support of Instance<> in OWB
>> >> >>> >>>>>
>> >> >>> >>>>>
>> >> >>> >>>>>  Hi all,
>> >> >>> >>>>>
>> >> >>> >>>>>  I'm cross-posting this from dev@deltaspike to see if anyone
>> has
>> >> >>> >> any
>> >> >>> >>>>>  additional thoughts.
>> >> >>> >>>>>
>> >> >>> >>>>>
>> >> >>> >>>>>
>> >> >>> >>>>>  ---------- Forwarded message ----------
>> >> >>> >>>>>  From: John D. Ament <jo...@gmail.com>
>> >> >>> >>>>>  Date: Thu, Dec 26, 2013 at 10:36 PM
>> >> >>> >>>>>  Subject: Support of Instance<> in OWB
>> >> >>> >>>>>  To: dev@deltaspike.apache.org
>> >> >>> >>>>>
>> >> >>> >>>>>
>> >> >>> >>>>>  Hi all
>> >> >>> >>>>>
>> >> >>> >>>>>  I added a new test, FileResourceTest.  It fails in OWB, but
>> >> passes
>> >> >>> >> in
>> >> >>> >>>>>  Weld.  AFAIK it's supposed to pass in both.
>> >> >>> >>>>>
>> >> >>> >>>>>  The one catch I noticed, since it has a similar test
>> >> >>> >>>>>  ClasspathResourceTest, is that I'm using Instances/literals
>> vs
>> >> >>> >>>>>  annotations.  I need to use Instance since the actual file
>> name
>> >> is
>> >> >>> >>>>>  dynamic at runtime.  In the test right now, I have this:
>> >> >>> >>>>>
>> >> >>> >>>>>      @Inject
>> >> >>> >>>>>      @Any
>> >> >>> >>>>>      private Instance<InputStream> inputStreamInst;
>> >> >>> >>>>>
>> >> >>> >>>>>      @Inject
>> >> >>> >>>>>      @Any
>> >> >>> >>>>>      private Instance<Properties> propsInst;
>> >> >>> >>>>>
>> >> >>> >>>>>  and when I switch to this:
>> >> >>> >>>>>
>> >> >>> >>>>>      @Inject
>> >> >>> >>>>>      @ExternalResource(storage =
>> >> >>> >>>>>
>> >> >>> >> FileSystemStorage.class,location="/tmp/myconfig.properties")
>> >> >>> >>>>>      private InputStream inputStream;
>> >> >>> >>>>>
>> >> >>> >>>>>      @Inject
>> >> >>> >>>>>      @ExternalResource(storage =
>> >> >>> >>>>>
>> >> >>> >> FileSystemStorage.class,location="/tmp/myconfig.properties")
>> >> >>> >>>>>      private Properties props;
>> >> >>> >>>>>
>> >> >>> >>>>>  The test works fine (assuming I create the file).  I don't
>> >> >>> >> typically
>> >> >>> >>>>>  play with OWB that much, but this should be the right format
>> for
>> >> >>> >>>>>  Instances, right?  Feedback is much appreciated.
>> >> >>> >>>>>
>> >> >>> >>>>>  Thanks,
>> >> >>> >>>>>
>> >> >>> >>>>>  John
>> >> >>> >>>>>
>> >> >>> >>>>>
>> >> >>> >>>>>
>> >> >>> >>>>
>> >> >>> >>
>> >> >>>
>> >> >>
>> >> >>
>> >>
>>

Re: Fwd: Support of Instance<> in OWB

Posted by Romain Manni-Bucau <rm...@gmail.com>.
@john: I guess the issue you got with tomee is linked to the
dependencies in DS more than to tomee itself (answered your jira)

Romain Manni-Bucau
Twitter: @rmannibucau
Blog: http://rmannibucau.wordpress.com/
LinkedIn: http://fr.linkedin.com/in/rmannibucau
Github: https://github.com/rmannibucau



2013/12/29 Gerhard Petracek <ge...@gmail.com>:
> @john: please update all arquillian.xml files (not just one).
>
> thx & regards,
> gerhard
>
>
>
> 2013/12/29 John D. Ament <jo...@gmail.com>
>
>> Should be fixed now (and fixed the AS7 issue).
>>
>> On Sun, Dec 29, 2013 at 11:33 AM, Gerhard Petracek
>> <ge...@gmail.com> wrote:
>> > that means we can't keep it that way (due to this issue).
>> >
>> > regards,
>> > gerhard
>> >
>> >
>> >
>> > 2013/12/29 John D. Ament <jo...@gmail.com>
>> >
>> >> The NPE in TomEE appears to be a TomEE bug, not injecting test method
>> >> arguments.
>> >>
>> >> On Sun, Dec 29, 2013 at 10:23 AM, Gerhard Petracek
>> >> <ge...@gmail.com> wrote:
>> >> > @john:
>> >> > your change also causes a NullPointerException in
>> >> > ClasspathWebProfileTest#testSuccessfulAmbiguousLookup
>> >> > (with tomee)
>> >> >
>> >> > regards,
>> >> > gerhard
>> >> >
>> >> >
>> >> >
>> >> > 2013/12/29 Gerhard Petracek <ge...@gmail.com>
>> >> >
>> >> >> @john:
>> >> >>
>> >> >> you changed it to:
>> >> >>
>> >> >> @Test
>> >> >> public void
>> >> >>
>> >>
>> testAmbiguousFileLookup(@ExternalResource(storage=ClasspathStorage.class,
>> >> >> location="META-INF/beans.xml") InputStream inputStream) {/*...*/}
>> >> >>
>> >> >> -> the exception still occurs, but junit can't handle it any longer
>> >> >> (because it occurs too early).
>> >> >>
>> >> >> regards,
>> >> >> gerhard
>> >> >>
>> >> >>
>> >> >>
>> >> >> 2013/12/29 John D. Ament <jo...@gmail.com>
>> >> >>
>> >> >> That's no big deal (& fixed).  I had to add a separate SE &
>> WebProfile
>> >> >>> test since now we're checking for duplicates and the embedded/SE
>> >> >>> containers are picking up the target folders are bean archives (I
>> hope
>> >> >>> TomEE embedded doesn't do this... >_< ).  Using method injection
>> >> >>> delays the injection, however we have a catch that /tmp must be your
>> >> >>> tmpdir (I haven't checked on windows yet, but I'm assuming c:/tmp
>> >> >>> should be fine..)
>> >> >>>
>> >> >>> @gerhard for some reason now your test doesn't throw a
>> >> >>> RuntimeException, but instead the injected instance is null.
>> >> >>>
>> >> >>> On Sun, Dec 29, 2013 at 6:18 AM, Mark Struberg <st...@yahoo.de>
>> >> wrote:
>> >> >>> >
>> >> >>> >
>> >> >>> > Well, the explanation is not in the spec but in the JavaDoc.
>> >> >>> >
>> >> >>> > Compare
>> >> >>> >
>> >> >>>
>> >>
>> http://docs.jboss.org/cdi/api/1.0/javax/enterprise/inject/spi/InjectionPoint.html
>> >> >>> >
>> >> >>> > with the new wording in CDI-1.1
>> >> >>> >
>> >> >>> >
>> >> >>>
>> >>
>> http://docs.oracle.com/javaee/7/api/javax/enterprise/inject/spi/InjectionPoint.html
>> >> >>> >
>> >> >>> > I refer to the new sentence
>> >> >>> >
>> >> >>> > "If the injection point is a dynamically selected reference
>> obtained
>> >> >>> then the metadata obtain reflects the injection point of the
>> Instance,
>> >> with
>> >> >>> the required type and any additional required qualifers defined by
>> >> >>> Instance.select()."
>> >> >>> >
>> >> >>> >
>> >> >>> > This theoretically should work in CDI-1.1 containers. Sadly there
>> is
>> >> no
>> >> >>> single implementation which implements this right now.
>> >> >>> > Weld does provide a synthetic InjectionPoint though, but it only
>> >> >>> contains the qualifiers and type of the select but misses all the
>> >> >>> information from the Instance<> injection.
>> >> >>> >
>> >> >>> >
>> >> >>> > As this is only needed for the test it might be a minor problem
>> for
>> >> us.
>> >> >>> Still thinking how we could improve this DeltaSpike test to not
>> rely on
>> >> >>> this method.
>> >> >>> >
>> >> >>> >
>> >> >>> > Weld-folks, is there already a report on this in Weld, or should I
>> >> >>> create one?
>> >> >>> > I think the wording is clear, do we need to improve it in the CDI
>> MR?
>> >> >>> >
>> >> >>> >
>> >> >>> > LieGrue,
>> >> >>> > strub
>> >> >>> >
>> >> >>> >
>> >> >>> > ----- Original Message -----
>> >> >>> >> From: John D. Ament <jo...@gmail.com>
>> >> >>> >> To: user@openwebbeans.apache.org; Mark Struberg <
>> struberg@yahoo.de>
>> >> >>> >> Cc:
>> >> >>> >> Sent: Saturday, 28 December 2013, 15:43
>> >> >>> >> Subject: Re: Fwd: Support of Instance<> in OWB
>> >> >>> >>
>> >> >>> >> Mark,
>> >> >>> >>
>> >> >>> >> Thanks for confirming.  I don't particularly see anything in 3.2
>> >> that
>> >> >>> >> clarifies this, but I'll take your word on it.
>> >> >>> >>
>> >> >>> >>
>> >> >>> >> On Fri, Dec 27, 2013 at 2:25 PM, Mark Struberg <
>> struberg@yahoo.de>
>> >> >>> wrote:
>> >> >>> >>>  Looked at it and did a few tests. And also checked what we
>> have in
>> >> >>> the
>> >> >>> >> spec.
>> >> >>> >>>
>> >> >>> >>>  For CDI-1.0 containers a producer bean with an InjectionPoint
>> >> should
>> >> >>> not be
>> >> >>> >> triggered manually. This is not required in CDI-1.0 (which
>> OWB-1.2.x
>> >> >>> still is)
>> >> >>> >> but only got changed in CDI-1.1.
>> >> >>> >>>
>> >> >>> >>>  Please compare the JavaDocs of InjectionPoint for CDI-1.0 and
>> 1.1
>> >> to
>> >> >>> see
>> >> >>> >> the difference.
>> >> >>> >>>
>> >> >>> >>>  I will nonetheless add it to OWB trunk as it is really useful
>> >> >>> feature.
>> >> >>> >>>
>> >> >>> >>>  thanks for the report!
>> >> >>> >>>  I've created OWB-921 for it.
>> >> >>> >>>
>> >> >>> >>>  LieGrue,
>> >> >>> >>>  strub
>> >> >>> >>>
>> >> >>> >>>
>> >> >>> >>>
>> >> >>> >>>
>> >> >>> >>>
>> >> >>> >>>  ----- Original Message -----
>> >> >>> >>>>  From: Mark Struberg <st...@yahoo.de>
>> >> >>> >>>>  To: "user@openwebbeans.apache.org"
>> >> >>> >> <us...@openwebbeans.apache.org>
>> >> >>> >>>>  Cc:
>> >> >>> >>>>  Sent: Friday, 27 December 2013, 17:45
>> >> >>> >>>>  Subject: Re: Fwd: Support of Instance<> in OWB
>> >> >>> >>>>
>> >> >>> >>>>
>> >> >>> >>>>
>> >> >>> >>>>  Thanks John, we will investigate!
>> >> >>> >>>>
>> >> >>> >>>>  LieGrue,
>> >> >>> >>>>  strub
>> >> >>> >>>>
>> >> >>> >>>>
>> >> >>> >>>>
>> >> >>> >>>>
>> >> >>> >>>>>  ________________________________
>> >> >>> >>>>
>> >> >>> >>>>>   From: John D. Ament <jo...@gmail.com>
>> >> >>> >>>>>  To: user@openwebbeans.apache.org
>> >> >>> >>>>>  Sent: Friday, 27 December 2013, 15:11
>> >> >>> >>>>>  Subject: Fwd: Support of Instance<> in OWB
>> >> >>> >>>>>
>> >> >>> >>>>>
>> >> >>> >>>>>  Hi all,
>> >> >>> >>>>>
>> >> >>> >>>>>  I'm cross-posting this from dev@deltaspike to see if anyone
>> has
>> >> >>> >> any
>> >> >>> >>>>>  additional thoughts.
>> >> >>> >>>>>
>> >> >>> >>>>>
>> >> >>> >>>>>
>> >> >>> >>>>>  ---------- Forwarded message ----------
>> >> >>> >>>>>  From: John D. Ament <jo...@gmail.com>
>> >> >>> >>>>>  Date: Thu, Dec 26, 2013 at 10:36 PM
>> >> >>> >>>>>  Subject: Support of Instance<> in OWB
>> >> >>> >>>>>  To: dev@deltaspike.apache.org
>> >> >>> >>>>>
>> >> >>> >>>>>
>> >> >>> >>>>>  Hi all
>> >> >>> >>>>>
>> >> >>> >>>>>  I added a new test, FileResourceTest.  It fails in OWB, but
>> >> passes
>> >> >>> >> in
>> >> >>> >>>>>  Weld.  AFAIK it's supposed to pass in both.
>> >> >>> >>>>>
>> >> >>> >>>>>  The one catch I noticed, since it has a similar test
>> >> >>> >>>>>  ClasspathResourceTest, is that I'm using Instances/literals
>> vs
>> >> >>> >>>>>  annotations.  I need to use Instance since the actual file
>> name
>> >> is
>> >> >>> >>>>>  dynamic at runtime.  In the test right now, I have this:
>> >> >>> >>>>>
>> >> >>> >>>>>      @Inject
>> >> >>> >>>>>      @Any
>> >> >>> >>>>>      private Instance<InputStream> inputStreamInst;
>> >> >>> >>>>>
>> >> >>> >>>>>      @Inject
>> >> >>> >>>>>      @Any
>> >> >>> >>>>>      private Instance<Properties> propsInst;
>> >> >>> >>>>>
>> >> >>> >>>>>  and when I switch to this:
>> >> >>> >>>>>
>> >> >>> >>>>>      @Inject
>> >> >>> >>>>>      @ExternalResource(storage =
>> >> >>> >>>>>
>> >> >>> >> FileSystemStorage.class,location="/tmp/myconfig.properties")
>> >> >>> >>>>>      private InputStream inputStream;
>> >> >>> >>>>>
>> >> >>> >>>>>      @Inject
>> >> >>> >>>>>      @ExternalResource(storage =
>> >> >>> >>>>>
>> >> >>> >> FileSystemStorage.class,location="/tmp/myconfig.properties")
>> >> >>> >>>>>      private Properties props;
>> >> >>> >>>>>
>> >> >>> >>>>>  The test works fine (assuming I create the file).  I don't
>> >> >>> >> typically
>> >> >>> >>>>>  play with OWB that much, but this should be the right format
>> for
>> >> >>> >>>>>  Instances, right?  Feedback is much appreciated.
>> >> >>> >>>>>
>> >> >>> >>>>>  Thanks,
>> >> >>> >>>>>
>> >> >>> >>>>>  John
>> >> >>> >>>>>
>> >> >>> >>>>>
>> >> >>> >>>>>
>> >> >>> >>>>
>> >> >>> >>
>> >> >>>
>> >> >>
>> >> >>
>> >>
>>

Re: Fwd: Support of Instance<> in OWB

Posted by Gerhard Petracek <ge...@gmail.com>.
@john: please update all arquillian.xml files (not just one).

thx & regards,
gerhard



2013/12/29 John D. Ament <jo...@gmail.com>

> Should be fixed now (and fixed the AS7 issue).
>
> On Sun, Dec 29, 2013 at 11:33 AM, Gerhard Petracek
> <ge...@gmail.com> wrote:
> > that means we can't keep it that way (due to this issue).
> >
> > regards,
> > gerhard
> >
> >
> >
> > 2013/12/29 John D. Ament <jo...@gmail.com>
> >
> >> The NPE in TomEE appears to be a TomEE bug, not injecting test method
> >> arguments.
> >>
> >> On Sun, Dec 29, 2013 at 10:23 AM, Gerhard Petracek
> >> <ge...@gmail.com> wrote:
> >> > @john:
> >> > your change also causes a NullPointerException in
> >> > ClasspathWebProfileTest#testSuccessfulAmbiguousLookup
> >> > (with tomee)
> >> >
> >> > regards,
> >> > gerhard
> >> >
> >> >
> >> >
> >> > 2013/12/29 Gerhard Petracek <ge...@gmail.com>
> >> >
> >> >> @john:
> >> >>
> >> >> you changed it to:
> >> >>
> >> >> @Test
> >> >> public void
> >> >>
> >>
> testAmbiguousFileLookup(@ExternalResource(storage=ClasspathStorage.class,
> >> >> location="META-INF/beans.xml") InputStream inputStream) {/*...*/}
> >> >>
> >> >> -> the exception still occurs, but junit can't handle it any longer
> >> >> (because it occurs too early).
> >> >>
> >> >> regards,
> >> >> gerhard
> >> >>
> >> >>
> >> >>
> >> >> 2013/12/29 John D. Ament <jo...@gmail.com>
> >> >>
> >> >> That's no big deal (& fixed).  I had to add a separate SE &
> WebProfile
> >> >>> test since now we're checking for duplicates and the embedded/SE
> >> >>> containers are picking up the target folders are bean archives (I
> hope
> >> >>> TomEE embedded doesn't do this... >_< ).  Using method injection
> >> >>> delays the injection, however we have a catch that /tmp must be your
> >> >>> tmpdir (I haven't checked on windows yet, but I'm assuming c:/tmp
> >> >>> should be fine..)
> >> >>>
> >> >>> @gerhard for some reason now your test doesn't throw a
> >> >>> RuntimeException, but instead the injected instance is null.
> >> >>>
> >> >>> On Sun, Dec 29, 2013 at 6:18 AM, Mark Struberg <st...@yahoo.de>
> >> wrote:
> >> >>> >
> >> >>> >
> >> >>> > Well, the explanation is not in the spec but in the JavaDoc.
> >> >>> >
> >> >>> > Compare
> >> >>> >
> >> >>>
> >>
> http://docs.jboss.org/cdi/api/1.0/javax/enterprise/inject/spi/InjectionPoint.html
> >> >>> >
> >> >>> > with the new wording in CDI-1.1
> >> >>> >
> >> >>> >
> >> >>>
> >>
> http://docs.oracle.com/javaee/7/api/javax/enterprise/inject/spi/InjectionPoint.html
> >> >>> >
> >> >>> > I refer to the new sentence
> >> >>> >
> >> >>> > "If the injection point is a dynamically selected reference
> obtained
> >> >>> then the metadata obtain reflects the injection point of the
> Instance,
> >> with
> >> >>> the required type and any additional required qualifers defined by
> >> >>> Instance.select()."
> >> >>> >
> >> >>> >
> >> >>> > This theoretically should work in CDI-1.1 containers. Sadly there
> is
> >> no
> >> >>> single implementation which implements this right now.
> >> >>> > Weld does provide a synthetic InjectionPoint though, but it only
> >> >>> contains the qualifiers and type of the select but misses all the
> >> >>> information from the Instance<> injection.
> >> >>> >
> >> >>> >
> >> >>> > As this is only needed for the test it might be a minor problem
> for
> >> us.
> >> >>> Still thinking how we could improve this DeltaSpike test to not
> rely on
> >> >>> this method.
> >> >>> >
> >> >>> >
> >> >>> > Weld-folks, is there already a report on this in Weld, or should I
> >> >>> create one?
> >> >>> > I think the wording is clear, do we need to improve it in the CDI
> MR?
> >> >>> >
> >> >>> >
> >> >>> > LieGrue,
> >> >>> > strub
> >> >>> >
> >> >>> >
> >> >>> > ----- Original Message -----
> >> >>> >> From: John D. Ament <jo...@gmail.com>
> >> >>> >> To: user@openwebbeans.apache.org; Mark Struberg <
> struberg@yahoo.de>
> >> >>> >> Cc:
> >> >>> >> Sent: Saturday, 28 December 2013, 15:43
> >> >>> >> Subject: Re: Fwd: Support of Instance<> in OWB
> >> >>> >>
> >> >>> >> Mark,
> >> >>> >>
> >> >>> >> Thanks for confirming.  I don't particularly see anything in 3.2
> >> that
> >> >>> >> clarifies this, but I'll take your word on it.
> >> >>> >>
> >> >>> >>
> >> >>> >> On Fri, Dec 27, 2013 at 2:25 PM, Mark Struberg <
> struberg@yahoo.de>
> >> >>> wrote:
> >> >>> >>>  Looked at it and did a few tests. And also checked what we
> have in
> >> >>> the
> >> >>> >> spec.
> >> >>> >>>
> >> >>> >>>  For CDI-1.0 containers a producer bean with an InjectionPoint
> >> should
> >> >>> not be
> >> >>> >> triggered manually. This is not required in CDI-1.0 (which
> OWB-1.2.x
> >> >>> still is)
> >> >>> >> but only got changed in CDI-1.1.
> >> >>> >>>
> >> >>> >>>  Please compare the JavaDocs of InjectionPoint for CDI-1.0 and
> 1.1
> >> to
> >> >>> see
> >> >>> >> the difference.
> >> >>> >>>
> >> >>> >>>  I will nonetheless add it to OWB trunk as it is really useful
> >> >>> feature.
> >> >>> >>>
> >> >>> >>>  thanks for the report!
> >> >>> >>>  I've created OWB-921 for it.
> >> >>> >>>
> >> >>> >>>  LieGrue,
> >> >>> >>>  strub
> >> >>> >>>
> >> >>> >>>
> >> >>> >>>
> >> >>> >>>
> >> >>> >>>
> >> >>> >>>  ----- Original Message -----
> >> >>> >>>>  From: Mark Struberg <st...@yahoo.de>
> >> >>> >>>>  To: "user@openwebbeans.apache.org"
> >> >>> >> <us...@openwebbeans.apache.org>
> >> >>> >>>>  Cc:
> >> >>> >>>>  Sent: Friday, 27 December 2013, 17:45
> >> >>> >>>>  Subject: Re: Fwd: Support of Instance<> in OWB
> >> >>> >>>>
> >> >>> >>>>
> >> >>> >>>>
> >> >>> >>>>  Thanks John, we will investigate!
> >> >>> >>>>
> >> >>> >>>>  LieGrue,
> >> >>> >>>>  strub
> >> >>> >>>>
> >> >>> >>>>
> >> >>> >>>>
> >> >>> >>>>
> >> >>> >>>>>  ________________________________
> >> >>> >>>>
> >> >>> >>>>>   From: John D. Ament <jo...@gmail.com>
> >> >>> >>>>>  To: user@openwebbeans.apache.org
> >> >>> >>>>>  Sent: Friday, 27 December 2013, 15:11
> >> >>> >>>>>  Subject: Fwd: Support of Instance<> in OWB
> >> >>> >>>>>
> >> >>> >>>>>
> >> >>> >>>>>  Hi all,
> >> >>> >>>>>
> >> >>> >>>>>  I'm cross-posting this from dev@deltaspike to see if anyone
> has
> >> >>> >> any
> >> >>> >>>>>  additional thoughts.
> >> >>> >>>>>
> >> >>> >>>>>
> >> >>> >>>>>
> >> >>> >>>>>  ---------- Forwarded message ----------
> >> >>> >>>>>  From: John D. Ament <jo...@gmail.com>
> >> >>> >>>>>  Date: Thu, Dec 26, 2013 at 10:36 PM
> >> >>> >>>>>  Subject: Support of Instance<> in OWB
> >> >>> >>>>>  To: dev@deltaspike.apache.org
> >> >>> >>>>>
> >> >>> >>>>>
> >> >>> >>>>>  Hi all
> >> >>> >>>>>
> >> >>> >>>>>  I added a new test, FileResourceTest.  It fails in OWB, but
> >> passes
> >> >>> >> in
> >> >>> >>>>>  Weld.  AFAIK it's supposed to pass in both.
> >> >>> >>>>>
> >> >>> >>>>>  The one catch I noticed, since it has a similar test
> >> >>> >>>>>  ClasspathResourceTest, is that I'm using Instances/literals
> vs
> >> >>> >>>>>  annotations.  I need to use Instance since the actual file
> name
> >> is
> >> >>> >>>>>  dynamic at runtime.  In the test right now, I have this:
> >> >>> >>>>>
> >> >>> >>>>>      @Inject
> >> >>> >>>>>      @Any
> >> >>> >>>>>      private Instance<InputStream> inputStreamInst;
> >> >>> >>>>>
> >> >>> >>>>>      @Inject
> >> >>> >>>>>      @Any
> >> >>> >>>>>      private Instance<Properties> propsInst;
> >> >>> >>>>>
> >> >>> >>>>>  and when I switch to this:
> >> >>> >>>>>
> >> >>> >>>>>      @Inject
> >> >>> >>>>>      @ExternalResource(storage =
> >> >>> >>>>>
> >> >>> >> FileSystemStorage.class,location="/tmp/myconfig.properties")
> >> >>> >>>>>      private InputStream inputStream;
> >> >>> >>>>>
> >> >>> >>>>>      @Inject
> >> >>> >>>>>      @ExternalResource(storage =
> >> >>> >>>>>
> >> >>> >> FileSystemStorage.class,location="/tmp/myconfig.properties")
> >> >>> >>>>>      private Properties props;
> >> >>> >>>>>
> >> >>> >>>>>  The test works fine (assuming I create the file).  I don't
> >> >>> >> typically
> >> >>> >>>>>  play with OWB that much, but this should be the right format
> for
> >> >>> >>>>>  Instances, right?  Feedback is much appreciated.
> >> >>> >>>>>
> >> >>> >>>>>  Thanks,
> >> >>> >>>>>
> >> >>> >>>>>  John
> >> >>> >>>>>
> >> >>> >>>>>
> >> >>> >>>>>
> >> >>> >>>>
> >> >>> >>
> >> >>>
> >> >>
> >> >>
> >>
>

Re: Fwd: Support of Instance<> in OWB

Posted by "John D. Ament" <jo...@gmail.com>.
Should be fixed now (and fixed the AS7 issue).

On Sun, Dec 29, 2013 at 11:33 AM, Gerhard Petracek
<ge...@gmail.com> wrote:
> that means we can't keep it that way (due to this issue).
>
> regards,
> gerhard
>
>
>
> 2013/12/29 John D. Ament <jo...@gmail.com>
>
>> The NPE in TomEE appears to be a TomEE bug, not injecting test method
>> arguments.
>>
>> On Sun, Dec 29, 2013 at 10:23 AM, Gerhard Petracek
>> <ge...@gmail.com> wrote:
>> > @john:
>> > your change also causes a NullPointerException in
>> > ClasspathWebProfileTest#testSuccessfulAmbiguousLookup
>> > (with tomee)
>> >
>> > regards,
>> > gerhard
>> >
>> >
>> >
>> > 2013/12/29 Gerhard Petracek <ge...@gmail.com>
>> >
>> >> @john:
>> >>
>> >> you changed it to:
>> >>
>> >> @Test
>> >> public void
>> >>
>> testAmbiguousFileLookup(@ExternalResource(storage=ClasspathStorage.class,
>> >> location="META-INF/beans.xml") InputStream inputStream) {/*...*/}
>> >>
>> >> -> the exception still occurs, but junit can't handle it any longer
>> >> (because it occurs too early).
>> >>
>> >> regards,
>> >> gerhard
>> >>
>> >>
>> >>
>> >> 2013/12/29 John D. Ament <jo...@gmail.com>
>> >>
>> >> That's no big deal (& fixed).  I had to add a separate SE & WebProfile
>> >>> test since now we're checking for duplicates and the embedded/SE
>> >>> containers are picking up the target folders are bean archives (I hope
>> >>> TomEE embedded doesn't do this... >_< ).  Using method injection
>> >>> delays the injection, however we have a catch that /tmp must be your
>> >>> tmpdir (I haven't checked on windows yet, but I'm assuming c:/tmp
>> >>> should be fine..)
>> >>>
>> >>> @gerhard for some reason now your test doesn't throw a
>> >>> RuntimeException, but instead the injected instance is null.
>> >>>
>> >>> On Sun, Dec 29, 2013 at 6:18 AM, Mark Struberg <st...@yahoo.de>
>> wrote:
>> >>> >
>> >>> >
>> >>> > Well, the explanation is not in the spec but in the JavaDoc.
>> >>> >
>> >>> > Compare
>> >>> >
>> >>>
>> http://docs.jboss.org/cdi/api/1.0/javax/enterprise/inject/spi/InjectionPoint.html
>> >>> >
>> >>> > with the new wording in CDI-1.1
>> >>> >
>> >>> >
>> >>>
>> http://docs.oracle.com/javaee/7/api/javax/enterprise/inject/spi/InjectionPoint.html
>> >>> >
>> >>> > I refer to the new sentence
>> >>> >
>> >>> > "If the injection point is a dynamically selected reference obtained
>> >>> then the metadata obtain reflects the injection point of the Instance,
>> with
>> >>> the required type and any additional required qualifers defined by
>> >>> Instance.select()."
>> >>> >
>> >>> >
>> >>> > This theoretically should work in CDI-1.1 containers. Sadly there is
>> no
>> >>> single implementation which implements this right now.
>> >>> > Weld does provide a synthetic InjectionPoint though, but it only
>> >>> contains the qualifiers and type of the select but misses all the
>> >>> information from the Instance<> injection.
>> >>> >
>> >>> >
>> >>> > As this is only needed for the test it might be a minor problem for
>> us.
>> >>> Still thinking how we could improve this DeltaSpike test to not rely on
>> >>> this method.
>> >>> >
>> >>> >
>> >>> > Weld-folks, is there already a report on this in Weld, or should I
>> >>> create one?
>> >>> > I think the wording is clear, do we need to improve it in the CDI MR?
>> >>> >
>> >>> >
>> >>> > LieGrue,
>> >>> > strub
>> >>> >
>> >>> >
>> >>> > ----- Original Message -----
>> >>> >> From: John D. Ament <jo...@gmail.com>
>> >>> >> To: user@openwebbeans.apache.org; Mark Struberg <st...@yahoo.de>
>> >>> >> Cc:
>> >>> >> Sent: Saturday, 28 December 2013, 15:43
>> >>> >> Subject: Re: Fwd: Support of Instance<> in OWB
>> >>> >>
>> >>> >> Mark,
>> >>> >>
>> >>> >> Thanks for confirming.  I don't particularly see anything in 3.2
>> that
>> >>> >> clarifies this, but I'll take your word on it.
>> >>> >>
>> >>> >>
>> >>> >> On Fri, Dec 27, 2013 at 2:25 PM, Mark Struberg <st...@yahoo.de>
>> >>> wrote:
>> >>> >>>  Looked at it and did a few tests. And also checked what we have in
>> >>> the
>> >>> >> spec.
>> >>> >>>
>> >>> >>>  For CDI-1.0 containers a producer bean with an InjectionPoint
>> should
>> >>> not be
>> >>> >> triggered manually. This is not required in CDI-1.0 (which OWB-1.2.x
>> >>> still is)
>> >>> >> but only got changed in CDI-1.1.
>> >>> >>>
>> >>> >>>  Please compare the JavaDocs of InjectionPoint for CDI-1.0 and 1.1
>> to
>> >>> see
>> >>> >> the difference.
>> >>> >>>
>> >>> >>>  I will nonetheless add it to OWB trunk as it is really useful
>> >>> feature.
>> >>> >>>
>> >>> >>>  thanks for the report!
>> >>> >>>  I've created OWB-921 for it.
>> >>> >>>
>> >>> >>>  LieGrue,
>> >>> >>>  strub
>> >>> >>>
>> >>> >>>
>> >>> >>>
>> >>> >>>
>> >>> >>>
>> >>> >>>  ----- Original Message -----
>> >>> >>>>  From: Mark Struberg <st...@yahoo.de>
>> >>> >>>>  To: "user@openwebbeans.apache.org"
>> >>> >> <us...@openwebbeans.apache.org>
>> >>> >>>>  Cc:
>> >>> >>>>  Sent: Friday, 27 December 2013, 17:45
>> >>> >>>>  Subject: Re: Fwd: Support of Instance<> in OWB
>> >>> >>>>
>> >>> >>>>
>> >>> >>>>
>> >>> >>>>  Thanks John, we will investigate!
>> >>> >>>>
>> >>> >>>>  LieGrue,
>> >>> >>>>  strub
>> >>> >>>>
>> >>> >>>>
>> >>> >>>>
>> >>> >>>>
>> >>> >>>>>  ________________________________
>> >>> >>>>
>> >>> >>>>>   From: John D. Ament <jo...@gmail.com>
>> >>> >>>>>  To: user@openwebbeans.apache.org
>> >>> >>>>>  Sent: Friday, 27 December 2013, 15:11
>> >>> >>>>>  Subject: Fwd: Support of Instance<> in OWB
>> >>> >>>>>
>> >>> >>>>>
>> >>> >>>>>  Hi all,
>> >>> >>>>>
>> >>> >>>>>  I'm cross-posting this from dev@deltaspike to see if anyone has
>> >>> >> any
>> >>> >>>>>  additional thoughts.
>> >>> >>>>>
>> >>> >>>>>
>> >>> >>>>>
>> >>> >>>>>  ---------- Forwarded message ----------
>> >>> >>>>>  From: John D. Ament <jo...@gmail.com>
>> >>> >>>>>  Date: Thu, Dec 26, 2013 at 10:36 PM
>> >>> >>>>>  Subject: Support of Instance<> in OWB
>> >>> >>>>>  To: dev@deltaspike.apache.org
>> >>> >>>>>
>> >>> >>>>>
>> >>> >>>>>  Hi all
>> >>> >>>>>
>> >>> >>>>>  I added a new test, FileResourceTest.  It fails in OWB, but
>> passes
>> >>> >> in
>> >>> >>>>>  Weld.  AFAIK it's supposed to pass in both.
>> >>> >>>>>
>> >>> >>>>>  The one catch I noticed, since it has a similar test
>> >>> >>>>>  ClasspathResourceTest, is that I'm using Instances/literals vs
>> >>> >>>>>  annotations.  I need to use Instance since the actual file name
>> is
>> >>> >>>>>  dynamic at runtime.  In the test right now, I have this:
>> >>> >>>>>
>> >>> >>>>>      @Inject
>> >>> >>>>>      @Any
>> >>> >>>>>      private Instance<InputStream> inputStreamInst;
>> >>> >>>>>
>> >>> >>>>>      @Inject
>> >>> >>>>>      @Any
>> >>> >>>>>      private Instance<Properties> propsInst;
>> >>> >>>>>
>> >>> >>>>>  and when I switch to this:
>> >>> >>>>>
>> >>> >>>>>      @Inject
>> >>> >>>>>      @ExternalResource(storage =
>> >>> >>>>>
>> >>> >> FileSystemStorage.class,location="/tmp/myconfig.properties")
>> >>> >>>>>      private InputStream inputStream;
>> >>> >>>>>
>> >>> >>>>>      @Inject
>> >>> >>>>>      @ExternalResource(storage =
>> >>> >>>>>
>> >>> >> FileSystemStorage.class,location="/tmp/myconfig.properties")
>> >>> >>>>>      private Properties props;
>> >>> >>>>>
>> >>> >>>>>  The test works fine (assuming I create the file).  I don't
>> >>> >> typically
>> >>> >>>>>  play with OWB that much, but this should be the right format for
>> >>> >>>>>  Instances, right?  Feedback is much appreciated.
>> >>> >>>>>
>> >>> >>>>>  Thanks,
>> >>> >>>>>
>> >>> >>>>>  John
>> >>> >>>>>
>> >>> >>>>>
>> >>> >>>>>
>> >>> >>>>
>> >>> >>
>> >>>
>> >>
>> >>
>>

Re: Fwd: Support of Instance<> in OWB

Posted by Gerhard Petracek <ge...@gmail.com>.
that means we can't keep it that way (due to this issue).

regards,
gerhard



2013/12/29 John D. Ament <jo...@gmail.com>

> The NPE in TomEE appears to be a TomEE bug, not injecting test method
> arguments.
>
> On Sun, Dec 29, 2013 at 10:23 AM, Gerhard Petracek
> <ge...@gmail.com> wrote:
> > @john:
> > your change also causes a NullPointerException in
> > ClasspathWebProfileTest#testSuccessfulAmbiguousLookup
> > (with tomee)
> >
> > regards,
> > gerhard
> >
> >
> >
> > 2013/12/29 Gerhard Petracek <ge...@gmail.com>
> >
> >> @john:
> >>
> >> you changed it to:
> >>
> >> @Test
> >> public void
> >>
> testAmbiguousFileLookup(@ExternalResource(storage=ClasspathStorage.class,
> >> location="META-INF/beans.xml") InputStream inputStream) {/*...*/}
> >>
> >> -> the exception still occurs, but junit can't handle it any longer
> >> (because it occurs too early).
> >>
> >> regards,
> >> gerhard
> >>
> >>
> >>
> >> 2013/12/29 John D. Ament <jo...@gmail.com>
> >>
> >> That's no big deal (& fixed).  I had to add a separate SE & WebProfile
> >>> test since now we're checking for duplicates and the embedded/SE
> >>> containers are picking up the target folders are bean archives (I hope
> >>> TomEE embedded doesn't do this... >_< ).  Using method injection
> >>> delays the injection, however we have a catch that /tmp must be your
> >>> tmpdir (I haven't checked on windows yet, but I'm assuming c:/tmp
> >>> should be fine..)
> >>>
> >>> @gerhard for some reason now your test doesn't throw a
> >>> RuntimeException, but instead the injected instance is null.
> >>>
> >>> On Sun, Dec 29, 2013 at 6:18 AM, Mark Struberg <st...@yahoo.de>
> wrote:
> >>> >
> >>> >
> >>> > Well, the explanation is not in the spec but in the JavaDoc.
> >>> >
> >>> > Compare
> >>> >
> >>>
> http://docs.jboss.org/cdi/api/1.0/javax/enterprise/inject/spi/InjectionPoint.html
> >>> >
> >>> > with the new wording in CDI-1.1
> >>> >
> >>> >
> >>>
> http://docs.oracle.com/javaee/7/api/javax/enterprise/inject/spi/InjectionPoint.html
> >>> >
> >>> > I refer to the new sentence
> >>> >
> >>> > "If the injection point is a dynamically selected reference obtained
> >>> then the metadata obtain reflects the injection point of the Instance,
> with
> >>> the required type and any additional required qualifers defined by
> >>> Instance.select()."
> >>> >
> >>> >
> >>> > This theoretically should work in CDI-1.1 containers. Sadly there is
> no
> >>> single implementation which implements this right now.
> >>> > Weld does provide a synthetic InjectionPoint though, but it only
> >>> contains the qualifiers and type of the select but misses all the
> >>> information from the Instance<> injection.
> >>> >
> >>> >
> >>> > As this is only needed for the test it might be a minor problem for
> us.
> >>> Still thinking how we could improve this DeltaSpike test to not rely on
> >>> this method.
> >>> >
> >>> >
> >>> > Weld-folks, is there already a report on this in Weld, or should I
> >>> create one?
> >>> > I think the wording is clear, do we need to improve it in the CDI MR?
> >>> >
> >>> >
> >>> > LieGrue,
> >>> > strub
> >>> >
> >>> >
> >>> > ----- Original Message -----
> >>> >> From: John D. Ament <jo...@gmail.com>
> >>> >> To: user@openwebbeans.apache.org; Mark Struberg <st...@yahoo.de>
> >>> >> Cc:
> >>> >> Sent: Saturday, 28 December 2013, 15:43
> >>> >> Subject: Re: Fwd: Support of Instance<> in OWB
> >>> >>
> >>> >> Mark,
> >>> >>
> >>> >> Thanks for confirming.  I don't particularly see anything in 3.2
> that
> >>> >> clarifies this, but I'll take your word on it.
> >>> >>
> >>> >>
> >>> >> On Fri, Dec 27, 2013 at 2:25 PM, Mark Struberg <st...@yahoo.de>
> >>> wrote:
> >>> >>>  Looked at it and did a few tests. And also checked what we have in
> >>> the
> >>> >> spec.
> >>> >>>
> >>> >>>  For CDI-1.0 containers a producer bean with an InjectionPoint
> should
> >>> not be
> >>> >> triggered manually. This is not required in CDI-1.0 (which OWB-1.2.x
> >>> still is)
> >>> >> but only got changed in CDI-1.1.
> >>> >>>
> >>> >>>  Please compare the JavaDocs of InjectionPoint for CDI-1.0 and 1.1
> to
> >>> see
> >>> >> the difference.
> >>> >>>
> >>> >>>  I will nonetheless add it to OWB trunk as it is really useful
> >>> feature.
> >>> >>>
> >>> >>>  thanks for the report!
> >>> >>>  I've created OWB-921 for it.
> >>> >>>
> >>> >>>  LieGrue,
> >>> >>>  strub
> >>> >>>
> >>> >>>
> >>> >>>
> >>> >>>
> >>> >>>
> >>> >>>  ----- Original Message -----
> >>> >>>>  From: Mark Struberg <st...@yahoo.de>
> >>> >>>>  To: "user@openwebbeans.apache.org"
> >>> >> <us...@openwebbeans.apache.org>
> >>> >>>>  Cc:
> >>> >>>>  Sent: Friday, 27 December 2013, 17:45
> >>> >>>>  Subject: Re: Fwd: Support of Instance<> in OWB
> >>> >>>>
> >>> >>>>
> >>> >>>>
> >>> >>>>  Thanks John, we will investigate!
> >>> >>>>
> >>> >>>>  LieGrue,
> >>> >>>>  strub
> >>> >>>>
> >>> >>>>
> >>> >>>>
> >>> >>>>
> >>> >>>>>  ________________________________
> >>> >>>>
> >>> >>>>>   From: John D. Ament <jo...@gmail.com>
> >>> >>>>>  To: user@openwebbeans.apache.org
> >>> >>>>>  Sent: Friday, 27 December 2013, 15:11
> >>> >>>>>  Subject: Fwd: Support of Instance<> in OWB
> >>> >>>>>
> >>> >>>>>
> >>> >>>>>  Hi all,
> >>> >>>>>
> >>> >>>>>  I'm cross-posting this from dev@deltaspike to see if anyone has
> >>> >> any
> >>> >>>>>  additional thoughts.
> >>> >>>>>
> >>> >>>>>
> >>> >>>>>
> >>> >>>>>  ---------- Forwarded message ----------
> >>> >>>>>  From: John D. Ament <jo...@gmail.com>
> >>> >>>>>  Date: Thu, Dec 26, 2013 at 10:36 PM
> >>> >>>>>  Subject: Support of Instance<> in OWB
> >>> >>>>>  To: dev@deltaspike.apache.org
> >>> >>>>>
> >>> >>>>>
> >>> >>>>>  Hi all
> >>> >>>>>
> >>> >>>>>  I added a new test, FileResourceTest.  It fails in OWB, but
> passes
> >>> >> in
> >>> >>>>>  Weld.  AFAIK it's supposed to pass in both.
> >>> >>>>>
> >>> >>>>>  The one catch I noticed, since it has a similar test
> >>> >>>>>  ClasspathResourceTest, is that I'm using Instances/literals vs
> >>> >>>>>  annotations.  I need to use Instance since the actual file name
> is
> >>> >>>>>  dynamic at runtime.  In the test right now, I have this:
> >>> >>>>>
> >>> >>>>>      @Inject
> >>> >>>>>      @Any
> >>> >>>>>      private Instance<InputStream> inputStreamInst;
> >>> >>>>>
> >>> >>>>>      @Inject
> >>> >>>>>      @Any
> >>> >>>>>      private Instance<Properties> propsInst;
> >>> >>>>>
> >>> >>>>>  and when I switch to this:
> >>> >>>>>
> >>> >>>>>      @Inject
> >>> >>>>>      @ExternalResource(storage =
> >>> >>>>>
> >>> >> FileSystemStorage.class,location="/tmp/myconfig.properties")
> >>> >>>>>      private InputStream inputStream;
> >>> >>>>>
> >>> >>>>>      @Inject
> >>> >>>>>      @ExternalResource(storage =
> >>> >>>>>
> >>> >> FileSystemStorage.class,location="/tmp/myconfig.properties")
> >>> >>>>>      private Properties props;
> >>> >>>>>
> >>> >>>>>  The test works fine (assuming I create the file).  I don't
> >>> >> typically
> >>> >>>>>  play with OWB that much, but this should be the right format for
> >>> >>>>>  Instances, right?  Feedback is much appreciated.
> >>> >>>>>
> >>> >>>>>  Thanks,
> >>> >>>>>
> >>> >>>>>  John
> >>> >>>>>
> >>> >>>>>
> >>> >>>>>
> >>> >>>>
> >>> >>
> >>>
> >>
> >>
>

Re: Fwd: Support of Instance<> in OWB

Posted by "John D. Ament" <jo...@gmail.com>.
The NPE in TomEE appears to be a TomEE bug, not injecting test method arguments.

On Sun, Dec 29, 2013 at 10:23 AM, Gerhard Petracek
<ge...@gmail.com> wrote:
> @john:
> your change also causes a NullPointerException in
> ClasspathWebProfileTest#testSuccessfulAmbiguousLookup
> (with tomee)
>
> regards,
> gerhard
>
>
>
> 2013/12/29 Gerhard Petracek <ge...@gmail.com>
>
>> @john:
>>
>> you changed it to:
>>
>> @Test
>> public void
>> testAmbiguousFileLookup(@ExternalResource(storage=ClasspathStorage.class,
>> location="META-INF/beans.xml") InputStream inputStream) {/*...*/}
>>
>> -> the exception still occurs, but junit can't handle it any longer
>> (because it occurs too early).
>>
>> regards,
>> gerhard
>>
>>
>>
>> 2013/12/29 John D. Ament <jo...@gmail.com>
>>
>> That's no big deal (& fixed).  I had to add a separate SE & WebProfile
>>> test since now we're checking for duplicates and the embedded/SE
>>> containers are picking up the target folders are bean archives (I hope
>>> TomEE embedded doesn't do this... >_< ).  Using method injection
>>> delays the injection, however we have a catch that /tmp must be your
>>> tmpdir (I haven't checked on windows yet, but I'm assuming c:/tmp
>>> should be fine..)
>>>
>>> @gerhard for some reason now your test doesn't throw a
>>> RuntimeException, but instead the injected instance is null.
>>>
>>> On Sun, Dec 29, 2013 at 6:18 AM, Mark Struberg <st...@yahoo.de> wrote:
>>> >
>>> >
>>> > Well, the explanation is not in the spec but in the JavaDoc.
>>> >
>>> > Compare
>>> >
>>> http://docs.jboss.org/cdi/api/1.0/javax/enterprise/inject/spi/InjectionPoint.html
>>> >
>>> > with the new wording in CDI-1.1
>>> >
>>> >
>>> http://docs.oracle.com/javaee/7/api/javax/enterprise/inject/spi/InjectionPoint.html
>>> >
>>> > I refer to the new sentence
>>> >
>>> > "If the injection point is a dynamically selected reference obtained
>>> then the metadata obtain reflects the injection point of the Instance, with
>>> the required type and any additional required qualifers defined by
>>> Instance.select()."
>>> >
>>> >
>>> > This theoretically should work in CDI-1.1 containers. Sadly there is no
>>> single implementation which implements this right now.
>>> > Weld does provide a synthetic InjectionPoint though, but it only
>>> contains the qualifiers and type of the select but misses all the
>>> information from the Instance<> injection.
>>> >
>>> >
>>> > As this is only needed for the test it might be a minor problem for us.
>>> Still thinking how we could improve this DeltaSpike test to not rely on
>>> this method.
>>> >
>>> >
>>> > Weld-folks, is there already a report on this in Weld, or should I
>>> create one?
>>> > I think the wording is clear, do we need to improve it in the CDI MR?
>>> >
>>> >
>>> > LieGrue,
>>> > strub
>>> >
>>> >
>>> > ----- Original Message -----
>>> >> From: John D. Ament <jo...@gmail.com>
>>> >> To: user@openwebbeans.apache.org; Mark Struberg <st...@yahoo.de>
>>> >> Cc:
>>> >> Sent: Saturday, 28 December 2013, 15:43
>>> >> Subject: Re: Fwd: Support of Instance<> in OWB
>>> >>
>>> >> Mark,
>>> >>
>>> >> Thanks for confirming.  I don't particularly see anything in 3.2 that
>>> >> clarifies this, but I'll take your word on it.
>>> >>
>>> >>
>>> >> On Fri, Dec 27, 2013 at 2:25 PM, Mark Struberg <st...@yahoo.de>
>>> wrote:
>>> >>>  Looked at it and did a few tests. And also checked what we have in
>>> the
>>> >> spec.
>>> >>>
>>> >>>  For CDI-1.0 containers a producer bean with an InjectionPoint should
>>> not be
>>> >> triggered manually. This is not required in CDI-1.0 (which OWB-1.2.x
>>> still is)
>>> >> but only got changed in CDI-1.1.
>>> >>>
>>> >>>  Please compare the JavaDocs of InjectionPoint for CDI-1.0 and 1.1 to
>>> see
>>> >> the difference.
>>> >>>
>>> >>>  I will nonetheless add it to OWB trunk as it is really useful
>>> feature.
>>> >>>
>>> >>>  thanks for the report!
>>> >>>  I've created OWB-921 for it.
>>> >>>
>>> >>>  LieGrue,
>>> >>>  strub
>>> >>>
>>> >>>
>>> >>>
>>> >>>
>>> >>>
>>> >>>  ----- Original Message -----
>>> >>>>  From: Mark Struberg <st...@yahoo.de>
>>> >>>>  To: "user@openwebbeans.apache.org"
>>> >> <us...@openwebbeans.apache.org>
>>> >>>>  Cc:
>>> >>>>  Sent: Friday, 27 December 2013, 17:45
>>> >>>>  Subject: Re: Fwd: Support of Instance<> in OWB
>>> >>>>
>>> >>>>
>>> >>>>
>>> >>>>  Thanks John, we will investigate!
>>> >>>>
>>> >>>>  LieGrue,
>>> >>>>  strub
>>> >>>>
>>> >>>>
>>> >>>>
>>> >>>>
>>> >>>>>  ________________________________
>>> >>>>
>>> >>>>>   From: John D. Ament <jo...@gmail.com>
>>> >>>>>  To: user@openwebbeans.apache.org
>>> >>>>>  Sent: Friday, 27 December 2013, 15:11
>>> >>>>>  Subject: Fwd: Support of Instance<> in OWB
>>> >>>>>
>>> >>>>>
>>> >>>>>  Hi all,
>>> >>>>>
>>> >>>>>  I'm cross-posting this from dev@deltaspike to see if anyone has
>>> >> any
>>> >>>>>  additional thoughts.
>>> >>>>>
>>> >>>>>
>>> >>>>>
>>> >>>>>  ---------- Forwarded message ----------
>>> >>>>>  From: John D. Ament <jo...@gmail.com>
>>> >>>>>  Date: Thu, Dec 26, 2013 at 10:36 PM
>>> >>>>>  Subject: Support of Instance<> in OWB
>>> >>>>>  To: dev@deltaspike.apache.org
>>> >>>>>
>>> >>>>>
>>> >>>>>  Hi all
>>> >>>>>
>>> >>>>>  I added a new test, FileResourceTest.  It fails in OWB, but passes
>>> >> in
>>> >>>>>  Weld.  AFAIK it's supposed to pass in both.
>>> >>>>>
>>> >>>>>  The one catch I noticed, since it has a similar test
>>> >>>>>  ClasspathResourceTest, is that I'm using Instances/literals vs
>>> >>>>>  annotations.  I need to use Instance since the actual file name is
>>> >>>>>  dynamic at runtime.  In the test right now, I have this:
>>> >>>>>
>>> >>>>>      @Inject
>>> >>>>>      @Any
>>> >>>>>      private Instance<InputStream> inputStreamInst;
>>> >>>>>
>>> >>>>>      @Inject
>>> >>>>>      @Any
>>> >>>>>      private Instance<Properties> propsInst;
>>> >>>>>
>>> >>>>>  and when I switch to this:
>>> >>>>>
>>> >>>>>      @Inject
>>> >>>>>      @ExternalResource(storage =
>>> >>>>>
>>> >> FileSystemStorage.class,location="/tmp/myconfig.properties")
>>> >>>>>      private InputStream inputStream;
>>> >>>>>
>>> >>>>>      @Inject
>>> >>>>>      @ExternalResource(storage =
>>> >>>>>
>>> >> FileSystemStorage.class,location="/tmp/myconfig.properties")
>>> >>>>>      private Properties props;
>>> >>>>>
>>> >>>>>  The test works fine (assuming I create the file).  I don't
>>> >> typically
>>> >>>>>  play with OWB that much, but this should be the right format for
>>> >>>>>  Instances, right?  Feedback is much appreciated.
>>> >>>>>
>>> >>>>>  Thanks,
>>> >>>>>
>>> >>>>>  John
>>> >>>>>
>>> >>>>>
>>> >>>>>
>>> >>>>
>>> >>
>>>
>>
>>

Re: Fwd: Support of Instance<> in OWB

Posted by Gerhard Petracek <ge...@gmail.com>.
@john:
your change also causes a NullPointerException in
ClasspathWebProfileTest#testSuccessfulAmbiguousLookup
(with tomee)

regards,
gerhard



2013/12/29 Gerhard Petracek <ge...@gmail.com>

> @john:
>
> you changed it to:
>
> @Test
> public void
> testAmbiguousFileLookup(@ExternalResource(storage=ClasspathStorage.class,
> location="META-INF/beans.xml") InputStream inputStream) {/*...*/}
>
> -> the exception still occurs, but junit can't handle it any longer
> (because it occurs too early).
>
> regards,
> gerhard
>
>
>
> 2013/12/29 John D. Ament <jo...@gmail.com>
>
> That's no big deal (& fixed).  I had to add a separate SE & WebProfile
>> test since now we're checking for duplicates and the embedded/SE
>> containers are picking up the target folders are bean archives (I hope
>> TomEE embedded doesn't do this... >_< ).  Using method injection
>> delays the injection, however we have a catch that /tmp must be your
>> tmpdir (I haven't checked on windows yet, but I'm assuming c:/tmp
>> should be fine..)
>>
>> @gerhard for some reason now your test doesn't throw a
>> RuntimeException, but instead the injected instance is null.
>>
>> On Sun, Dec 29, 2013 at 6:18 AM, Mark Struberg <st...@yahoo.de> wrote:
>> >
>> >
>> > Well, the explanation is not in the spec but in the JavaDoc.
>> >
>> > Compare
>> >
>> http://docs.jboss.org/cdi/api/1.0/javax/enterprise/inject/spi/InjectionPoint.html
>> >
>> > with the new wording in CDI-1.1
>> >
>> >
>> http://docs.oracle.com/javaee/7/api/javax/enterprise/inject/spi/InjectionPoint.html
>> >
>> > I refer to the new sentence
>> >
>> > "If the injection point is a dynamically selected reference obtained
>> then the metadata obtain reflects the injection point of the Instance, with
>> the required type and any additional required qualifers defined by
>> Instance.select()."
>> >
>> >
>> > This theoretically should work in CDI-1.1 containers. Sadly there is no
>> single implementation which implements this right now.
>> > Weld does provide a synthetic InjectionPoint though, but it only
>> contains the qualifiers and type of the select but misses all the
>> information from the Instance<> injection.
>> >
>> >
>> > As this is only needed for the test it might be a minor problem for us.
>> Still thinking how we could improve this DeltaSpike test to not rely on
>> this method.
>> >
>> >
>> > Weld-folks, is there already a report on this in Weld, or should I
>> create one?
>> > I think the wording is clear, do we need to improve it in the CDI MR?
>> >
>> >
>> > LieGrue,
>> > strub
>> >
>> >
>> > ----- Original Message -----
>> >> From: John D. Ament <jo...@gmail.com>
>> >> To: user@openwebbeans.apache.org; Mark Struberg <st...@yahoo.de>
>> >> Cc:
>> >> Sent: Saturday, 28 December 2013, 15:43
>> >> Subject: Re: Fwd: Support of Instance<> in OWB
>> >>
>> >> Mark,
>> >>
>> >> Thanks for confirming.  I don't particularly see anything in 3.2 that
>> >> clarifies this, but I'll take your word on it.
>> >>
>> >>
>> >> On Fri, Dec 27, 2013 at 2:25 PM, Mark Struberg <st...@yahoo.de>
>> wrote:
>> >>>  Looked at it and did a few tests. And also checked what we have in
>> the
>> >> spec.
>> >>>
>> >>>  For CDI-1.0 containers a producer bean with an InjectionPoint should
>> not be
>> >> triggered manually. This is not required in CDI-1.0 (which OWB-1.2.x
>> still is)
>> >> but only got changed in CDI-1.1.
>> >>>
>> >>>  Please compare the JavaDocs of InjectionPoint for CDI-1.0 and 1.1 to
>> see
>> >> the difference.
>> >>>
>> >>>  I will nonetheless add it to OWB trunk as it is really useful
>> feature.
>> >>>
>> >>>  thanks for the report!
>> >>>  I've created OWB-921 for it.
>> >>>
>> >>>  LieGrue,
>> >>>  strub
>> >>>
>> >>>
>> >>>
>> >>>
>> >>>
>> >>>  ----- Original Message -----
>> >>>>  From: Mark Struberg <st...@yahoo.de>
>> >>>>  To: "user@openwebbeans.apache.org"
>> >> <us...@openwebbeans.apache.org>
>> >>>>  Cc:
>> >>>>  Sent: Friday, 27 December 2013, 17:45
>> >>>>  Subject: Re: Fwd: Support of Instance<> in OWB
>> >>>>
>> >>>>
>> >>>>
>> >>>>  Thanks John, we will investigate!
>> >>>>
>> >>>>  LieGrue,
>> >>>>  strub
>> >>>>
>> >>>>
>> >>>>
>> >>>>
>> >>>>>  ________________________________
>> >>>>
>> >>>>>   From: John D. Ament <jo...@gmail.com>
>> >>>>>  To: user@openwebbeans.apache.org
>> >>>>>  Sent: Friday, 27 December 2013, 15:11
>> >>>>>  Subject: Fwd: Support of Instance<> in OWB
>> >>>>>
>> >>>>>
>> >>>>>  Hi all,
>> >>>>>
>> >>>>>  I'm cross-posting this from dev@deltaspike to see if anyone has
>> >> any
>> >>>>>  additional thoughts.
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>>  ---------- Forwarded message ----------
>> >>>>>  From: John D. Ament <jo...@gmail.com>
>> >>>>>  Date: Thu, Dec 26, 2013 at 10:36 PM
>> >>>>>  Subject: Support of Instance<> in OWB
>> >>>>>  To: dev@deltaspike.apache.org
>> >>>>>
>> >>>>>
>> >>>>>  Hi all
>> >>>>>
>> >>>>>  I added a new test, FileResourceTest.  It fails in OWB, but passes
>> >> in
>> >>>>>  Weld.  AFAIK it's supposed to pass in both.
>> >>>>>
>> >>>>>  The one catch I noticed, since it has a similar test
>> >>>>>  ClasspathResourceTest, is that I'm using Instances/literals vs
>> >>>>>  annotations.  I need to use Instance since the actual file name is
>> >>>>>  dynamic at runtime.  In the test right now, I have this:
>> >>>>>
>> >>>>>      @Inject
>> >>>>>      @Any
>> >>>>>      private Instance<InputStream> inputStreamInst;
>> >>>>>
>> >>>>>      @Inject
>> >>>>>      @Any
>> >>>>>      private Instance<Properties> propsInst;
>> >>>>>
>> >>>>>  and when I switch to this:
>> >>>>>
>> >>>>>      @Inject
>> >>>>>      @ExternalResource(storage =
>> >>>>>
>> >> FileSystemStorage.class,location="/tmp/myconfig.properties")
>> >>>>>      private InputStream inputStream;
>> >>>>>
>> >>>>>      @Inject
>> >>>>>      @ExternalResource(storage =
>> >>>>>
>> >> FileSystemStorage.class,location="/tmp/myconfig.properties")
>> >>>>>      private Properties props;
>> >>>>>
>> >>>>>  The test works fine (assuming I create the file).  I don't
>> >> typically
>> >>>>>  play with OWB that much, but this should be the right format for
>> >>>>>  Instances, right?  Feedback is much appreciated.
>> >>>>>
>> >>>>>  Thanks,
>> >>>>>
>> >>>>>  John
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>
>> >>
>>
>
>

Re: Fwd: Support of Instance<> in OWB

Posted by Gerhard Petracek <ge...@gmail.com>.
@john:

you changed it to:

@Test
public void
testAmbiguousFileLookup(@ExternalResource(storage=ClasspathStorage.class,
location="META-INF/beans.xml") InputStream inputStream) {/*...*/}

-> the exception still occurs, but junit can't handle it any longer
(because it occurs too early).

regards,
gerhard



2013/12/29 John D. Ament <jo...@gmail.com>

> That's no big deal (& fixed).  I had to add a separate SE & WebProfile
> test since now we're checking for duplicates and the embedded/SE
> containers are picking up the target folders are bean archives (I hope
> TomEE embedded doesn't do this... >_< ).  Using method injection
> delays the injection, however we have a catch that /tmp must be your
> tmpdir (I haven't checked on windows yet, but I'm assuming c:/tmp
> should be fine..)
>
> @gerhard for some reason now your test doesn't throw a
> RuntimeException, but instead the injected instance is null.
>
> On Sun, Dec 29, 2013 at 6:18 AM, Mark Struberg <st...@yahoo.de> wrote:
> >
> >
> > Well, the explanation is not in the spec but in the JavaDoc.
> >
> > Compare
> >
> http://docs.jboss.org/cdi/api/1.0/javax/enterprise/inject/spi/InjectionPoint.html
> >
> > with the new wording in CDI-1.1
> >
> >
> http://docs.oracle.com/javaee/7/api/javax/enterprise/inject/spi/InjectionPoint.html
> >
> > I refer to the new sentence
> >
> > "If the injection point is a dynamically selected reference obtained
> then the metadata obtain reflects the injection point of the Instance, with
> the required type and any additional required qualifers defined by
> Instance.select()."
> >
> >
> > This theoretically should work in CDI-1.1 containers. Sadly there is no
> single implementation which implements this right now.
> > Weld does provide a synthetic InjectionPoint though, but it only
> contains the qualifiers and type of the select but misses all the
> information from the Instance<> injection.
> >
> >
> > As this is only needed for the test it might be a minor problem for us.
> Still thinking how we could improve this DeltaSpike test to not rely on
> this method.
> >
> >
> > Weld-folks, is there already a report on this in Weld, or should I
> create one?
> > I think the wording is clear, do we need to improve it in the CDI MR?
> >
> >
> > LieGrue,
> > strub
> >
> >
> > ----- Original Message -----
> >> From: John D. Ament <jo...@gmail.com>
> >> To: user@openwebbeans.apache.org; Mark Struberg <st...@yahoo.de>
> >> Cc:
> >> Sent: Saturday, 28 December 2013, 15:43
> >> Subject: Re: Fwd: Support of Instance<> in OWB
> >>
> >> Mark,
> >>
> >> Thanks for confirming.  I don't particularly see anything in 3.2 that
> >> clarifies this, but I'll take your word on it.
> >>
> >>
> >> On Fri, Dec 27, 2013 at 2:25 PM, Mark Struberg <st...@yahoo.de>
> wrote:
> >>>  Looked at it and did a few tests. And also checked what we have in the
> >> spec.
> >>>
> >>>  For CDI-1.0 containers a producer bean with an InjectionPoint should
> not be
> >> triggered manually. This is not required in CDI-1.0 (which OWB-1.2.x
> still is)
> >> but only got changed in CDI-1.1.
> >>>
> >>>  Please compare the JavaDocs of InjectionPoint for CDI-1.0 and 1.1 to
> see
> >> the difference.
> >>>
> >>>  I will nonetheless add it to OWB trunk as it is really useful feature.
> >>>
> >>>  thanks for the report!
> >>>  I've created OWB-921 for it.
> >>>
> >>>  LieGrue,
> >>>  strub
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>  ----- Original Message -----
> >>>>  From: Mark Struberg <st...@yahoo.de>
> >>>>  To: "user@openwebbeans.apache.org"
> >> <us...@openwebbeans.apache.org>
> >>>>  Cc:
> >>>>  Sent: Friday, 27 December 2013, 17:45
> >>>>  Subject: Re: Fwd: Support of Instance<> in OWB
> >>>>
> >>>>
> >>>>
> >>>>  Thanks John, we will investigate!
> >>>>
> >>>>  LieGrue,
> >>>>  strub
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>>  ________________________________
> >>>>
> >>>>>   From: John D. Ament <jo...@gmail.com>
> >>>>>  To: user@openwebbeans.apache.org
> >>>>>  Sent: Friday, 27 December 2013, 15:11
> >>>>>  Subject: Fwd: Support of Instance<> in OWB
> >>>>>
> >>>>>
> >>>>>  Hi all,
> >>>>>
> >>>>>  I'm cross-posting this from dev@deltaspike to see if anyone has
> >> any
> >>>>>  additional thoughts.
> >>>>>
> >>>>>
> >>>>>
> >>>>>  ---------- Forwarded message ----------
> >>>>>  From: John D. Ament <jo...@gmail.com>
> >>>>>  Date: Thu, Dec 26, 2013 at 10:36 PM
> >>>>>  Subject: Support of Instance<> in OWB
> >>>>>  To: dev@deltaspike.apache.org
> >>>>>
> >>>>>
> >>>>>  Hi all
> >>>>>
> >>>>>  I added a new test, FileResourceTest.  It fails in OWB, but passes
> >> in
> >>>>>  Weld.  AFAIK it's supposed to pass in both.
> >>>>>
> >>>>>  The one catch I noticed, since it has a similar test
> >>>>>  ClasspathResourceTest, is that I'm using Instances/literals vs
> >>>>>  annotations.  I need to use Instance since the actual file name is
> >>>>>  dynamic at runtime.  In the test right now, I have this:
> >>>>>
> >>>>>      @Inject
> >>>>>      @Any
> >>>>>      private Instance<InputStream> inputStreamInst;
> >>>>>
> >>>>>      @Inject
> >>>>>      @Any
> >>>>>      private Instance<Properties> propsInst;
> >>>>>
> >>>>>  and when I switch to this:
> >>>>>
> >>>>>      @Inject
> >>>>>      @ExternalResource(storage =
> >>>>>
> >> FileSystemStorage.class,location="/tmp/myconfig.properties")
> >>>>>      private InputStream inputStream;
> >>>>>
> >>>>>      @Inject
> >>>>>      @ExternalResource(storage =
> >>>>>
> >> FileSystemStorage.class,location="/tmp/myconfig.properties")
> >>>>>      private Properties props;
> >>>>>
> >>>>>  The test works fine (assuming I create the file).  I don't
> >> typically
> >>>>>  play with OWB that much, but this should be the right format for
> >>>>>  Instances, right?  Feedback is much appreciated.
> >>>>>
> >>>>>  Thanks,
> >>>>>
> >>>>>  John
> >>>>>
> >>>>>
> >>>>>
> >>>>
> >>
>

Re: Fwd: Support of Instance<> in OWB

Posted by "John D. Ament" <jo...@gmail.com>.
That's no big deal (& fixed).  I had to add a separate SE & WebProfile
test since now we're checking for duplicates and the embedded/SE
containers are picking up the target folders are bean archives (I hope
TomEE embedded doesn't do this... >_< ).  Using method injection
delays the injection, however we have a catch that /tmp must be your
tmpdir (I haven't checked on windows yet, but I'm assuming c:/tmp
should be fine..)

@gerhard for some reason now your test doesn't throw a
RuntimeException, but instead the injected instance is null.

On Sun, Dec 29, 2013 at 6:18 AM, Mark Struberg <st...@yahoo.de> wrote:
>
>
> Well, the explanation is not in the spec but in the JavaDoc.
>
> Compare
> http://docs.jboss.org/cdi/api/1.0/javax/enterprise/inject/spi/InjectionPoint.html
>
> with the new wording in CDI-1.1
>
> http://docs.oracle.com/javaee/7/api/javax/enterprise/inject/spi/InjectionPoint.html
>
> I refer to the new sentence
>
> "If the injection point is a dynamically selected reference obtained then the metadata obtain reflects the injection point of the Instance, with the required type and any additional required qualifers defined by Instance.select()."
>
>
> This theoretically should work in CDI-1.1 containers. Sadly there is no single implementation which implements this right now.
> Weld does provide a synthetic InjectionPoint though, but it only contains the qualifiers and type of the select but misses all the information from the Instance<> injection.
>
>
> As this is only needed for the test it might be a minor problem for us. Still thinking how we could improve this DeltaSpike test to not rely on this method.
>
>
> Weld-folks, is there already a report on this in Weld, or should I create one?
> I think the wording is clear, do we need to improve it in the CDI MR?
>
>
> LieGrue,
> strub
>
>
> ----- Original Message -----
>> From: John D. Ament <jo...@gmail.com>
>> To: user@openwebbeans.apache.org; Mark Struberg <st...@yahoo.de>
>> Cc:
>> Sent: Saturday, 28 December 2013, 15:43
>> Subject: Re: Fwd: Support of Instance<> in OWB
>>
>> Mark,
>>
>> Thanks for confirming.  I don't particularly see anything in 3.2 that
>> clarifies this, but I'll take your word on it.
>>
>>
>> On Fri, Dec 27, 2013 at 2:25 PM, Mark Struberg <st...@yahoo.de> wrote:
>>>  Looked at it and did a few tests. And also checked what we have in the
>> spec.
>>>
>>>  For CDI-1.0 containers a producer bean with an InjectionPoint should not be
>> triggered manually. This is not required in CDI-1.0 (which OWB-1.2.x still is)
>> but only got changed in CDI-1.1.
>>>
>>>  Please compare the JavaDocs of InjectionPoint for CDI-1.0 and 1.1 to see
>> the difference.
>>>
>>>  I will nonetheless add it to OWB trunk as it is really useful feature.
>>>
>>>  thanks for the report!
>>>  I've created OWB-921 for it.
>>>
>>>  LieGrue,
>>>  strub
>>>
>>>
>>>
>>>
>>>
>>>  ----- Original Message -----
>>>>  From: Mark Struberg <st...@yahoo.de>
>>>>  To: "user@openwebbeans.apache.org"
>> <us...@openwebbeans.apache.org>
>>>>  Cc:
>>>>  Sent: Friday, 27 December 2013, 17:45
>>>>  Subject: Re: Fwd: Support of Instance<> in OWB
>>>>
>>>>
>>>>
>>>>  Thanks John, we will investigate!
>>>>
>>>>  LieGrue,
>>>>  strub
>>>>
>>>>
>>>>
>>>>
>>>>>  ________________________________
>>>>
>>>>>   From: John D. Ament <jo...@gmail.com>
>>>>>  To: user@openwebbeans.apache.org
>>>>>  Sent: Friday, 27 December 2013, 15:11
>>>>>  Subject: Fwd: Support of Instance<> in OWB
>>>>>
>>>>>
>>>>>  Hi all,
>>>>>
>>>>>  I'm cross-posting this from dev@deltaspike to see if anyone has
>> any
>>>>>  additional thoughts.
>>>>>
>>>>>
>>>>>
>>>>>  ---------- Forwarded message ----------
>>>>>  From: John D. Ament <jo...@gmail.com>
>>>>>  Date: Thu, Dec 26, 2013 at 10:36 PM
>>>>>  Subject: Support of Instance<> in OWB
>>>>>  To: dev@deltaspike.apache.org
>>>>>
>>>>>
>>>>>  Hi all
>>>>>
>>>>>  I added a new test, FileResourceTest.  It fails in OWB, but passes
>> in
>>>>>  Weld.  AFAIK it's supposed to pass in both.
>>>>>
>>>>>  The one catch I noticed, since it has a similar test
>>>>>  ClasspathResourceTest, is that I'm using Instances/literals vs
>>>>>  annotations.  I need to use Instance since the actual file name is
>>>>>  dynamic at runtime.  In the test right now, I have this:
>>>>>
>>>>>      @Inject
>>>>>      @Any
>>>>>      private Instance<InputStream> inputStreamInst;
>>>>>
>>>>>      @Inject
>>>>>      @Any
>>>>>      private Instance<Properties> propsInst;
>>>>>
>>>>>  and when I switch to this:
>>>>>
>>>>>      @Inject
>>>>>      @ExternalResource(storage =
>>>>>
>> FileSystemStorage.class,location="/tmp/myconfig.properties")
>>>>>      private InputStream inputStream;
>>>>>
>>>>>      @Inject
>>>>>      @ExternalResource(storage =
>>>>>
>> FileSystemStorage.class,location="/tmp/myconfig.properties")
>>>>>      private Properties props;
>>>>>
>>>>>  The test works fine (assuming I create the file).  I don't
>> typically
>>>>>  play with OWB that much, but this should be the right format for
>>>>>  Instances, right?  Feedback is much appreciated.
>>>>>
>>>>>  Thanks,
>>>>>
>>>>>  John
>>>>>
>>>>>
>>>>>
>>>>
>>

Re: Fwd: Support of Instance<> in OWB

Posted by "John D. Ament" <jo...@gmail.com>.
That's no big deal (& fixed).  I had to add a separate SE & WebProfile
test since now we're checking for duplicates and the embedded/SE
containers are picking up the target folders are bean archives (I hope
TomEE embedded doesn't do this... >_< ).  Using method injection
delays the injection, however we have a catch that /tmp must be your
tmpdir (I haven't checked on windows yet, but I'm assuming c:/tmp
should be fine..)

@gerhard for some reason now your test doesn't throw a
RuntimeException, but instead the injected instance is null.

On Sun, Dec 29, 2013 at 6:18 AM, Mark Struberg <st...@yahoo.de> wrote:
>
>
> Well, the explanation is not in the spec but in the JavaDoc.
>
> Compare
> http://docs.jboss.org/cdi/api/1.0/javax/enterprise/inject/spi/InjectionPoint.html
>
> with the new wording in CDI-1.1
>
> http://docs.oracle.com/javaee/7/api/javax/enterprise/inject/spi/InjectionPoint.html
>
> I refer to the new sentence
>
> "If the injection point is a dynamically selected reference obtained then the metadata obtain reflects the injection point of the Instance, with the required type and any additional required qualifers defined by Instance.select()."
>
>
> This theoretically should work in CDI-1.1 containers. Sadly there is no single implementation which implements this right now.
> Weld does provide a synthetic InjectionPoint though, but it only contains the qualifiers and type of the select but misses all the information from the Instance<> injection.
>
>
> As this is only needed for the test it might be a minor problem for us. Still thinking how we could improve this DeltaSpike test to not rely on this method.
>
>
> Weld-folks, is there already a report on this in Weld, or should I create one?
> I think the wording is clear, do we need to improve it in the CDI MR?
>
>
> LieGrue,
> strub
>
>
> ----- Original Message -----
>> From: John D. Ament <jo...@gmail.com>
>> To: user@openwebbeans.apache.org; Mark Struberg <st...@yahoo.de>
>> Cc:
>> Sent: Saturday, 28 December 2013, 15:43
>> Subject: Re: Fwd: Support of Instance<> in OWB
>>
>> Mark,
>>
>> Thanks for confirming.  I don't particularly see anything in 3.2 that
>> clarifies this, but I'll take your word on it.
>>
>>
>> On Fri, Dec 27, 2013 at 2:25 PM, Mark Struberg <st...@yahoo.de> wrote:
>>>  Looked at it and did a few tests. And also checked what we have in the
>> spec.
>>>
>>>  For CDI-1.0 containers a producer bean with an InjectionPoint should not be
>> triggered manually. This is not required in CDI-1.0 (which OWB-1.2.x still is)
>> but only got changed in CDI-1.1.
>>>
>>>  Please compare the JavaDocs of InjectionPoint for CDI-1.0 and 1.1 to see
>> the difference.
>>>
>>>  I will nonetheless add it to OWB trunk as it is really useful feature.
>>>
>>>  thanks for the report!
>>>  I've created OWB-921 for it.
>>>
>>>  LieGrue,
>>>  strub
>>>
>>>
>>>
>>>
>>>
>>>  ----- Original Message -----
>>>>  From: Mark Struberg <st...@yahoo.de>
>>>>  To: "user@openwebbeans.apache.org"
>> <us...@openwebbeans.apache.org>
>>>>  Cc:
>>>>  Sent: Friday, 27 December 2013, 17:45
>>>>  Subject: Re: Fwd: Support of Instance<> in OWB
>>>>
>>>>
>>>>
>>>>  Thanks John, we will investigate!
>>>>
>>>>  LieGrue,
>>>>  strub
>>>>
>>>>
>>>>
>>>>
>>>>>  ________________________________
>>>>
>>>>>   From: John D. Ament <jo...@gmail.com>
>>>>>  To: user@openwebbeans.apache.org
>>>>>  Sent: Friday, 27 December 2013, 15:11
>>>>>  Subject: Fwd: Support of Instance<> in OWB
>>>>>
>>>>>
>>>>>  Hi all,
>>>>>
>>>>>  I'm cross-posting this from dev@deltaspike to see if anyone has
>> any
>>>>>  additional thoughts.
>>>>>
>>>>>
>>>>>
>>>>>  ---------- Forwarded message ----------
>>>>>  From: John D. Ament <jo...@gmail.com>
>>>>>  Date: Thu, Dec 26, 2013 at 10:36 PM
>>>>>  Subject: Support of Instance<> in OWB
>>>>>  To: dev@deltaspike.apache.org
>>>>>
>>>>>
>>>>>  Hi all
>>>>>
>>>>>  I added a new test, FileResourceTest.  It fails in OWB, but passes
>> in
>>>>>  Weld.  AFAIK it's supposed to pass in both.
>>>>>
>>>>>  The one catch I noticed, since it has a similar test
>>>>>  ClasspathResourceTest, is that I'm using Instances/literals vs
>>>>>  annotations.  I need to use Instance since the actual file name is
>>>>>  dynamic at runtime.  In the test right now, I have this:
>>>>>
>>>>>      @Inject
>>>>>      @Any
>>>>>      private Instance<InputStream> inputStreamInst;
>>>>>
>>>>>      @Inject
>>>>>      @Any
>>>>>      private Instance<Properties> propsInst;
>>>>>
>>>>>  and when I switch to this:
>>>>>
>>>>>      @Inject
>>>>>      @ExternalResource(storage =
>>>>>
>> FileSystemStorage.class,location="/tmp/myconfig.properties")
>>>>>      private InputStream inputStream;
>>>>>
>>>>>      @Inject
>>>>>      @ExternalResource(storage =
>>>>>
>> FileSystemStorage.class,location="/tmp/myconfig.properties")
>>>>>      private Properties props;
>>>>>
>>>>>  The test works fine (assuming I create the file).  I don't
>> typically
>>>>>  play with OWB that much, but this should be the right format for
>>>>>  Instances, right?  Feedback is much appreciated.
>>>>>
>>>>>  Thanks,
>>>>>
>>>>>  John
>>>>>
>>>>>
>>>>>
>>>>
>>

Re: Fwd: Support of Instance<> in OWB

Posted by Mark Struberg <st...@yahoo.de>.

Well, the explanation is not in the spec but in the JavaDoc. 

Compare 
http://docs.jboss.org/cdi/api/1.0/javax/enterprise/inject/spi/InjectionPoint.html

with the new wording in CDI-1.1

http://docs.oracle.com/javaee/7/api/javax/enterprise/inject/spi/InjectionPoint.html

I refer to the new sentence

"If the injection point is a dynamically selected reference obtained then the metadata obtain reflects the injection point of the Instance, with the required type and any additional required qualifers defined by Instance.select()." 


This theoretically should work in CDI-1.1 containers. Sadly there is no single implementation which implements this right now.
Weld does provide a synthetic InjectionPoint though, but it only contains the qualifiers and type of the select but misses all the information from the Instance<> injection. 


As this is only needed for the test it might be a minor problem for us. Still thinking how we could improve this DeltaSpike test to not rely on this method.


Weld-folks, is there already a report on this in Weld, or should I create one?
I think the wording is clear, do we need to improve it in the CDI MR?


LieGrue,
strub


----- Original Message -----
> From: John D. Ament <jo...@gmail.com>
> To: user@openwebbeans.apache.org; Mark Struberg <st...@yahoo.de>
> Cc: 
> Sent: Saturday, 28 December 2013, 15:43
> Subject: Re: Fwd: Support of Instance<> in OWB
> 
> Mark,
> 
> Thanks for confirming.  I don't particularly see anything in 3.2 that
> clarifies this, but I'll take your word on it.
> 
> 
> On Fri, Dec 27, 2013 at 2:25 PM, Mark Struberg <st...@yahoo.de> wrote:
>>  Looked at it and did a few tests. And also checked what we have in the 
> spec.
>> 
>>  For CDI-1.0 containers a producer bean with an InjectionPoint should not be 
> triggered manually. This is not required in CDI-1.0 (which OWB-1.2.x still is) 
> but only got changed in CDI-1.1.
>> 
>>  Please compare the JavaDocs of InjectionPoint for CDI-1.0 and 1.1 to see 
> the difference.
>> 
>>  I will nonetheless add it to OWB trunk as it is really useful feature.
>> 
>>  thanks for the report!
>>  I've created OWB-921 for it.
>> 
>>  LieGrue,
>>  strub
>> 
>> 
>> 
>> 
>> 
>>  ----- Original Message -----
>>>  From: Mark Struberg <st...@yahoo.de>
>>>  To: "user@openwebbeans.apache.org" 
> <us...@openwebbeans.apache.org>
>>>  Cc:
>>>  Sent: Friday, 27 December 2013, 17:45
>>>  Subject: Re: Fwd: Support of Instance<> in OWB
>>> 
>>> 
>>> 
>>>  Thanks John, we will investigate!
>>> 
>>>  LieGrue,
>>>  strub
>>> 
>>> 
>>> 
>>> 
>>>>  ________________________________
>>> 
>>>>   From: John D. Ament <jo...@gmail.com>
>>>>  To: user@openwebbeans.apache.org
>>>>  Sent: Friday, 27 December 2013, 15:11
>>>>  Subject: Fwd: Support of Instance<> in OWB
>>>> 
>>>> 
>>>>  Hi all,
>>>> 
>>>>  I'm cross-posting this from dev@deltaspike to see if anyone has 
> any
>>>>  additional thoughts.
>>>> 
>>>> 
>>>> 
>>>>  ---------- Forwarded message ----------
>>>>  From: John D. Ament <jo...@gmail.com>
>>>>  Date: Thu, Dec 26, 2013 at 10:36 PM
>>>>  Subject: Support of Instance<> in OWB
>>>>  To: dev@deltaspike.apache.org
>>>> 
>>>> 
>>>>  Hi all
>>>> 
>>>>  I added a new test, FileResourceTest.  It fails in OWB, but passes 
> in
>>>>  Weld.  AFAIK it's supposed to pass in both.
>>>> 
>>>>  The one catch I noticed, since it has a similar test
>>>>  ClasspathResourceTest, is that I'm using Instances/literals vs
>>>>  annotations.  I need to use Instance since the actual file name is
>>>>  dynamic at runtime.  In the test right now, I have this:
>>>> 
>>>>      @Inject
>>>>      @Any
>>>>      private Instance<InputStream> inputStreamInst;
>>>> 
>>>>      @Inject
>>>>      @Any
>>>>      private Instance<Properties> propsInst;
>>>> 
>>>>  and when I switch to this:
>>>> 
>>>>      @Inject
>>>>      @ExternalResource(storage =
>>>> 
> FileSystemStorage.class,location="/tmp/myconfig.properties")
>>>>      private InputStream inputStream;
>>>> 
>>>>      @Inject
>>>>      @ExternalResource(storage =
>>>> 
> FileSystemStorage.class,location="/tmp/myconfig.properties")
>>>>      private Properties props;
>>>> 
>>>>  The test works fine (assuming I create the file).  I don't 
> typically
>>>>  play with OWB that much, but this should be the right format for
>>>>  Instances, right?  Feedback is much appreciated.
>>>> 
>>>>  Thanks,
>>>> 
>>>>  John
>>>> 
>>>> 
>>>> 
>>> 
> 

Re: Fwd: Support of Instance<> in OWB

Posted by Mark Struberg <st...@yahoo.de>.

Well, the explanation is not in the spec but in the JavaDoc. 

Compare 
http://docs.jboss.org/cdi/api/1.0/javax/enterprise/inject/spi/InjectionPoint.html

with the new wording in CDI-1.1

http://docs.oracle.com/javaee/7/api/javax/enterprise/inject/spi/InjectionPoint.html

I refer to the new sentence

"If the injection point is a dynamically selected reference obtained then the metadata obtain reflects the injection point of the Instance, with the required type and any additional required qualifers defined by Instance.select()." 


This theoretically should work in CDI-1.1 containers. Sadly there is no single implementation which implements this right now.
Weld does provide a synthetic InjectionPoint though, but it only contains the qualifiers and type of the select but misses all the information from the Instance<> injection. 


As this is only needed for the test it might be a minor problem for us. Still thinking how we could improve this DeltaSpike test to not rely on this method.


Weld-folks, is there already a report on this in Weld, or should I create one?
I think the wording is clear, do we need to improve it in the CDI MR?


LieGrue,
strub


----- Original Message -----
> From: John D. Ament <jo...@gmail.com>
> To: user@openwebbeans.apache.org; Mark Struberg <st...@yahoo.de>
> Cc: 
> Sent: Saturday, 28 December 2013, 15:43
> Subject: Re: Fwd: Support of Instance<> in OWB
> 
> Mark,
> 
> Thanks for confirming.  I don't particularly see anything in 3.2 that
> clarifies this, but I'll take your word on it.
> 
> 
> On Fri, Dec 27, 2013 at 2:25 PM, Mark Struberg <st...@yahoo.de> wrote:
>>  Looked at it and did a few tests. And also checked what we have in the 
> spec.
>> 
>>  For CDI-1.0 containers a producer bean with an InjectionPoint should not be 
> triggered manually. This is not required in CDI-1.0 (which OWB-1.2.x still is) 
> but only got changed in CDI-1.1.
>> 
>>  Please compare the JavaDocs of InjectionPoint for CDI-1.0 and 1.1 to see 
> the difference.
>> 
>>  I will nonetheless add it to OWB trunk as it is really useful feature.
>> 
>>  thanks for the report!
>>  I've created OWB-921 for it.
>> 
>>  LieGrue,
>>  strub
>> 
>> 
>> 
>> 
>> 
>>  ----- Original Message -----
>>>  From: Mark Struberg <st...@yahoo.de>
>>>  To: "user@openwebbeans.apache.org" 
> <us...@openwebbeans.apache.org>
>>>  Cc:
>>>  Sent: Friday, 27 December 2013, 17:45
>>>  Subject: Re: Fwd: Support of Instance<> in OWB
>>> 
>>> 
>>> 
>>>  Thanks John, we will investigate!
>>> 
>>>  LieGrue,
>>>  strub
>>> 
>>> 
>>> 
>>> 
>>>>  ________________________________
>>> 
>>>>   From: John D. Ament <jo...@gmail.com>
>>>>  To: user@openwebbeans.apache.org
>>>>  Sent: Friday, 27 December 2013, 15:11
>>>>  Subject: Fwd: Support of Instance<> in OWB
>>>> 
>>>> 
>>>>  Hi all,
>>>> 
>>>>  I'm cross-posting this from dev@deltaspike to see if anyone has 
> any
>>>>  additional thoughts.
>>>> 
>>>> 
>>>> 
>>>>  ---------- Forwarded message ----------
>>>>  From: John D. Ament <jo...@gmail.com>
>>>>  Date: Thu, Dec 26, 2013 at 10:36 PM
>>>>  Subject: Support of Instance<> in OWB
>>>>  To: dev@deltaspike.apache.org
>>>> 
>>>> 
>>>>  Hi all
>>>> 
>>>>  I added a new test, FileResourceTest.  It fails in OWB, but passes 
> in
>>>>  Weld.  AFAIK it's supposed to pass in both.
>>>> 
>>>>  The one catch I noticed, since it has a similar test
>>>>  ClasspathResourceTest, is that I'm using Instances/literals vs
>>>>  annotations.  I need to use Instance since the actual file name is
>>>>  dynamic at runtime.  In the test right now, I have this:
>>>> 
>>>>      @Inject
>>>>      @Any
>>>>      private Instance<InputStream> inputStreamInst;
>>>> 
>>>>      @Inject
>>>>      @Any
>>>>      private Instance<Properties> propsInst;
>>>> 
>>>>  and when I switch to this:
>>>> 
>>>>      @Inject
>>>>      @ExternalResource(storage =
>>>> 
> FileSystemStorage.class,location="/tmp/myconfig.properties")
>>>>      private InputStream inputStream;
>>>> 
>>>>      @Inject
>>>>      @ExternalResource(storage =
>>>> 
> FileSystemStorage.class,location="/tmp/myconfig.properties")
>>>>      private Properties props;
>>>> 
>>>>  The test works fine (assuming I create the file).  I don't 
> typically
>>>>  play with OWB that much, but this should be the right format for
>>>>  Instances, right?  Feedback is much appreciated.
>>>> 
>>>>  Thanks,
>>>> 
>>>>  John
>>>> 
>>>> 
>>>> 
>>> 
> 

Re: Fwd: Support of Instance<> in OWB

Posted by "John D. Ament" <jo...@gmail.com>.
Mark,

Thanks for confirming.  I don't particularly see anything in 3.2 that
clarifies this, but I'll take your word on it.

On Fri, Dec 27, 2013 at 2:25 PM, Mark Struberg <st...@yahoo.de> wrote:
> Looked at it and did a few tests. And also checked what we have in the spec.
>
> For CDI-1.0 containers a producer bean with an InjectionPoint should not be triggered manually. This is not required in CDI-1.0 (which OWB-1.2.x still is) but only got changed in CDI-1.1.
>
> Please compare the JavaDocs of InjectionPoint for CDI-1.0 and 1.1 to see the difference.
>
> I will nonetheless add it to OWB trunk as it is really useful feature.
>
> thanks for the report!
> I've created OWB-921 for it.
>
> LieGrue,
> strub
>
>
>
>
>
> ----- Original Message -----
>> From: Mark Struberg <st...@yahoo.de>
>> To: "user@openwebbeans.apache.org" <us...@openwebbeans.apache.org>
>> Cc:
>> Sent: Friday, 27 December 2013, 17:45
>> Subject: Re: Fwd: Support of Instance<> in OWB
>>
>>
>>
>> Thanks John, we will investigate!
>>
>> LieGrue,
>> strub
>>
>>
>>
>>
>>> ________________________________
>>
>>>  From: John D. Ament <jo...@gmail.com>
>>> To: user@openwebbeans.apache.org
>>> Sent: Friday, 27 December 2013, 15:11
>>> Subject: Fwd: Support of Instance<> in OWB
>>>
>>>
>>> Hi all,
>>>
>>> I'm cross-posting this from dev@deltaspike to see if anyone has any
>>> additional thoughts.
>>>
>>>
>>>
>>> ---------- Forwarded message ----------
>>> From: John D. Ament <jo...@gmail.com>
>>> Date: Thu, Dec 26, 2013 at 10:36 PM
>>> Subject: Support of Instance<> in OWB
>>> To: dev@deltaspike.apache.org
>>>
>>>
>>> Hi all
>>>
>>> I added a new test, FileResourceTest.  It fails in OWB, but passes in
>>> Weld.  AFAIK it's supposed to pass in both.
>>>
>>> The one catch I noticed, since it has a similar test
>>> ClasspathResourceTest, is that I'm using Instances/literals vs
>>> annotations.  I need to use Instance since the actual file name is
>>> dynamic at runtime.  In the test right now, I have this:
>>>
>>>     @Inject
>>>     @Any
>>>     private Instance<InputStream> inputStreamInst;
>>>
>>>     @Inject
>>>     @Any
>>>     private Instance<Properties> propsInst;
>>>
>>> and when I switch to this:
>>>
>>>     @Inject
>>>     @ExternalResource(storage =
>>> FileSystemStorage.class,location="/tmp/myconfig.properties")
>>>     private InputStream inputStream;
>>>
>>>     @Inject
>>>     @ExternalResource(storage =
>>> FileSystemStorage.class,location="/tmp/myconfig.properties")
>>>     private Properties props;
>>>
>>> The test works fine (assuming I create the file).  I don't typically
>>> play with OWB that much, but this should be the right format for
>>> Instances, right?  Feedback is much appreciated.
>>>
>>> Thanks,
>>>
>>> John
>>>
>>>
>>>
>>

Re: Fwd: Support of Instance<> in OWB

Posted by Mark Struberg <st...@yahoo.de>.
Looked at it and did a few tests. And also checked what we have in the spec.

For CDI-1.0 containers a producer bean with an InjectionPoint should not be triggered manually. This is not required in CDI-1.0 (which OWB-1.2.x still is) but only got changed in CDI-1.1. 

Please compare the JavaDocs of InjectionPoint for CDI-1.0 and 1.1 to see the difference. 

I will nonetheless add it to OWB trunk as it is really useful feature.

thanks for the report!
I've created OWB-921 for it.

LieGrue,
strub





----- Original Message -----
> From: Mark Struberg <st...@yahoo.de>
> To: "user@openwebbeans.apache.org" <us...@openwebbeans.apache.org>
> Cc: 
> Sent: Friday, 27 December 2013, 17:45
> Subject: Re: Fwd: Support of Instance<> in OWB
> 
> 
> 
> Thanks John, we will investigate!
> 
> LieGrue,
> strub
> 
> 
> 
> 
>> ________________________________
> 
>>  From: John D. Ament <jo...@gmail.com>
>> To: user@openwebbeans.apache.org 
>> Sent: Friday, 27 December 2013, 15:11
>> Subject: Fwd: Support of Instance<> in OWB
>> 
>> 
>> Hi all,
>> 
>> I'm cross-posting this from dev@deltaspike to see if anyone has any
>> additional thoughts.
>> 
>> 
>> 
>> ---------- Forwarded message ----------
>> From: John D. Ament <jo...@gmail.com>
>> Date: Thu, Dec 26, 2013 at 10:36 PM
>> Subject: Support of Instance<> in OWB
>> To: dev@deltaspike.apache.org
>> 
>> 
>> Hi all
>> 
>> I added a new test, FileResourceTest.  It fails in OWB, but passes in
>> Weld.  AFAIK it's supposed to pass in both.
>> 
>> The one catch I noticed, since it has a similar test
>> ClasspathResourceTest, is that I'm using Instances/literals vs
>> annotations.  I need to use Instance since the actual file name is
>> dynamic at runtime.  In the test right now, I have this:
>> 
>>     @Inject
>>     @Any
>>     private Instance<InputStream> inputStreamInst;
>> 
>>     @Inject
>>     @Any
>>     private Instance<Properties> propsInst;
>> 
>> and when I switch to this:
>> 
>>     @Inject
>>     @ExternalResource(storage =
>> FileSystemStorage.class,location="/tmp/myconfig.properties")
>>     private InputStream inputStream;
>> 
>>     @Inject
>>     @ExternalResource(storage =
>> FileSystemStorage.class,location="/tmp/myconfig.properties")
>>     private Properties props;
>> 
>> The test works fine (assuming I create the file).  I don't typically
>> play with OWB that much, but this should be the right format for
>> Instances, right?  Feedback is much appreciated.
>> 
>> Thanks,
>> 
>> John
>> 
>> 
>> 
> 

Re: Fwd: Support of Instance<> in OWB

Posted by Mark Struberg <st...@yahoo.de>.

Thanks John, we will investigate!

LieGrue,
strub




>________________________________
> From: John D. Ament <jo...@gmail.com>
>To: user@openwebbeans.apache.org 
>Sent: Friday, 27 December 2013, 15:11
>Subject: Fwd: Support of Instance<> in OWB
> 
>
>Hi all,
>
>I'm cross-posting this from dev@deltaspike to see if anyone has any
>additional thoughts.
>
>
>
>---------- Forwarded message ----------
>From: John D. Ament <jo...@gmail.com>
>Date: Thu, Dec 26, 2013 at 10:36 PM
>Subject: Support of Instance<> in OWB
>To: dev@deltaspike.apache.org
>
>
>Hi all
>
>I added a new test, FileResourceTest.  It fails in OWB, but passes in
>Weld.  AFAIK it's supposed to pass in both.
>
>The one catch I noticed, since it has a similar test
>ClasspathResourceTest, is that I'm using Instances/literals vs
>annotations.  I need to use Instance since the actual file name is
>dynamic at runtime.  In the test right now, I have this:
>
>    @Inject
>    @Any
>    private Instance<InputStream> inputStreamInst;
>
>    @Inject
>    @Any
>    private Instance<Properties> propsInst;
>
>and when I switch to this:
>
>    @Inject
>    @ExternalResource(storage =
>FileSystemStorage.class,location="/tmp/myconfig.properties")
>    private InputStream inputStream;
>
>    @Inject
>    @ExternalResource(storage =
>FileSystemStorage.class,location="/tmp/myconfig.properties")
>    private Properties props;
>
>The test works fine (assuming I create the file).  I don't typically
>play with OWB that much, but this should be the right format for
>Instances, right?  Feedback is much appreciated.
>
>Thanks,
>
>John
>
>
>