Hi John,
Bean.getInjectionPoints() is only used during validation - returned
injection points are validated at initialization time, so for a custom
bean it makes sense to return an empty set as there are no real
injection points.
WRT lookup - what exactly do you try to accomplish? Do you try to obtain
InjectionPoint metadata from inside a custom dependent bean's create()
method? This should be possible although not clearly specified. I think
we have a test with BeanManager.getInjectableReference(InjectionPoint,
CreationalContext<?>) but I will need to double check.
I will also look at the geronimo-config repo.
Martin
Dne 4.8.2017 v 11:42 John D. Ament napsal(a):
Hi
As the subject says. I have a library that registers a custom
implementation of Bean, which has a method
@Override
public Set<InjectionPoint> getInjectionPoints() {
return Collections.emptySet();
}
When testing this on Weld3, I have code that looks up the injection
point, to find the annotations present. However, the following
injection point lookup fails:
private static InjectionPoint findInjectionPoint(final BeanManager
bm, final CreationalContext<?> ctx) {
return InjectionPoint.class.cast(
bm.getReference(bm.resolve(bm.getBeans(InjectionPoint.class)),
InjectionPoint.class, ctx));
}
so based on a CreationalContext I'm looking for InjectionPoint. Maybe
there's a different way that this is supposed to work? If you're
interested in giving it a shot, take a look at
https://github.com/apache/geronimo-config and run the Weld3 profile to
replicate the issue.
John
_______________________________________________
weld-dev mailing list
weld-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/weld-dev
--
Martin Kouba
Senior Software Engineer
Red Hat, Czech Republic