Author: julien(a)jboss.com
Date: 2008-07-26 04:48:26 -0400 (Sat, 26 Jul 2008)
New Revision: 11592
Modified:
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/portlet/ControllerPageNavigationalState.java
Log:
rewrote ControllerPageNavigationalState#initiateWindowPublicNavigationalStateUpdate()
which was bugged
Modified:
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/portlet/ControllerPageNavigationalState.java
===================================================================
---
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/portlet/ControllerPageNavigationalState.java 2008-07-25
20:13:04 UTC (rev 11591)
+++
branches/JBoss_Portal_Branch_2_7/core/src/main/org/jboss/portal/core/controller/portlet/ControllerPageNavigationalState.java 2008-07-26
08:48:26 UTC (rev 11592)
@@ -31,8 +31,6 @@
import org.jboss.portal.core.CoreConstants;
import org.jboss.portal.core.navstate.NavigationalStateContext;
import org.jboss.portal.core.model.portal.Window;
-import org.jboss.portal.core.model.portal.Page;
-import org.jboss.portal.core.model.portal.PortalObject;
import org.jboss.portal.core.controller.coordination.CoordinationManager;
import javax.xml.namespace.QName;
@@ -285,14 +283,16 @@
//
if (windowPublicNavigationalStateUpdate == null)
{
- initiateWindowPublicNavigationalStateUpdate(windowName);
+ initiateWindowPublicNavigationalStateUpdate();
}
+ //
if (windowPublicNavigationalStateUpdate.get(windowName) == null)
{
windowPublicNavigationalStateUpdate.put(windowName, new HashMap<QName,
String[]>());
}
-
+
+ //
windowPublicNavigationalStateUpdate.get(windowName).put(name, value);
}
@@ -344,7 +344,7 @@
// For explicit initiate windowPublicNavigationStateUpdate with previous state
if (windowPublicNavigationalStateUpdate == null)
{
- initiateWindowPublicNavigationalStateUpdate(windowName);
+ initiateWindowPublicNavigationalStateUpdate();
}
//
@@ -598,8 +598,12 @@
{
HashMap<QName, String[]> params = new HashMap<QName, String[]>();
- org.jboss.portal.core.model.portal.navstate.WindowNavigationalState wns =
navigationalStateContext.getWindowNavigationalState(getWindow(windowName).getId().toString());
+ //
+ Window window = getWindow(windowName);
+ //
+ org.jboss.portal.core.model.portal.navstate.WindowNavigationalState wns =
navigationalStateContext.getWindowNavigationalState(window.getId().toString());
+
if (wns != null)
{
@@ -618,28 +622,26 @@
}
/**
- *
+ * @throws IllegalStateException if the public navigational state of the window is
already initialized
*/
- public void initiateWindowPublicNavigationalStateUpdate(String windowName)
+ private void initiateWindowPublicNavigationalStateUpdate() throws
IllegalStateException
{
+ if (windowPublicNavigationalStateUpdate != null)
+ {
+ throw new IllegalStateException("Was called with a non null
windowPublicNavigationalStateUpdate field");
+ }
- Page page = getWindow(windowName).getPage();
-
+ //
windowPublicNavigationalStateUpdate = new HashMap<String, HashMap<QName,
String[]>>();
// Initial state for all windows on this page
- for (PortalObject portalObject : page.getChildren())
+ for (String windowName : controllerContext.getWindowNames())
{
- if (portalObject instanceof Window)
- {
- Window window = (Window)portalObject;
- windowPublicNavigationalStateUpdate.put(window.getName(),
getWindowPublicContentStateParameters(window.getName()));
- }
+ HashMap<QName, String[]> publicContentStateParams =
getWindowPublicContentStateParameters(windowName);
+ windowPublicNavigationalStateUpdate.put(windowName, publicContentStateParams);
}
-
}
-
public Window getWindow(String windowName)
{
return controllerContext.getWindow(windowName);
Show replies by date