Author: julien(a)jboss.com
Date: 2007-04-27 04:39:22 -0400 (Fri, 27 Apr 2007)
New Revision: 7099
Modified:
trunk/core/src/main/org/jboss/portal/core/impl/api/CoreNavigationalStateContext.java
trunk/core/src/main/org/jboss/portal/core/model/portal/navstate/WindowNavigationalState.java
Log:
- fixed window state change with NavStateContext bug
Modified:
trunk/core/src/main/org/jboss/portal/core/impl/api/CoreNavigationalStateContext.java
===================================================================
---
trunk/core/src/main/org/jboss/portal/core/impl/api/CoreNavigationalStateContext.java 2007-04-27
08:29:34 UTC (rev 7098)
+++
trunk/core/src/main/org/jboss/portal/core/impl/api/CoreNavigationalStateContext.java 2007-04-27
08:39:22 UTC (rev 7099)
@@ -90,8 +90,7 @@
//
CorePortalNode pon = (CorePortalNode)window;
- NavigationalStateKey key = new NavigationalStateKey(WindowState.class,
pon.getObjectId());
- navigationalStateResolver.setAttribute(key, windowState);
+ WindowNavigationalState.setWindowState(navigationalStateResolver,
pon.getObjectId(), windowState);
}
public Mode getMode(PortalNode window) throws IllegalArgumentException
Modified:
trunk/core/src/main/org/jboss/portal/core/model/portal/navstate/WindowNavigationalState.java
===================================================================
---
trunk/core/src/main/org/jboss/portal/core/model/portal/navstate/WindowNavigationalState.java 2007-04-27
08:29:34 UTC (rev 7098)
+++
trunk/core/src/main/org/jboss/portal/core/model/portal/navstate/WindowNavigationalState.java 2007-04-27
08:39:22 UTC (rev 7099)
@@ -79,7 +79,7 @@
return state;
}
- public static void setMode(AttributeResolver context, Object id, Mode mode)
+ public static WindowState getWindowState(AttributeResolver context, Object id)
{
NavigationalStateKey key = new NavigationalStateKey(WindowNavigationalState.class,
id);
@@ -87,20 +87,31 @@
WindowNavigationalState wns = (WindowNavigationalState)context.getAttribute(key);
//
+ return wns != null ? wns.getWindowState() : null;
+ }
+
+ public static void setWindowState(AttributeResolver context, Object id, WindowState
windowState)
+ {
+ NavigationalStateKey key = new NavigationalStateKey(WindowNavigationalState.class,
id);
+
+ //
+ WindowNavigationalState wns = (WindowNavigationalState)context.getAttribute(key);
+
+ //
if (wns == null)
{
- wns = new WindowNavigationalState(WindowState.NORMAL, mode, null);
+ wns = new WindowNavigationalState(windowState, Mode.VIEW, null);
}
else
{
- wns = new WindowNavigationalState(wns.getWindowState(), mode, wns.getState());
+ wns = new WindowNavigationalState(windowState, wns.getMode(), wns.getState());
}
//
context.setAttribute(key, wns);
}
- public static void setState(AttributeResolver context, Object id, StateString state)
+ public static Mode getMode(AttributeResolver context, Object id)
{
NavigationalStateKey key = new NavigationalStateKey(WindowNavigationalState.class,
id);
@@ -108,20 +119,31 @@
WindowNavigationalState wns = (WindowNavigationalState)context.getAttribute(key);
//
+ return wns != null ? wns.getMode() : null;
+ }
+
+ public static void setMode(AttributeResolver context, Object id, Mode mode)
+ {
+ NavigationalStateKey key = new NavigationalStateKey(WindowNavigationalState.class,
id);
+
+ //
+ WindowNavigationalState wns = (WindowNavigationalState)context.getAttribute(key);
+
+ //
if (wns == null)
{
- wns = new WindowNavigationalState(WindowState.NORMAL, Mode.VIEW, state);
+ wns = new WindowNavigationalState(WindowState.NORMAL, mode, null);
}
else
{
- wns = new WindowNavigationalState(wns.getWindowState(), wns.getMode(), state);
+ wns = new WindowNavigationalState(wns.getWindowState(), mode, wns.getState());
}
//
context.setAttribute(key, wns);
}
- public static StateString setState(AttributeResolver context, Object id)
+ public static StateString getState(AttributeResolver context, Object id)
{
NavigationalStateKey key = new NavigationalStateKey(WindowNavigationalState.class,
id);
@@ -131,4 +153,25 @@
//
return wns != null ? wns.getState() : null;
}
+
+ public static void setState(AttributeResolver context, Object id, StateString state)
+ {
+ NavigationalStateKey key = new NavigationalStateKey(WindowNavigationalState.class,
id);
+
+ //
+ WindowNavigationalState wns = (WindowNavigationalState)context.getAttribute(key);
+
+ //
+ if (wns == null)
+ {
+ wns = new WindowNavigationalState(WindowState.NORMAL, Mode.VIEW, state);
+ }
+ else
+ {
+ wns = new WindowNavigationalState(wns.getWindowState(), wns.getMode(), state);
+ }
+
+ //
+ context.setAttribute(key, wns);
+ }
}