You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@myfaces.apache.org by "Gerhard Petracek (JIRA)" <de...@myfaces.apache.org> on 2010/12/22 12:59:01 UTC
[jira] Resolved: (EXTCDI-72) support for view-config inheritance in
case of nested interfaces
[ https://issues.apache.org/jira/browse/EXTCDI-72?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gerhard Petracek resolved EXTCDI-72.
------------------------------------
Resolution: Fixed
Fix Version/s: 0.9.2
> support for view-config inheritance in case of nested interfaces
> ----------------------------------------------------------------
>
> Key: EXTCDI-72
> URL: https://issues.apache.org/jira/browse/EXTCDI-72
> Project: MyFaces CODI
> Issue Type: Improvement
> Components: Core
> Affects Versions: 0.9.0
> Reporter: Gerhard Petracek
> Priority: Minor
> Fix For: 0.9.2
>
> Attachments: EXTCDI-72.patch
>
>
> currently it's possible to provide configs via inheritance
> e.g.:
> @Page(navigation = REDIRECT)
> public abstract class Pages implements ViewConfig
> {
> @Page
> public final class Page1 extends Pages
> {
> }
> @Page
> public final class Page2 extends Pages
> {
> }
> }
> ... navigation to Page1 and Page2 will be done via a redirect (because the config is inherited).
> in case of deeper nesting you can't use every nested class for providing configs for the nested classes
> e.g.:
> //@Page(...)
> public class Pages implements ViewConfig
> {
> public class UseCase1 extends Pages
> {
> //@Page(...)
> public class Wizard1 extends Pages
> {
> @Page
> public final class Step1 extends Wizard1
> {
> }
> @Page
> public final class Step2 extends Wizard1
> {
> }
> }
> }
> }
> ... allows to provide centralized configs for Step1 and Step2 at Wizard1 and Pages (because they inherit them in-/directly), however, in this case it isn't possible to provide shared meta-data at UseCase1. so it's just used for the path to the page. as an alternative to the UseCase1 level it's possible to remove it and provide a basePath (which contains the useCase1 folder) manually.
> it should be possible to use:
> public interface Pages extends ViewConfig
> {
> //@Page(...)
> public interface UseCase1 extends Pages
> {
> public interface Wizard1 extends UseCase1
> {
> @Page
> public final class Step1 implements Wizard1
> {
> }
> @Page
> public final class Step2 implements Wizard1
> {
> }
> }
> }
> }
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.