Author: chris.laprun(a)jboss.com
Date: 2007-01-18 14:31:56 -0500 (Thu, 18 Jan 2007)
New Revision: 6036
Modified:
trunk/portlet/src/main/org/jboss/portal/portlet/impl/jsr168/PortletUtils.java
trunk/portlet/src/main/org/jboss/portal/portlet/impl/jsr168/RenderResponseImpl.java
trunk/wsrp/src/main/org/jboss/portal/wsrp/consumer/InvocationHandler.java
trunk/wsrp/src/main/org/jboss/portal/wsrp/consumer/RenderHandler.java
trunk/wsrp/src/main/org/jboss/portal/wsrp/producer/RequestProcessor.java
Log:
- JBPORTAL-1039: Fixed.
- Extracted namespace generation from RenderResponseImpl to PortletUtils.
Modified: trunk/portlet/src/main/org/jboss/portal/portlet/impl/jsr168/PortletUtils.java
===================================================================
---
trunk/portlet/src/main/org/jboss/portal/portlet/impl/jsr168/PortletUtils.java 2007-01-18
19:25:19 UTC (rev 6035)
+++
trunk/portlet/src/main/org/jboss/portal/portlet/impl/jsr168/PortletUtils.java 2007-01-18
19:31:56 UTC (rev 6036)
@@ -37,6 +37,8 @@
*/
public class PortletUtils
{
+ private static final String PREFIX = "jbp";
+
public static void checkRenderParameterMap(Map map)
{
if (map == null)
@@ -156,4 +158,16 @@
return new PortletMode(portletModeName);
}
}
+
+ /**
+ * Generates a namespace suitable for Portlet prefixing of tokens that need to be
unique in an aggregated page.
+ *
+ * @param windowId
+ * @return
+ * @since 2.6
+ */
+ public static String generateNamespaceFrom(String windowId)
+ {
+ return PREFIX + Integer.toHexString(windowId.hashCode());
+ }
}
Modified:
trunk/portlet/src/main/org/jboss/portal/portlet/impl/jsr168/RenderResponseImpl.java
===================================================================
---
trunk/portlet/src/main/org/jboss/portal/portlet/impl/jsr168/RenderResponseImpl.java 2007-01-18
19:25:19 UTC (rev 6035)
+++
trunk/portlet/src/main/org/jboss/portal/portlet/impl/jsr168/RenderResponseImpl.java 2007-01-18
19:31:56 UTC (rev 6036)
@@ -23,8 +23,8 @@
package org.jboss.portal.portlet.impl.jsr168;
import org.jboss.portal.common.MediaType;
+import org.jboss.portal.portlet.invocation.PortletInvocation;
import org.jboss.portal.portlet.invocation.RenderInvocation;
-import org.jboss.portal.portlet.invocation.PortletInvocation;
import org.jboss.portal.portlet.invocation.response.FragmentResponse;
import org.jboss.portal.portlet.invocation.response.PortletInvocationResponse;
import org.jboss.portal.server.util.HTTPStreamInfo;
@@ -137,7 +137,7 @@
if (namespace == null)
{
String windowId = invocation.getWindowContext().getId();
- namespace = "jbp" + Integer.toHexString(windowId.hashCode());
+ namespace = PortletUtils.generateNamespaceFrom(windowId);
}
return namespace;
}
@@ -154,7 +154,7 @@
public void setBufferSize(int bufferSize)
{
- if (bufferSize >- 0)
+ if (bufferSize > -0)
{
this.bufferSize = bufferSize;
}
Modified: trunk/wsrp/src/main/org/jboss/portal/wsrp/consumer/InvocationHandler.java
===================================================================
--- trunk/wsrp/src/main/org/jboss/portal/wsrp/consumer/InvocationHandler.java 2007-01-18
19:25:19 UTC (rev 6035)
+++ trunk/wsrp/src/main/org/jboss/portal/wsrp/consumer/InvocationHandler.java 2007-01-18
19:31:56 UTC (rev 6036)
@@ -25,6 +25,7 @@
import org.jboss.logging.Logger;
import org.jboss.portal.portlet.PortletInvokerException;
+import org.jboss.portal.portlet.impl.jsr168.PortletUtils;
import org.jboss.portal.portlet.invocation.PortletInvocation;
import org.jboss.portal.portlet.invocation.response.ErrorResponse;
import org.jboss.portal.portlet.invocation.response.PortletInvocationResponse;
@@ -100,7 +101,7 @@
RuntimeContext runtimeContext = getRuntimeContextFrom(request);
WindowContext windowContext = invocation.getWindowContext();
- runtimeContext.setNamespacePrefix(windowContext == null ? null :
windowContext.getId());
+ runtimeContext.setNamespacePrefix(getNamespaceFrom(windowContext));
InstanceContext instanceContext = invocation.getInstanceContext();
runtimeContext.setPortletInstanceKey(instanceContext == null ? null :
instanceContext.getId());
@@ -140,6 +141,11 @@
return response;
}
+ protected String getNamespaceFrom(WindowContext windowContext)
+ {
+ return windowContext == null ? null :
PortletUtils.generateNamespaceFrom(windowContext.getId());
+ }
+
/**
* Deals with common error conditions.
*
Modified: trunk/wsrp/src/main/org/jboss/portal/wsrp/consumer/RenderHandler.java
===================================================================
--- trunk/wsrp/src/main/org/jboss/portal/wsrp/consumer/RenderHandler.java 2007-01-18
19:25:19 UTC (rev 6035)
+++ trunk/wsrp/src/main/org/jboss/portal/wsrp/consumer/RenderHandler.java 2007-01-18
19:31:56 UTC (rev 6036)
@@ -157,8 +157,7 @@
private String processMarkup(String markup, PortletInvocation invocation, boolean
rewriteURLs)
{
// fix-me: how to deal with fragment header? => interceptor?
- String prefix = consumer.getProducerId() + SEPARATOR
- + Integer.toHexString(invocation.getWindowContext().getId().hashCode()) +
SEPARATOR;
+ String prefix = getNamespaceFrom(invocation.getWindowContext()) + SEPARATOR;
markup = Tools.replace(markup, WSRPRewritingConstants.WSRP_REWRITE_TOKEN, prefix);
Modified: trunk/wsrp/src/main/org/jboss/portal/wsrp/producer/RequestProcessor.java
===================================================================
--- trunk/wsrp/src/main/org/jboss/portal/wsrp/producer/RequestProcessor.java 2007-01-18
19:25:19 UTC (rev 6035)
+++ trunk/wsrp/src/main/org/jboss/portal/wsrp/producer/RequestProcessor.java 2007-01-18
19:31:56 UTC (rev 6036)
@@ -202,7 +202,7 @@
}
// get the mode
- String mode = null;
+ String mode;
try
{
mode = getMatchingOrFailFrom(markupType.getModes(), params.getMode(),
PORTLET_MODE);
@@ -213,7 +213,7 @@
}
// get the window state
- String windowState = null;
+ String windowState;
try
{
windowState = getMatchingOrFailFrom(markupType.getWindowStates(),
params.getWindowState(), WINDOW_STATE);
@@ -296,8 +296,6 @@
protected StateString createNavigationalState(String navigationalState)
{
- // fix-me: create opaque NS and implement an interceptor that does conversion to
jboss NS
-// PortletNavigationalState navigationalState = new
OpaquePortletNavigationalState(navigationalState);
if (navigationalState == null)
{
return null;
Show replies by date