Author: julien(a)jboss.com
Date: 2008-04-11 09:43:57 -0400 (Fri, 11 Apr 2008)
New Revision: 10534
Removed:
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/state/AbstractPageNavigationalState.java
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/portal/src/main/java/org/jboss/portal/portlet/portal/admin/ui/DebuggerPortlet.java
modules/portlet/trunk/portal/src/main/java/org/jboss/portal/portlet/portal/jsp/ControllerFilter.java
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/tck/TCKPageNavigationalState.java
Log:
revert latest portlet changes as I did a mistake believing I could simplify but it should
not be done as it removes flexilibity
Modified: modules/portlet/trunk/build/pom.xml
===================================================================
--- modules/portlet/trunk/build/pom.xml 2008-04-11 07:23:55 UTC (rev 10533)
+++ modules/portlet/trunk/build/pom.xml 2008-04-11 13:43:57 UTC (rev 10534)
@@ -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.Beta3</version.jboss.portal.common>
- <version.jboss.portal.web>1.2.0.Beta3</version.jboss.portal.web>
+
<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.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-11
07:23:55 UTC (rev 10533)
+++
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/PortletControllerContext.java 2008-04-11
13:43:57 UTC (rev 10534)
@@ -33,7 +33,10 @@
import org.jboss.portal.portlet.invocation.response.PortletInvocationResponse;
import org.jboss.portal.portlet.spi.PortletInvocationContext;
+import javax.servlet.ServletContext;
import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
import java.util.List;
/**
@@ -56,13 +59,13 @@
/**
* Create a portlet invocation context for the specified window id.
*
- * @param windowId the window id
- * @param pageNavigationalState the page navigational state
- * @return a portlet invocation context
+ * @param windowId the window id
+ * @param pageNavigationalState
+ * @return
*/
PortletInvocationContext createPortletInvocationContext(String windowId,
PageNavigationalState pageNavigationalState);
- PortletInvocationResponse invoke(ActionInvocation actionInvocation) throws
PortletInvokerException;
+ PortletInvocationResponse invoke( ActionInvocation actionInvocation) throws
PortletInvokerException;
PortletInvocationResponse invoke(List<Cookie> requestCookies, EventInvocation
eventInvocation) throws PortletInvokerException;
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-11
07:23:55 UTC (rev 10533)
+++
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/PortletRequestHandler.java 2008-04-11
13:43:57 UTC (rev 10534)
@@ -29,8 +29,6 @@
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;
@@ -50,7 +48,6 @@
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;
@@ -403,32 +400,10 @@
pageNavigationalState.setWindowNavigationalState(windowId, windowNS);
// Now update shared state scoped at page
- PortletInfo info = context.getPortletInfo(windowId);
- if (info != null)
+ Map<String, String[]> publicNS = update.getPublicNavigationalStateUpdates();
+ if (publicNS != null)
{
- 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);
- }
- }
- }
+ pageNavigationalState.setPublicNavigationalState(windowId, publicNS);
}
}
}
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-11
07:23:55 UTC (rev 10533)
+++
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/impl/state/PageNavigationalStateImpl.java 2008-04-11
13:43:57 UTC (rev 10534)
@@ -22,10 +22,14 @@
******************************************************************************/
package org.jboss.portal.portlet.controller.impl.state;
-import org.jboss.portal.portlet.controller.state.AbstractPageNavigationalState;
+import org.jboss.portal.common.util.ParameterMap;
+import org.jboss.portal.portlet.controller.state.PageNavigationalState;
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;
import java.util.HashMap;
import java.util.Map;
@@ -35,26 +39,35 @@
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision: 1.1 $
*/
-public class PageNavigationalStateImpl extends AbstractPageNavigationalState implements
Serializable
+public class PageNavigationalStateImpl implements PageNavigationalState, Serializable
{
+
/** . */
protected final StateControllerContextImpl context;
/** . */
protected final Map<String, WindowNavigationalState> windows;
+ /** . */
+ protected final Map<QName, String[]> page;
+
+ /** . */
+ private final boolean modifiable;
+
protected PageNavigationalStateImpl(StateControllerContextImpl context, boolean
modifiable)
{
- super(modifiable);
this.context = context;
this.windows = new HashMap<String, WindowNavigationalState>();
+ this.page = new HashMap<QName, String[]>();
+ this.modifiable = modifiable;
}
public PageNavigationalStateImpl(PageNavigationalStateImpl original, boolean
modifiable)
{
- super(modifiable, original.page);
this.context = original.context;
this.windows = new HashMap<String,
WindowNavigationalState>(original.windows);
+ this.page = new HashMap<QName, String[]>(original.page);
+ this.modifiable = modifiable;
}
public Set<String> getWindowIds()
@@ -67,6 +80,47 @@
return windows.get(windowId);
}
+ public ParameterMap getPublicNavigationalState(String windowId)
+ {
+ PortletInfo info = context.portletControllerContext.getPortletInfo(windowId);
+
+ //
+ if (info != null)
+ {
+ ParameterMap publicNavigationalState = new ParameterMap();
+ for (ParameterInfo parameterInfo : info.getNavigation().getPublicParameters())
+ {
+ String[] parameterValue = page.get(parameterInfo.getName());
+
+ //
+ if (parameterValue != null)
+ {
+ String parameterId = parameterInfo.getId();
+
+ // We clone the value here so we keep the internal state not potentially
changed
+ publicNavigationalState.put(parameterId, parameterValue.clone());
+ }
+ }
+
+ //
+ return publicNavigationalState;
+ }
+
+ //
+ return null;
+ }
+
+ public Set<QName> getPublicNames()
+ {
+ return page.keySet();
+ }
+
+ public String[] getPublicNavigationalState(QName name)
+ {
+ String[] values = page.get(name);
+ return values != null ? values.clone() : null;
+ }
+
public void setWindowNavigationalState(String windowId, WindowNavigationalState
windowState)
{
if (!modifiable)
@@ -78,8 +132,64 @@
windows.put(windowId, windowState);
}
- protected PortletInfo getPortletInfo(String windowId)
+ public void setPublicNavigationalState(String windowId, Map<String, String[]>
update)
{
- return context.portletControllerContext.getPortletInfo(windowId);
+ 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)
+ {
+ throw new IllegalStateException("The page navigational state is not
modifiable");
+ }
+
+ // We clone the value in order to keep the state not mutated by a side effect
+ page.put(name, value.clone());
+ }
+
+ public void removePublicNavigationalState(QName name)
+ {
+ if (!modifiable)
+ {
+ throw new IllegalStateException("The page navigational state is not
modifiable");
+ }
+
+ //
+ page.remove(name);
+ }
}
\ No newline at end of file
Deleted:
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/state/AbstractPageNavigationalState.java
===================================================================
---
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/state/AbstractPageNavigationalState.java 2008-04-11
07:23:55 UTC (rev 10533)
+++
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/state/AbstractPageNavigationalState.java 2008-04-11
13:43:57 UTC (rev 10534)
@@ -1,120 +0,0 @@
-/*
-* JBoss, a division of Red Hat
-* Copyright 2008, Red Hat Middleware, LLC, and individual contributors as indicated
-* by the @authors tag. See the copyright.txt in the distribution for a
-* full listing of individual contributors.
-*
-* This is free software; you can redistribute it and/or modify it
-* under the terms of the GNU Lesser General Public License as
-* published by the Free Software Foundation; either version 2.1 of
-* the License, or (at your option) any later version.
-*
-* This software is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-* Lesser General Public License for more details.
-*
-* You should have received a copy of the GNU Lesser General Public
-* License along with this software; if not, write to the Free
-* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-* 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
-*/
-
-package org.jboss.portal.portlet.controller.state;
-
-import org.jboss.portal.common.util.ParameterMap;
-import org.jboss.portal.portlet.info.ParameterInfo;
-import org.jboss.portal.portlet.info.PortletInfo;
-
-import javax.xml.namespace.QName;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * @author <a href="mailto:chris.laprun@jboss.com">Chris
Laprun</a>
- * @version $Revision$
- */
-public abstract class AbstractPageNavigationalState implements PageNavigationalState
-{
- /** . */
- protected final Map<QName, String[]> page;
- /** . */
- protected final boolean modifiable;
-
- protected AbstractPageNavigationalState(boolean modifiable)
- {
- this(modifiable, new HashMap<QName, String[]>());
- }
-
- protected AbstractPageNavigationalState(boolean modifiable, Map<QName, String[]>
page)
- {
- this.modifiable = modifiable;
- this.page = page;
- }
-
- public ParameterMap getPublicNavigationalState(String windowId)
- {
- PortletInfo info = getPortletInfo(windowId);
-
- //
- if (info != null)
- {
- ParameterMap publicNavigationalState = new ParameterMap();
- for (ParameterInfo parameterInfo : info.getNavigation().getPublicParameters())
- {
- String[] parameterValue = page.get(parameterInfo.getName());
-
- //
- if (parameterValue != null)
- {
- String parameterId = parameterInfo.getId();
-
- // We clone the value here so we keep the internal state not potentially
changed
- publicNavigationalState.put(parameterId, parameterValue.clone());
- }
- }
-
- //
- return publicNavigationalState;
- }
-
- //
- return null;
- }
-
- protected abstract PortletInfo getPortletInfo(String windowId);
-
- public Set<QName> getPublicNames()
- {
- return page.keySet();
- }
-
- public String[] getPublicNavigationalState(QName name)
- {
- String[] values = page.get(name);
- return values != null ? values.clone() : null;
- }
-
- public void setPublicNavigationalState(QName name, String[] value)
- {
- if (!modifiable)
- {
- throw new IllegalStateException("The page navigational state is not
modifiable");
- }
-
- // We clone the value in order to keep the state not mutated by a side effect
- page.put(name, value.clone());
- }
-
- public void removePublicNavigationalState(QName name)
- {
- if (!modifiable)
- {
- throw new IllegalStateException("The page navigational state is not
modifiable");
- }
-
- //
- page.remove(name);
- }
-}
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-11
07:23:55 UTC (rev 10533)
+++
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/state/PageNavigationalState.java 2008-04-11
13:43:57 UTC (rev 10534)
@@ -25,6 +25,7 @@
import org.jboss.portal.common.util.ParameterMap;
import javax.xml.namespace.QName;
+import java.util.Map;
import java.util.Set;
/**
@@ -83,6 +84,20 @@
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-11
07:23:55 UTC (rev 10533)
+++
modules/portlet/trunk/controller/src/main/java/org/jboss/portal/portlet/controller/state/StateControllerContext.java 2008-04-11
13:43:57 UTC (rev 10534)
@@ -32,11 +32,10 @@
{
/**
- * Clone an existing page navigational state object.
+ * Clone an existing page state object.
*
- * @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
+ * @param pageNavigationalState
+ *@param modifiable set the modifiable status @return the page state clone
*/
PageNavigationalState clonePageNavigationalState(PageNavigationalState
pageNavigationalState, boolean modifiable);
Modified:
modules/portlet/trunk/portal/src/main/java/org/jboss/portal/portlet/portal/admin/ui/DebuggerPortlet.java
===================================================================
---
modules/portlet/trunk/portal/src/main/java/org/jboss/portal/portlet/portal/admin/ui/DebuggerPortlet.java 2008-04-11
07:23:55 UTC (rev 10533)
+++
modules/portlet/trunk/portal/src/main/java/org/jboss/portal/portlet/portal/admin/ui/DebuggerPortlet.java 2008-04-11
13:43:57 UTC (rev 10534)
@@ -22,24 +22,24 @@
******************************************************************************/
package org.jboss.portal.portlet.portal.admin.ui;
-import org.jboss.portal.portlet.ParametersStateString;
-import org.jboss.portal.portlet.invocation.response.ErrorResponse;
-import org.jboss.portal.portlet.invocation.response.PortletInvocationResponse;
-import org.jboss.portal.portlet.invocation.response.UpdateNavigationalStateResponse;
-import org.jboss.portal.portlet.portal.jsp.EventAcknowledgement;
-import org.jboss.portal.portlet.portal.jsp.EventRoute;
import org.jboss.portal.portlet.portal.jsp.PageEventControllerContext;
+import org.jboss.portal.portlet.portal.jsp.EventRoute;
import org.jboss.portal.portlet.portal.jsp.PagePortletControllerContext;
+import org.jboss.portal.portlet.portal.jsp.EventAcknowledgement;
+import org.jboss.portal.portlet.invocation.response.PortletInvocationResponse;
+import org.jboss.portal.portlet.invocation.response.UpdateNavigationalStateResponse;
+import org.jboss.portal.portlet.invocation.response.ErrorResponse;
+import org.jboss.portal.portlet.ParametersStateString;
import javax.portlet.GenericPortlet;
-import javax.portlet.PortletException;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;
+import javax.portlet.PortletException;
import java.io.IOException;
import java.io.PrintWriter;
-import java.util.Iterator;
-import java.util.Map;
import java.util.Random;
+import java.util.Map;
+import java.util.Iterator;
/**
* @author <a href="mailto:julien@jboss-portal.org">Julien
Viet</a>
@@ -70,7 +70,7 @@
int id;
for (EventRoute route : eventCC.getRoots())
{
- id = rand(1, 1000);
+ id = rand(1,1000);
writer.println("<div class=\"event\" id=\"event-"
+ id + "\">\n");
printRoute(route, writer, context, id, "");
writer.println("</div>\n");
@@ -83,13 +83,13 @@
}
}
- private void printRoute(EventRoute route, PrintWriter writer,
PagePortletControllerContext context, int id, String cid)
+ private void printRoute(EventRoute route, PrintWriter
writer,PagePortletControllerContext context, int id, String cid)
{
writer.print("<div onmouseover=\"showDetails(this,'details-"
+ id + cid + "')\" onmouseout=\"hideDetails(this,'details-" +
id + cid + "')\" onclick=\"new Effect.Highlight('" +
context.getPortletInfo(route.getSource()).getName() + "',
{startcolor:'#990000', endcolor:'ffffdd',queue: {position:'start',
scope: 'highlight', limit:2}});new Effect.Highlight('" +
context.getPortletInfo(route.getDestination()).getName() + "',
{startcolor:'#990000', endcolor:'ffffdd',queue: {position:'end',
scope: 'highlight', limit:2}});\" >" +
"<div class=\"event-header\">\n" +
- " <h4>" +
context.getPortletInfo(route.getSource()).getName() + "</h4>\n" +
- " <div>Event: " + route.getName().getLocalPart() +
"</div>\n" +
- " </div>\n");
+ " <h4>" +
context.getPortletInfo(route.getSource()).getName() + "</h4>\n" +
+ " <div>Event: " + route.getName().getLocalPart() +
"</div>\n" +
+ " </div>\n");
writer.print("<div class=\"event-body\">" +
"<p><label>Source: </label>" +
context.getPortletInfo(route.getSource()).getName() + "<img
src=\"/simple-portal/images/debug/arrow.gif\" alt=\"\"/>");
@@ -106,7 +106,7 @@
for (EventRoute child : route.getChildren())
{
- id = rand(1, 1000);
+ id = rand(1,1000);
writer.println("<div class=\"children\">");
printRoute(child, writer, context, id, "a");
writer.println("</div>");
@@ -203,7 +203,7 @@
private void formatMap(Map<String, String[]> map, StringBuilder sb)
{
sb.append("{");
- for (Iterator<Map.Entry<String, String[]>> i =
map.entrySet().iterator(); i.hasNext();)
+ for (Iterator<Map.Entry<String, String[]>> i =
map.entrySet().iterator();i.hasNext();)
{
Map.Entry<String, String[]> entry = i.next();
@@ -226,15 +226,13 @@
}
public static int rand(int lo, int hi)
- {
- Random rn2 = new Random();
- int n = hi - lo + 1;
- int i = rn2.nextInt() % n;
- if (i < 0)
- {
- i = -i;
- }
- return lo + i;
- }
+ {
+ Random rn2 = new Random();
+ int n = hi - lo + 1;
+ int i = rn2.nextInt() % n;
+ if (i < 0)
+ i = -i;
+ return lo + i;
+ }
}
Modified:
modules/portlet/trunk/portal/src/main/java/org/jboss/portal/portlet/portal/jsp/ControllerFilter.java
===================================================================
---
modules/portlet/trunk/portal/src/main/java/org/jboss/portal/portlet/portal/jsp/ControllerFilter.java 2008-04-11
07:23:55 UTC (rev 10533)
+++
modules/portlet/trunk/portal/src/main/java/org/jboss/portal/portlet/portal/jsp/ControllerFilter.java 2008-04-11
13:43:57 UTC (rev 10534)
@@ -22,42 +22,42 @@
******************************************************************************/
package org.jboss.portal.portlet.portal.jsp;
-import org.jboss.portal.common.io.IOTools;
-import org.jboss.portal.common.io.SerializationFilter;
-import org.jboss.portal.common.util.Base64;
+import org.jboss.portal.portlet.controller.impl.PortletURLRenderer;
+import org.jboss.portal.portlet.controller.impl.URLParameterConstants;
import org.jboss.portal.portlet.PortletInvoker;
import org.jboss.portal.portlet.PortletInvokerException;
import org.jboss.portal.portlet.URLFormat;
+import org.jboss.portal.portlet.portal.Constants;
+import org.jboss.portal.portlet.invocation.response.PortletInvocationResponse;
+import org.jboss.portal.portlet.invocation.response.ErrorResponse;
+import org.jboss.portal.portlet.invocation.response.ContentResponse;
+import org.jboss.portal.portlet.invocation.response.UnavailableResponse;
import org.jboss.portal.portlet.controller.PortletController;
-import org.jboss.portal.portlet.controller.impl.PortletURLRenderer;
-import org.jboss.portal.portlet.controller.impl.URLParameterConstants;
+import org.jboss.portal.portlet.controller.request.PortletActionRequest;
import org.jboss.portal.portlet.controller.impl.request.ControllerRequestFactory;
-import org.jboss.portal.portlet.controller.impl.request.ControllerRequestParameterNames;
import org.jboss.portal.portlet.controller.request.ControllerRequest;
-import org.jboss.portal.portlet.controller.request.PortletActionRequest;
+import org.jboss.portal.portlet.controller.impl.request.ControllerRequestParameterNames;
import org.jboss.portal.portlet.controller.response.ControllerResponse;
import org.jboss.portal.portlet.controller.response.PageUpdateResponse;
-import org.jboss.portal.portlet.controller.response.PortletResponse;
import org.jboss.portal.portlet.controller.response.ResourceResponse;
+import org.jboss.portal.portlet.controller.response.PortletResponse;
import org.jboss.portal.portlet.controller.state.PageNavigationalState;
import org.jboss.portal.portlet.controller.state.PageNavigationalStateSerialization;
-import org.jboss.portal.portlet.invocation.response.ContentResponse;
-import org.jboss.portal.portlet.invocation.response.ErrorResponse;
-import org.jboss.portal.portlet.invocation.response.PortletInvocationResponse;
-import org.jboss.portal.portlet.invocation.response.UnavailableResponse;
-import org.jboss.portal.portlet.portal.Constants;
+import org.jboss.portal.common.io.IOTools;
+import org.jboss.portal.common.io.SerializationFilter;
+import org.jboss.portal.common.util.Base64;
import org.jboss.portal.web.WebRequest;
-import javax.servlet.Filter;
-import javax.servlet.FilterChain;
-import javax.servlet.FilterConfig;
-import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
+import javax.servlet.Filter;
+import javax.servlet.FilterConfig;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+import javax.servlet.FilterChain;
+import javax.servlet.ServletContext;
import java.io.IOException;
import java.io.Writer;
@@ -228,10 +228,9 @@
ErrorResponse errorResponse = (ErrorResponse)pir;
//
- Throwable cause = errorResponse.getCause();
- if (cause != null)
+ if (errorResponse.getCause() != null)
{
- throw new ServletException(Constants.PORTLET_ERROR, cause);
+ throw new ServletException(Constants.PORTLET_ERROR,
errorResponse.getCause());
}
else
{
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-11
07:23:55 UTC (rev 10533)
+++
modules/portlet/trunk/test/src/main/java/org/jboss/portal/portlet/test/tck/TCKPageNavigationalState.java 2008-04-11
13:43:57 UTC (rev 10534)
@@ -27,7 +27,9 @@
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>
@@ -78,6 +80,11 @@
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);