[ https://issues.apache.org/jira/browse/DELTASPIKE-599?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gerhard Petracek updated DELTASPIKE-599: ---------------------------------------- Priority: Minor (was: Major) changed to minor, because the annotated-mode is broken in cdi 1.1 anyway (no stereotype support,...) workaround: don't use this mode in the web-app module > CDI 1.1 friendly ViewConfig discovery > ------------------------------------- > > Key: DELTASPIKE-599 > URL: https://issues.apache.org/jira/browse/DELTASPIKE-599 > Project: DeltaSpike > Issue Type: Improvement > Components: JSF-Module > Affects Versions: 0.7 > Reporter: Richard DiCroce > Priority: Minor > > CDI 1.1 introduced the "annotated" bean discovery mode. In this mode, > ProcessAnnotatedType observers in CDI extensions are only called for classes > that have CDI scope annotations. This is inconvenient for ViewConfigs, as it > requires that every class (page) must be annotated with @Dependent: > {code} > public interface Pages extends ViewConfig { > @Dependent > class Index implements Pages {} > > @Secured({AuthenticatedDecisionVoter.class, > PermissionDecisionVoter.class}) > interface SecuredByRoleAttribute extends Pages { > @Dependent > class TestPage implements SecuredByRoleAttribute {} > } > > @Secured(AuthenticatedDecisionVoter.class) > interface NoAuthorization extends Pages { > @Dependent > class TestPage implements NoAuthorization {} > } > > } > {code} > Another workaround would be to make a base class that is marked @Dependent > and have all of the pages extend that class, but that's not really any better > in terms of the amount of boilerplate. > It would be nice if there were another way to discover ViewConfig classes. > One idea: the application provides a producer method/field with some > qualifier that provides the outer-most ViewConfig interface (Pages.class in > the above example). Then DS injects Instance<Class<? extends ViewConfig>> and > uses Class.getDeclaredClasses() to walk the tree. -- This message was sent by Atlassian JIRA (v6.2#6252)