Thanks Pete. InjectionPoint.getQualifers() works like a charm.
On Thu, Apr 8, 2010 at 11:05 AM, Pete Muir <pmuir(a)redhat.com> wrote:
Ah, I see the problem, you are calling ip.*getAnnotated* - this (IMO
correctly) does not reflect the qualifiers applied via select(), but the
annotated object. Use ip.getQualifiers() instead.
On 8 Apr 2010, at 14:13, Pete Muir wrote:
> I mean, can you file a JIRA and put the code below in it?
>
> On 8 Apr 2010, at 14:12, Pete Muir wrote:
>
>> Ok, can you write a test case for this?
>>
>> On 8 Apr 2010, at 13:23, Jordan Ganoff wrote:
>>
>>> I'm using Weld 1.0.1 Final. You fixed a very similar bug:
https://jira.jboss.org/jira/browse/WELD-438. From your comment on the
JIRA it sounded like the selected annotations were fixed as well but that's
not the behavior I'm seeing.
>>>
>>> On Thu, Apr 8, 2010 at 7:38 AM, Pete Muir <pmuir(a)redhat.com> wrote:
>>> Are you using Weld 1.0.1 - I fixed this there IIRC.
>>>
>>> On 8 Apr 2010, at 02:45, Jordan Ganoff wrote:
>>>
>>>> I was testing out a simple idea for another JMS injection type and ran
into an issue with Instance.get() and additional select annotations. The
InjectionPoint of the producer lacked the additional selected annotations.
I'm trying to create a TopicProducer and need to dynamically inject a
topic. When the topic producer is invoked the InjectionPoint does not
contain the JmsDestination (the annotations are only @Inject and @Any, which
seems like @Inject shouldn't be there either). Is there a better way to do
this?
>>>>
>>>> Here's the code:
>>>>
>>>> @Inject @Any Instance<Topic> anyTopic;
>>>>
>>>> @Produces @JmsDestination
>>>> public TopicPublisher createTopicProducer(InjectionPoint ip, Session
s) throws JMSException
>>>> {
>>>> Topic t =
anyTopic.select(ip.getAnnotated().getAnnotation(JmsDestination.class)).get();
>>>> return TopicPublisher.class.cast(s.createProducer(t));
>>>> }
>>>>
>>>> ...
>>>>
>>>> @Produces
>>>> @JmsDestination
>>>> public Topic getTopic(InjectionPoint ip, @Module Context c) throws
NamingException
>>>> {
>>>> JmsDestination d =
ip.getAnnotated().getAnnotation(JmsDestination.class);
>>>> return (Topic) c.lookup(d.jndiName());
>>>> }
>>>>
>>>> Thanks in advance.
>>>>
>>>> P.S. Actual code links:
>>>>
>>>>
http://gist.github.com/359673
>>>>
http://github.com/jganoff/seam3-jms/blob/master/src/main/java/org/jboss/s...
>>>> --
>>>> Jordan Ganoff
>>>> _______________________________________________
>>>> weld-dev mailing list
>>>> weld-dev(a)lists.jboss.org
>>>>
https://lists.jboss.org/mailman/listinfo/weld-dev
>>>
>>>
>>>
>>>
>>> --
>>> Jordan Ganoff
>>
>
>
> _______________________________________________
> weld-dev mailing list
> weld-dev(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/weld-dev
_______________________________________________
weld-dev mailing list
weld-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/weld-dev