Author: chris.laprun(a)jboss.com
Date: 2007-05-20 20:32:15 -0400 (Sun, 20 May 2007)
New Revision: 7278
Modified:
trunk/wsrp/src/main/org/jboss/portal/wsrp/consumer/ProducerInfo.java
trunk/wsrp/src/main/org/jboss/portal/wsrp/producer/RequestProcessor.java
trunk/wsrp/src/main/org/jboss/portal/wsrp/producer/WSRPInstanceContext.java
Log:
- WSRPInstanceContext now properly uses portletInstanceKey if present to create a proper
instance context.
- Fixed NPE if CCP cache is not initialized.
Modified: trunk/wsrp/src/main/org/jboss/portal/wsrp/consumer/ProducerInfo.java
===================================================================
--- trunk/wsrp/src/main/org/jboss/portal/wsrp/consumer/ProducerInfo.java 2007-05-20
22:45:55 UTC (rev 7277)
+++ trunk/wsrp/src/main/org/jboss/portal/wsrp/consumer/ProducerInfo.java 2007-05-21
00:32:15 UTC (rev 7278)
@@ -436,7 +436,7 @@
portlet = (Portlet)popsMap.get(portletHandle);
- if (portlet == null)
+ if (portlet == null && ccpsMap != null)
{
log.debug("Trying cached CCPs");
portlet = (Portlet)ccpsMap.get(portletHandle);
Modified: trunk/wsrp/src/main/org/jboss/portal/wsrp/producer/RequestProcessor.java
===================================================================
--- trunk/wsrp/src/main/org/jboss/portal/wsrp/producer/RequestProcessor.java 2007-05-20
22:45:55 UTC (rev 7277)
+++ trunk/wsrp/src/main/org/jboss/portal/wsrp/producer/RequestProcessor.java 2007-05-21
00:32:15 UTC (rev 7278)
@@ -140,7 +140,7 @@
MarkupInfo streamInfo = createStreamInfo(markupRequest);
PortalContext portalContext = createPortalContext(params, markupRequest);
UserContext userContext = createUserContext(wsrpUserContext,
markupRequest.getLocale(), desiredLocales);
- instanceContext = createInstanceContext(portletContext, getAccessMode());
+ instanceContext = createInstanceContext(portletContext, getAccessMode(),
runtimeContext.getPortletInstanceKey());
WindowContext windowContext = createWindowContext(portletContext.getId(),
runtimeContext);
// prepare the invocation
@@ -309,9 +309,9 @@
}
}
- private WSRPInstanceContext
createInstanceContext(org.jboss.portal.portlet.PortletContext portletContext, final
AccessMode accessMode)
+ private WSRPInstanceContext
createInstanceContext(org.jboss.portal.portlet.PortletContext portletContext, final
AccessMode accessMode, String instanceId)
{
- return new WSRPInstanceContext(portletContext, accessMode);
+ return new WSRPInstanceContext(portletContext, accessMode, instanceId);
}
private WindowContext createWindowContext(final String portletHandle, final
RuntimeContext runtimeContext)
Modified: trunk/wsrp/src/main/org/jboss/portal/wsrp/producer/WSRPInstanceContext.java
===================================================================
--- trunk/wsrp/src/main/org/jboss/portal/wsrp/producer/WSRPInstanceContext.java 2007-05-20
22:45:55 UTC (rev 7277)
+++ trunk/wsrp/src/main/org/jboss/portal/wsrp/producer/WSRPInstanceContext.java 2007-05-21
00:32:15 UTC (rev 7278)
@@ -37,21 +37,31 @@
class WSRPInstanceContext implements InstanceContext
{
private PortletContext context;
+ private String instanceId;
private final AccessMode accessMode;
private boolean wasModified = false;
- public WSRPInstanceContext(PortletContext portletContext, AccessMode accessMode)
+ public WSRPInstanceContext(PortletContext portletContext, AccessMode accessMode,
String instanceId)
{
ParameterValidation.throwIllegalArgExceptionIfNull(portletContext, "portlet
context");
ParameterValidation.throwIllegalArgExceptionIfNull(accessMode,
"AccessMode");
this.context = portletContext;
this.accessMode = accessMode;
+
+ if (instanceId != null && instanceId.length() > 0)
+ {
+ this.instanceId = instanceId;
+ }
+ else
+ {
+ this.instanceId = portletContext.getId();
+ }
}
public String getId()
{
- return context.getId();
+ return instanceId;
}
public AccessMode getAccessMode()
Show replies by date