[ https://issues.apache.org/jira/browse/DELTASPIKE-524?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Gerhard Petracek updated DELTASPIKE-524: ---------------------------------------- Summary: preserve view-parameters (was: illegal implementation of SecurityAwareViewHandler) > preserve view-parameters > ------------------------ > > 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 > Fix For: 0.6 > > 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)