Hi Martin,

I have a few questions. Apache JIRA is not working properly (I am unable log in), so I will ask them here:

  1. Can we handle the dialog case better for cases when the delegate NavigationHandler is unable to provide the navigation case
    (navigationCase is null)? I think we could essentially execute the old code (call handleNavigation(), but save the viewMap before the call
    and then restore it after).
  2. Given that we need to handle the scenario without a navigationCase (see above), wouldn't it be simpler to just keep the old code and
    save/restore the viewMap?
Thanks,
Max

Martin Koci (JIRA) wrote:
     [ https://issues.apache.org/jira/browse/TRINIDAD-1600?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Martin Koci updated TRINIDAD-1600:
----------------------------------

    Status: Patch Available  (was: Open)

  
Trinidad2 - Dialog navigation clears View Scope
-----------------------------------------------

                Key: TRINIDAD-1600
                URL: https://issues.apache.org/jira/browse/TRINIDAD-1600
            Project: MyFaces Trinidad
         Issue Type: Bug
   Affects Versions: 2.0.0-core
        Environment: Trinidad 2.0 branch, JSF RI 2.0.0RC2
           Reporter: Martin Koci
        Attachments: patch.txt


JSF 2.0 introduces new scope "View Scope" implemented with a Map UIViewRoot.viewMap. Spec also says that call FacesConfig.setViewRoot() clears that Map.
Problem: Trinidad NavigationHandler uses method handleNavigation for detection if a dialog navigation will be performed - however that method creates new UIViewRoot and sets it to FacesContext -> clears view scope. If user places managed bean into view scope and starts a dialog: navigation on that view, bean is removed and new instance of the bean is created after dialog return.
Solution: use new JSF 2.0 ConfigurableNavigationHandler API
    

  

Reply via email to