[gatein-commits] gatein SVN: r4680 - portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/application.
do-not-reply at jboss.org
do-not-reply at jboss.org
Fri Oct 15 09:48:58 EDT 2010
Author: mwringe
Date: 2010-10-15 09:48:57 -0400 (Fri, 15 Oct 2010)
New Revision: 4680
Modified:
portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/application/UIPortletActionListener.java
Log:
GTNPORTAL-1552: Make sure the navigational state is added when handling actions and serving resources. Make sure to not overwrite the navigational state unless a new value is being provided.
Modified: portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/application/UIPortletActionListener.java
===================================================================
--- portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/application/UIPortletActionListener.java 2010-10-15 13:31:39 UTC (rev 4679)
+++ portal/trunk/webui/portal/src/main/java/org/exoplatform/portal/webui/application/UIPortletActionListener.java 2010-10-15 13:48:57 UTC (rev 4680)
@@ -97,6 +97,13 @@
HttpServletRequest request = prcontext.getRequest();
setupPublicRenderParams(uiPortlet, request.getParameterMap());
+ // set the navigational state
+ String navState =prcontext.getRequestParameter(ExoPortletInvocationContext.NAVIGATIONAL_STATE_PARAM_NAME);
+ if (navState != null)
+ {
+ uiPortlet.setNavigationalState(ParametersStateString.create(navState));
+ }
+
//
ActionInvocation actionInvocation = uiPortlet.create(ActionInvocation.class, prcontext);
if (actionInvocation == null)
@@ -187,7 +194,10 @@
//
StateString navigationalState = navStateResponse.getNavigationalState();
- uiPortlet.setNavigationalState(navigationalState);
+ if (navigationalState != null)
+ {
+ uiPortlet.setNavigationalState(navigationalState);
+ }
// update the public render parameters with the changes from the invocation
setupPublicRenderParams(uiPortlet, navStateResponse.getPublicNavigationalStateUpdates());
@@ -349,6 +359,13 @@
PortalRequestContext context = (PortalRequestContext)event.getRequestContext();
HttpServletResponse response = context.getResponse();
+ //Set the NavigationalState
+ String navState = context.getRequestParameter(ExoPortletInvocationContext.NAVIGATIONAL_STATE_PARAM_NAME);
+ if (navState != null)
+ {
+ uiPortlet.setNavigationalState(ParametersStateString.create(navState));
+ }
+
//
ResourceInvocation resourceInvocation = uiPortlet.create(ResourceInvocation.class, context);
@@ -568,7 +585,11 @@
PortletMode mode = new PortletMode(getPortletModeOrDefault(navResponse));
setNextMode(uiPortlet, mode);
- uiPortlet.setNavigationalState(navResponse.getNavigationalState());
+ StateString navState = navResponse.getNavigationalState();
+ if (navState != null)
+ {
+ uiPortlet.setNavigationalState(navResponse.getNavigationalState());
+ }
setupPublicRenderParams(uiPortlet, navResponse.getPublicNavigationalStateUpdates());
//TODO: (mwringe) add this to the UpdateNavigationStateResponse.Event class instead of here
More information about the gatein-commits
mailing list