Markus Schulz created DELTASPIKE-524:
----------------------------------------

             Summary: illegal implementation of SecurityAwareViewHandler
                 Key: DELTASPIKE-524
                 URL: https://issues.apache.org/jira/browse/DELTASPIKE-524
             Project: DeltaSpike
          Issue Type: Bug
          Components: JSF-Module
    Affects Versions: 0.5
            Reporter: Markus Schulz


the implementation of the SecurityAwareViewHandler use something like this:

{quote}
public UIViewRoot createView(FacesContext context, String viewId)
{
..
        context.setViewRoot(result);
...
            if (originalViewRoot != null)
            {
                context.setViewRoot(originalViewRoot);
            }
..
}
{quote}

But the call to context.setViewRoot(..) will clear the viewMap of the current 
active ViewRoot and therefore it destroys the state of current view.

Sample:

ViewDeclarationLanguage vdl = 
context.getApplication().getViewHandler().getViewDeclarationLanguage(context, 
cleanTargetViewName);
ViewMetadata viewMetadata = vdl.getViewMetadata(context, cleanTargetViewName);
UIViewRoot viewRoot = viewMetadata.createMetadataView(context);
targetViewParams = ViewMetadata.getViewParameters(viewRoot);

the call to viewMetadata.createMetadataView(context) will destroy my current 
viewMap. 
That should not be happen.




--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to