You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@deltaspike.apache.org by "Markus Schulz (JIRA)" <ji...@apache.org> on 2014/02/18 12:49:19 UTC
[jira] [Created] (DELTASPIKE-524) illegal implementation of
SecurityAwareViewHandler
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)