Author: julien(a)jboss.com
Date: 2007-03-06 09:46:56 -0500 (Tue, 06 Mar 2007)
New Revision: 6550
Modified:
trunk/core-admin/src/main/org/jboss/portal/core/faces/JSFInvocation.java
trunk/core-admin/src/main/org/jboss/portal/core/faces/JSFRenderContext.java
trunk/core-admin/src/main/org/jboss/portal/core/faces/UIPortlet.java
Log:
better handling of jsf portlet nav state
Modified: trunk/core-admin/src/main/org/jboss/portal/core/faces/JSFInvocation.java
===================================================================
--- trunk/core-admin/src/main/org/jboss/portal/core/faces/JSFInvocation.java 2007-03-06
11:22:32 UTC (rev 6549)
+++ trunk/core-admin/src/main/org/jboss/portal/core/faces/JSFInvocation.java 2007-03-06
14:46:56 UTC (rev 6550)
@@ -162,13 +162,13 @@
Instance instance,
Mode mode,
WindowState windowState,
- PortletParametersStateString navigationalState) throws PortletInvokerException
+ PortletParameters navState) throws PortletInvokerException
{
//
RenderContext renderContext = new JSFRenderContext(
mode,
windowState,
- navigationalState,
+ navState,
new HTTPStreamInfo(MediaType.HTML, "UTF-8"),
this);
Modified: trunk/core-admin/src/main/org/jboss/portal/core/faces/JSFRenderContext.java
===================================================================
--- trunk/core-admin/src/main/org/jboss/portal/core/faces/JSFRenderContext.java 2007-03-06
11:22:32 UTC (rev 6549)
+++ trunk/core-admin/src/main/org/jboss/portal/core/faces/JSFRenderContext.java 2007-03-06
14:46:56 UTC (rev 6550)
@@ -25,6 +25,8 @@
import org.jboss.portal.portlet.impl.spi.AbstractRenderContext;
import org.jboss.portal.portlet.PortletURL;
import org.jboss.portal.portlet.StateString;
+import org.jboss.portal.portlet.PortletParameters;
+import org.jboss.portal.portlet.PortletParametersStateString;
import org.jboss.portal.portlet.invocation.PortletInvocation;
import org.jboss.portal.Mode;
import org.jboss.portal.WindowState;
@@ -50,11 +52,11 @@
public JSFRenderContext(
Mode mode, WindowState
windowState,
- StateString navigationalState,
+ PortletParameters navState,
HTTPStreamInfo streamInfo,
JSFInvocation invocation)
{
- super(mode, windowState, navigationalState, streamInfo);
+ super(mode, windowState, navState != null ? new
PortletParametersStateString(navState) : null, streamInfo);
//
this.invocation = invocation;
Modified: trunk/core-admin/src/main/org/jboss/portal/core/faces/UIPortlet.java
===================================================================
--- trunk/core-admin/src/main/org/jboss/portal/core/faces/UIPortlet.java 2007-03-06
11:22:32 UTC (rev 6549)
+++ trunk/core-admin/src/main/org/jboss/portal/core/faces/UIPortlet.java 2007-03-06
14:46:56 UTC (rev 6550)
@@ -61,7 +61,7 @@
private MethodBinding portletListener = null;
/** . */
- private Map renderParameters;
+ private PortletParameters navState;
public String getInstanceId()
{
@@ -86,49 +86,33 @@
this.instanceId = instanceId;
}
- public Map getRenderParameters()
+ void setNavState(PortletParameters navState)
{
- if (renderParameters != null)
- {
- return renderParameters;
- }
-
- //
ValueBinding vb = getValueBinding("renderParameters");
if (vb != null)
{
- return (Map)vb.getValue(getFacesContext());
- }
-
- //
- return null;
- }
-
- public void setRenderParameters(Map renderParameters)
- {
- this.renderParameters = renderParameters;
- }
-
- void setNavState(PortletParameters navState)
- {
- Map renderParameters = getRenderParameters();
-
- //
- if (renderParameters != null)
- {
+ Map renderParameters = (Map)vb.getValue(getFacesContext());
renderParameters.clear();
renderParameters.putAll(navState);
}
else
{
- setRenderParameters(navState);
+ this.navState = navState;
}
}
PortletParameters getNavState()
{
- Map renderParameters = getRenderParameters();
- return renderParameters == null ? null : PortletParameters.wrap(renderParameters);
+ ValueBinding vb = getValueBinding("renderParameters");
+ if (vb != null)
+ {
+ Map renderParameters = (Map)vb.getValue(getFacesContext());
+ return PortletParameters.wrap(renderParameters);
+ }
+ else
+ {
+ return navState;
+ }
}
public String getFamily()
@@ -177,9 +161,9 @@
public Object saveState(FacesContext faces)
{
String opaqueValue = null;
- if (renderParameters != null)
+ if (navState != null)
{
- opaqueValue =
PortletParametersStateString.create(renderParameters).getStringValue();
+ opaqueValue = new PortletParametersStateString(navState).getStringValue();
}
//
@@ -199,7 +183,7 @@
//
instanceId = (String)values[1];
- renderParameters = serializedNavState != null ? new
PortletParametersStateString(serializedNavState).getParameters() : null;
+ navState = serializedNavState != null ? new
PortletParametersStateString(serializedNavState).getParameters() : null;
portletListener = (MethodBinding)restoreAttachedState(faces, values[3]);
}
@@ -273,8 +257,7 @@
//
try
{
- Map renderParameters = getRenderParameters();
- PortletParametersStateString navState = renderParameters != null ?
PortletParametersStateString.create(renderParameters) : null;
+ PortletParameters navState = getNavState();
//
PortletInvocationResponse pir = invocation.render(