openwebbeans-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "John D. Ament" <john.d.am...@gmail.com>
Subject Re: Fwd: Support of Instance<> in OWB
Date Sun, 29 Dec 2013 14:44:43 GMT
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 <struberg@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 <john.d.ament@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 <struberg@yahoo.de>
>>>>  To: "user@openwebbeans.apache.org"
>> <user@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 <john.d.ament@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 <john.d.ament@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
>>>>>
>>>>>
>>>>>
>>>>
>>

Mime
View raw message