You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@deltaspike.apache.org by "Gerhard Petracek (JIRA)" <ji...@apache.org> on 2014/02/18 13:15:19 UTC
[jira] [Updated] (DELTASPIKE-524) illegal implementation of
SecurityAwareViewHandler
[ https://issues.apache.org/jira/browse/DELTASPIKE-524?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gerhard Petracek updated DELTASPIKE-524:
----------------------------------------
Attachment: DELTASPIKE-524.patch
> 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
> Assignee: Gerhard Petracek
> Attachments: DELTASPIKE-524.patch
>
>
> 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)