//
return updateNavigationalState;
}
else
{
PortletActionRequest portletActionRequest = (PortletActionRequest)portletRequest;
//
PortletPageNavigationalState pageNavigationalState = portletActionRequest.getPageNavigationalState();
//
Mode mode = portletActionRequest.getWindowNavigationalState().getMode();
if (mode == null)
{
mode = Mode.VIEW;
}
//
WindowState windowState = portletActionRequest.getWindowNavigationalState().getWindowState();
if (windowState == null)
{
windowState = WindowState.NORMAL;
}
//
Map<String, String[]> publicNS = null;
if (pageNavigationalState != null)
{
publicNS = pageNavigationalState.getPortletPublicNavigationalState(portletRequest.getWindowId());
}
PortletInvocationContext portletInvocationContext = context.createPortletInvocationContext(portletRequest.getWindowId(), pageNavigationalState);
ActionInvocation actionInvocation = new ActionInvocation(portletInvocationContext);
//
actionInvocation.setMode(mode);
actionInvocation.setWindowState(windowState);
actionInvocation.setNavigationalState(portletActionRequest.getWindowNavigationalState().getPortletNavigationalState());
actionInvocation.setPublicNavigationalState(publicNS);
actionInvocation.setInteractionState(portletActionRequest.getInteractionState());
actionInvocation.setForm(portletActionRequest.getBodyParameters() != null ? ParameterMap.clone(portletActionRequest.getBodyParameters()) : null);
//
return context.invoke(actionInvocation);
}
}