This is very strange code, IMO.  ViewHandler.createView() should
return a UIViewRoot with the viewId already set;  that last statement
(viewRoot.setViewId(newViewId)) should be a no-op.

-- Adam

On 12/22/05, Mario Ivankovits <[EMAIL PROTECTED]> wrote:
> Hi!
>
> In NavigationHandlerImpl around line 145 there is the following code
>
> ViewHandler viewHandler = facesContext.getApplication().getViewHandler();
> //create new view
> String newViewId = navigationCase.getToViewId();
> UIViewRoot viewRoot = viewHandler.createView(facesContext, newViewId);
> viewRoot.setViewId(newViewId);
>
> now I have a problem with the last statement.
> My viewHandler create a view with a slightly different viewId. The
> setViewId(newViewId) cause the browser to view a "requested resource not
> available" message.
>
> If I cange this to:
>
> viewRoot.setViewId(viewRoot.getViewId());
>
> it works like a charme.
> If I create a patch, is it possible to have it applied - or is it needed
> to be RI compliant?
>
> If so, I can handle my use case by overloading the NavigationHandler,
> but then I'll really appreciate if we can make
> calcMatchingNavigationCase protected instead of private. Then I can
> decorate the NavigationCase.
>
>
> Ciao,
> Mario
>
>

Reply via email to