Author: julien(a)jboss.com
Date: 2008-04-09 18:21:21 -0400 (Wed, 09 Apr 2008)
New Revision: 10522
Modified:
modules/portlet/trunk/build/pom.xml
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/PortletControllerContext.java
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/PortletRequestHandler.java
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/impl/state/PageNavigationalStateImpl.java
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/state/PageNavigationalState.java
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/state/StateControllerContext.java
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/tck/TCKPageNavigationalState.java
Log:
JBPORTAL-1981 : Remove the window id from PageNavigationalState.void
setPublicNavigationalState(String windowId, Map<String, String[]>)
Modified: modules/portlet/trunk/build/pom.xml
===================================================================
--- modules/portlet/trunk/build/pom.xml 2008-04-09 15:16:45 UTC (rev 10521)
+++ modules/portlet/trunk/build/pom.xml 2008-04-09 22:21:21 UTC (rev 10522)
@@ -33,8 +33,8 @@
<version.jboss-logging>2.0.3.GA</version.jboss-logging>
<version.jbossxb>2.0.0.CR5</version.jbossxb>
<version.jboss-remoting>2.2.1.GA</version.jboss-remoting>
-
<version.jboss.portal.common>1.2.0-SNAPSHOT</version.jboss.portal.common>
- <version.jboss.portal.web>1.2.0-SNAPSHOT</version.jboss.portal.web>
+ <version.jboss.portal.common>1.2.0.Beta3</version.jboss.portal.common>
+ <version.jboss.portal.web>1.2.0.Beta3</version.jboss.portal.web>
<version.jboss.unit>1.2.0.Beta2</version.jboss.unit>
<version.log4j>1.2.14</version.log4j>
<version.apache.commons-logging>1.1.1</version.apache.commons-logging>
Modified:
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/PortletControllerContext.java
===================================================================
---
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/PortletControllerContext.java 2008-04-09
15:16:45 UTC (rev 10521)
+++
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/PortletControllerContext.java 2008-04-09
22:21:21 UTC (rev 10522)
@@ -60,8 +60,8 @@
* Create a portlet invocation context for the specified window id.
*
* @param windowId the window id
- * @param pageNavigationalState
- * @return
+ * @param pageNavigationalState the page navigational state
+ * @return a portlet invocation context
*/
PortletInvocationContext createPortletInvocationContext(String windowId,
PageNavigationalState pageNavigationalState);
Modified:
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/PortletRequestHandler.java
===================================================================
---
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/PortletRequestHandler.java 2008-04-09
15:16:45 UTC (rev 10521)
+++
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/PortletRequestHandler.java 2008-04-09
22:21:21 UTC (rev 10522)
@@ -29,6 +29,8 @@
import org.jboss.portal.portlet.PortletInvokerException;
import org.jboss.portal.portlet.StateString;
import org.jboss.portal.portlet.info.PortletInfo;
+import org.jboss.portal.portlet.info.NavigationInfo;
+import org.jboss.portal.portlet.info.ParameterInfo;
import org.jboss.portal.portlet.controller.event.Event;
import org.jboss.portal.portlet.controller.event.EventControllerContext;
import org.jboss.portal.portlet.controller.request.PortletActionRequest;
@@ -48,6 +50,7 @@
import org.jboss.portal.portlet.spi.PortletInvocationContext;
import javax.servlet.http.Cookie;
+import javax.xml.namespace.QName;
import java.util.List;
import java.util.Map;
@@ -400,10 +403,32 @@
pageNavigationalState.setWindowNavigationalState(windowId, windowNS);
// Now update shared state scoped at page
- Map<String, String[]> publicNS = update.getPublicNavigationalStateUpdates();
- if (publicNS != null)
+ PortletInfo info = context.getPortletInfo(windowId);
+ if (info != null)
{
- pageNavigationalState.setPublicNavigationalState(windowId, publicNS);
+ NavigationInfo navigationInfo = info.getNavigation();
+ for (Map.Entry<String, String[]> entry :
update.getPublicNavigationalStateUpdates().entrySet())
+ {
+ String id = entry.getKey();
+
+ //
+ ParameterInfo parameterInfo = navigationInfo.getPublicParameter(id);
+
+ //
+ if (parameterInfo != null)
+ {
+ QName name = parameterInfo.getName();
+ String[] value = entry.getValue();
+ if (value.length > 0)
+ {
+ pageNavigationalState.setPublicNavigationalState(name, value);
+ }
+ else
+ {
+ pageNavigationalState.removePublicNavigationalState(name);
+ }
+ }
+ }
}
}
}
Modified:
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/impl/state/PageNavigationalStateImpl.java
===================================================================
---
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/impl/state/PageNavigationalStateImpl.java 2008-04-09
15:16:45 UTC (rev 10521)
+++
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/impl/state/PageNavigationalStateImpl.java 2008-04-09
22:21:21 UTC (rev 10522)
@@ -27,7 +27,6 @@
import org.jboss.portal.portlet.controller.state.WindowNavigationalState;
import org.jboss.portal.portlet.info.ParameterInfo;
import org.jboss.portal.portlet.info.PortletInfo;
-import org.jboss.portal.portlet.info.NavigationInfo;
import javax.xml.namespace.QName;
import java.io.Serializable;
@@ -132,45 +131,6 @@
windows.put(windowId, windowState);
}
- public void setPublicNavigationalState(String windowId, Map<String, String[]>
update)
- {
- if (!modifiable)
- {
- throw new IllegalStateException("The page navigational state is not
modifiable");
- }
-
- //
- PortletInfo info = context.portletControllerContext.getPortletInfo(windowId);
-
- //
- if (info != null)
- {
- NavigationInfo navigationInfo = info.getNavigation();
- for (Map.Entry<String, String[]> entry : update.entrySet())
- {
- String id = entry.getKey();
-
- //
- ParameterInfo parameterInfo = navigationInfo.getPublicParameter(id);
-
- //
- if (parameterInfo != null)
- {
- QName name = parameterInfo.getName();
- String[] value = entry.getValue();
- if (value.length > 0)
- {
- setPublicNavigationalState(name, value);
- }
- else
- {
- removePublicNavigationalState(name);
- }
- }
- }
- }
- }
-
public void setPublicNavigationalState(QName name, String[] value)
{
if (!modifiable)
Modified:
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/state/PageNavigationalState.java
===================================================================
---
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/state/PageNavigationalState.java 2008-04-09
15:16:45 UTC (rev 10521)
+++
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/state/PageNavigationalState.java 2008-04-09
22:21:21 UTC (rev 10522)
@@ -25,7 +25,6 @@
import org.jboss.portal.common.util.ParameterMap;
import javax.xml.namespace.QName;
-import java.util.Map;
import java.util.Set;
/**
@@ -84,20 +83,6 @@
Set<QName> getPublicNames();
/**
- * Update the public navigational state of a window. The interpretation of what should
be updated is left up to the
- * implementor. An example of implementation would use the mapping between qname and
name provided by the referenced
- * portlet info.
- * <p/>
- * The update argument values with a length of zero should be treated as removals.
- *
- * @param windowId the window id
- * @param update the updates
- * @throws IllegalArgumentException if an argument is not valid
- * @throws IllegalStateException if the page state is read only
- */
- void setPublicNavigationalState(String windowId, Map<String, String[]> update)
throws IllegalArgumentException, IllegalStateException;
-
- /**
* Returns a public navigational state entry or null if it is not found.
*
* @param name the name
Modified:
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/state/StateControllerContext.java
===================================================================
---
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/state/StateControllerContext.java 2008-04-09
15:16:45 UTC (rev 10521)
+++
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/state/StateControllerContext.java 2008-04-09
22:21:21 UTC (rev 10522)
@@ -32,10 +32,11 @@
{
/**
- * Clone an existing page state object.
+ * Clone an existing page navigational state object.
*
- * @param pageNavigationalState
- *@param modifiable set the modifiable status @return the page state clone
+ * @param pageNavigationalState the page navigational state to clone
+ * @param modifiable set the modifiable status @return the page state clone
+ * @return a clone of the provided page navigational state
*/
PageNavigationalState clonePageNavigationalState(PageNavigationalState
pageNavigationalState, boolean modifiable);
Modified:
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/tck/TCKPageNavigationalState.java
===================================================================
---
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/tck/TCKPageNavigationalState.java 2008-04-09
15:16:45 UTC (rev 10521)
+++
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/tck/TCKPageNavigationalState.java 2008-04-09
22:21:21 UTC (rev 10522)
@@ -27,9 +27,7 @@
import org.jboss.portal.common.util.ParameterMap;
import javax.xml.namespace.QName;
-import java.util.Map;
import java.util.Set;
-import java.util.HashMap;
/**
* @author <a href="mailto:boleslaw dot dawidowicz at redhat anotherdot
com">Boleslaw Dawidowicz</a>
@@ -80,11 +78,6 @@
return defaultState.getPublicNames();
}
- public void setPublicNavigationalState(String windowId, Map<String, String[]>
update) throws IllegalArgumentException, IllegalStateException
- {
- defaultState.setPublicNavigationalState(windowId, update);
- }
-
public String[] getPublicNavigationalState(QName name) throws
IllegalArgumentException
{
return defaultState.getPublicNavigationalState(name);