[
https://issues.apache.org/jira/browse/PB-78?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12610624#action_12610624
]
David Sean Taylor commented on PB-78:
-------------------------------------
I committed your patch. Please review and let me know if it works for you:
http://svn.apache.org/viewvc?view=rev&revision=674092
> FacesPortlet does not check view id if it is null before it calls to
> restoreView in ActionRequest
> -------------------------------------------------------------------------------------------------
>
> Key: PB-78
> URL: https://issues.apache.org/jira/browse/PB-78
> Project: Portals Bridges
> Issue Type: Bug
> Components: jsf
> Affects Versions: 1.0.4
> Environment: Sun JSF Reference Implementation version 1.2
> (jsf-impl.jar),
> Websphere portlet container version 6.1.0
> Apache MyFaces JSF portal bridge version 1.0.4 (portals-bridges-jsf-1.0.4.jar)
> Reporter: Ali Omar
> Assignee: David Sean Taylor
> Original Estimate: 24h
> Remaining Estimate: 24h
>
> When redirecting from one portlet page to another, the ActionRequest on the
> new page comes before the first RenderRequest. This causes the view root id
> to be null during the ActionRequest. Therefore we need to check the value of
> viewId is not null before we call restoreView.
> // lin line 489 of jsf/FacesPortlet.java
> if (actionRequest)
> {
> String vi = context.getViewRoot().getViewId();
> if(vi != null) // THIS LINE INSERTED
>
> context.getApplication().getViewHandler().restoreView(context, vi);
> getLifecycle().execute(context);
> if (log.isTraceEnabled())
> {
> log.trace("End Executing phases");
> }
> // The view should have been restore.
> // Pass it to the render request.
> request.getPortletSession().setAttribute(
> createViewRootKey(context, defaultPage, viewId),
> context.getViewRoot());
> ActionResponse actionResponse = (ActionResponse) response;
> // save FacesMessage objects on session; so they can
> // be restored during the render phase
> saveFacesMessages(context, request.getPortletSession());
> }
> call to restoreView(context, null) during the actionRequest results in a
> NullPointerException.
> This the original one that steve sent:
> java.lang.NullPointerException
> at
> com.sun.faces.application.ViewHandlerImpl.convertViewId(ViewHandlerImpl.java:879)
> at
> com.sun.faces.application.ViewHandlerImpl.restoreView(ViewHandlerImpl.java:280)
> at
> org.apache.portals.bridges.jsf.PortletViewHandlerImpl.restoreView(PortletVi
> Ali Omar
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]