Author: julien(a)jboss.com
Date: 2008-06-29 10:04:55 -0400 (Sun, 29 Jun 2008)
New Revision: 11191
Modified:
modules/presentation/trunk/portal/src/main/java/org/jboss/portal/presentation/portal/content/portlet/PortletContentHandler.java
modules/presentation/trunk/portal/src/main/java/org/jboss/portal/presentation/portal/content/portlet/controller/PresentationPortletPageNavigationalState.java
modules/presentation/trunk/portal/src/main/java/org/jboss/portal/presentation/portal/content/portlet/controller/PresentationStateControllerContext.java
Log:
updating public nav state updates windows but not optimally
Modified:
modules/presentation/trunk/portal/src/main/java/org/jboss/portal/presentation/portal/content/portlet/PortletContentHandler.java
===================================================================
---
modules/presentation/trunk/portal/src/main/java/org/jboss/portal/presentation/portal/content/portlet/PortletContentHandler.java 2008-06-29
13:37:07 UTC (rev 11190)
+++
modules/presentation/trunk/portal/src/main/java/org/jboss/portal/presentation/portal/content/portlet/PortletContentHandler.java 2008-06-29
14:04:55 UTC (rev 11191)
@@ -34,6 +34,8 @@
import org.jboss.portal.presentation.client.PresentationClient;
import org.jboss.portal.presentation.server.PresentationServerException;
import org.jboss.portal.presentation.protocol.ProtocolResponse;
+import
org.jboss.portal.presentation.impl.state.navigational.DelegatingNavigationalStateContext;
+import org.jboss.portal.presentation.state.navigational.NavigationalStateContext;
import org.jboss.portal.portlet.controller.PortletController;
import org.jboss.portal.portlet.controller.response.ControllerResponse;
import org.jboss.portal.portlet.controller.response.PageUpdateResponse;
@@ -88,7 +90,7 @@
PresentationPortletPageNavigationalState pageNavigationalState = new
PresentationPortletPageNavigationalState(
portletControllerContext,
client.getNavigationalStateContext(),
- PresentationPortletPageNavigationalState.CLONE_AND_WRITE_MODE);
+ false);
//
ControllerRequest controllerRequest;
@@ -136,7 +138,14 @@
PresentationPortletPageNavigationalState blah =
(PresentationPortletPageNavigationalState)pageUpdate.getPageNavigationalState();
//
- blah.flush();
+ if (blah.isModifiable())
+ {
+ NavigationalStateContext tutu = blah.getNavigationalStateContext();
+ if (tutu instanceof DelegatingNavigationalStateContext)
+ {
+ ((DelegatingNavigationalStateContext)tutu).flush();
+ }
+ }
}
}
catch (PortletInvokerException e)
@@ -168,7 +177,7 @@
PresentationPortletPageNavigationalState pageNavigationalState = new
PresentationPortletPageNavigationalState(
portletControllerContext,
client.getNavigationalStateContext(),
- PresentationPortletPageNavigationalState.READ_ONLY_MODE);
+ false);
PortletInvocationResponse response = controller.render(portletControllerContext,
null, pageNavigationalState, windowContentContext.getId());
Modified:
modules/presentation/trunk/portal/src/main/java/org/jboss/portal/presentation/portal/content/portlet/controller/PresentationPortletPageNavigationalState.java
===================================================================
---
modules/presentation/trunk/portal/src/main/java/org/jboss/portal/presentation/portal/content/portlet/controller/PresentationPortletPageNavigationalState.java 2008-06-29
13:37:07 UTC (rev 11190)
+++
modules/presentation/trunk/portal/src/main/java/org/jboss/portal/presentation/portal/content/portlet/controller/PresentationPortletPageNavigationalState.java 2008-06-29
14:04:55 UTC (rev 11191)
@@ -29,6 +29,7 @@
import org.jboss.portal.portlet.info.NavigationInfo;
import org.jboss.portal.presentation.state.navigational.NavigationalStateContext;
import
org.jboss.portal.presentation.impl.state.navigational.DelegatingNavigationalStateContext;
+import
org.jboss.portal.presentation.impl.state.navigational.NavigationalStateContextImpl;
import org.jboss.portal.Mode;
import org.jboss.portal.WindowState;
@@ -45,15 +46,6 @@
{
/** . */
- public static final int READ_ONLY_MODE = 0;
-
- /** . */
- public static final int READ_WRITE_MODE = 1;
-
- /** . */
- public static final int CLONE_AND_WRITE_MODE = 2;
-
- /** . */
private final PresentationPortletControllerContext portletControllerContext;
/** . */
@@ -65,65 +57,21 @@
public PresentationPortletPageNavigationalState(
PresentationPortletControllerContext portletControllerContext,
NavigationalStateContext navigationalStateContext,
- int mode)
+ boolean modifiable)
{
- boolean modifiable;
- switch (mode)
- {
- case READ_ONLY_MODE:
- modifiable = false;
- break;
- case READ_WRITE_MODE:
- modifiable = true;
- break;
- case CLONE_AND_WRITE_MODE:
- modifiable = true;
- navigationalStateContext = new
DelegatingNavigationalStateContext(navigationalStateContext);
- break;
- default:
- throw new AssertionError();
- }
-
- //
this.portletControllerContext = portletControllerContext;
this.navigationalStateContext = navigationalStateContext;
this.modifiable = modifiable;
}
- public PresentationPortletPageNavigationalState(
- PresentationPortletPageNavigationalState pageNavigationalState,
- int mode)
+ public boolean isModifiable()
{
- NavigationalStateContext navigationalStateContext =
pageNavigationalState.navigationalStateContext;
- boolean modifiable;
- switch (mode)
- {
- case READ_ONLY_MODE:
- modifiable = false;
- break;
- case READ_WRITE_MODE:
- modifiable = true;
- break;
- case CLONE_AND_WRITE_MODE:
- modifiable = true;
- navigationalStateContext = new
DelegatingNavigationalStateContext(navigationalStateContext);
- break;
- default:
- throw new AssertionError();
- }
-
- //
- this.portletControllerContext = pageNavigationalState.portletControllerContext;
- this.navigationalStateContext = navigationalStateContext;
- this.modifiable = modifiable;
+ return modifiable;
}
- public void flush()
+ public NavigationalStateContext getNavigationalStateContext()
{
- if (navigationalStateContext instanceof DelegatingNavigationalStateContext)
- {
- ((DelegatingNavigationalStateContext)navigationalStateContext).flush();
- }
+ return navigationalStateContext;
}
public Set<String> getPortletWindowIds()
Modified:
modules/presentation/trunk/portal/src/main/java/org/jboss/portal/presentation/portal/content/portlet/controller/PresentationStateControllerContext.java
===================================================================
---
modules/presentation/trunk/portal/src/main/java/org/jboss/portal/presentation/portal/content/portlet/controller/PresentationStateControllerContext.java 2008-06-29
13:37:07 UTC (rev 11190)
+++
modules/presentation/trunk/portal/src/main/java/org/jboss/portal/presentation/portal/content/portlet/controller/PresentationStateControllerContext.java 2008-06-29
14:04:55 UTC (rev 11191)
@@ -25,6 +25,7 @@
import org.jboss.portal.portlet.controller.state.StateControllerContext;
import org.jboss.portal.portlet.controller.state.PortletPageNavigationalState;
import
org.jboss.portal.presentation.impl.state.navigational.NavigationalStateContextImpl;
+import
org.jboss.portal.presentation.impl.state.navigational.DelegatingNavigationalStateContext;
/**
* @author <a href="mailto:julien@jboss-portal.org">Julien
Viet</a>
@@ -41,12 +42,15 @@
this.portletControllerContext = portletControllerContext;
}
- public PortletPageNavigationalState
clonePortletPageNavigationalState(PortletPageNavigationalState
portletPageNavigationalState, boolean modifiable)
+ public PortletPageNavigationalState clonePortletPageNavigationalState(
+ PortletPageNavigationalState portletPageNavigationalState,
+ boolean modifiable)
{
-
+ DelegatingNavigationalStateContext nsc = new
DelegatingNavigationalStateContext(((PresentationPortletPageNavigationalState)portletPageNavigationalState).getNavigationalStateContext());
return new PresentationPortletPageNavigationalState(
- (PresentationPortletPageNavigationalState)portletPageNavigationalState,
- modifiable ? PresentationPortletPageNavigationalState.CLONE_AND_WRITE_MODE :
PresentationPortletPageNavigationalState.READ_ONLY_MODE);
+ portletControllerContext,
+ nsc,
+ modifiable);
}
public PortletPageNavigationalState createPortletPageNavigationalState(boolean
modifiable)
@@ -54,6 +58,6 @@
return new PresentationPortletPageNavigationalState(
portletControllerContext,
new NavigationalStateContextImpl(),
- modifiable ? PresentationPortletPageNavigationalState.READ_WRITE_MODE :
PresentationPortletPageNavigationalState.READ_ONLY_MODE);
+ modifiable);
}
}
Show replies by date