Author: cziegeler
Date: Fri Nov 23 07:15:18 2012
New Revision: 1412764

URL: http://svn.apache.org/viewvc?rev=1412764&view=rev
Log:
Support per request services

Modified:
    
sling/whiteboard/portal/container/src/main/java/org/apache/sling/portal/container/internal/PortletRenderResponseContextImpl.java
    
sling/whiteboard/portal/container/src/main/java/org/apache/sling/portal/container/internal/services/DefaultPortletInvokerService.java

Modified: 
sling/whiteboard/portal/container/src/main/java/org/apache/sling/portal/container/internal/PortletRenderResponseContextImpl.java
URL: 
http://svn.apache.org/viewvc/sling/whiteboard/portal/container/src/main/java/org/apache/sling/portal/container/internal/PortletRenderResponseContextImpl.java?rev=1412764&r1=1412763&r2=1412764&view=diff
==============================================================================
--- 
sling/whiteboard/portal/container/src/main/java/org/apache/sling/portal/container/internal/PortletRenderResponseContextImpl.java
 (original)
+++ 
sling/whiteboard/portal/container/src/main/java/org/apache/sling/portal/container/internal/PortletRenderResponseContextImpl.java
 Fri Nov 23 07:15:18 2012
@@ -147,7 +147,8 @@ public class PortletRenderResponseContex
         }
         final Collection<PortletMode> supportedModes = modes;
 
-        final PortletTitleRenderer renderer = 
((SlingPortletContainer)this.getContainer()).getPortletTitleRenderer();
+        final PortletTitleRenderer requestRenderer = (PortletTitleRenderer) 
this.getServletRequest().getAttribute(PortletTitleRenderer.class.getName());
+        final PortletTitleRenderer renderer = requestRenderer == null ? 
((SlingPortletContainer)this.getContainer()).getPortletTitleRenderer() : 
requestRenderer;
         renderer.render(pw, new PortletTitleRendererContext() {
 
             public String getTitle() {

Modified: 
sling/whiteboard/portal/container/src/main/java/org/apache/sling/portal/container/internal/services/DefaultPortletInvokerService.java
URL: 
http://svn.apache.org/viewvc/sling/whiteboard/portal/container/src/main/java/org/apache/sling/portal/container/internal/services/DefaultPortletInvokerService.java?rev=1412764&r1=1412763&r2=1412764&view=diff
==============================================================================
--- 
sling/whiteboard/portal/container/src/main/java/org/apache/sling/portal/container/internal/services/DefaultPortletInvokerService.java
 (original)
+++ 
sling/whiteboard/portal/container/src/main/java/org/apache/sling/portal/container/internal/services/DefaultPortletInvokerService.java
 Fri Nov 23 07:15:18 2012
@@ -181,8 +181,10 @@ public class DefaultPortletInvokerServic
                 final HttpServletResponse containerResponse = 
context.getContainerResponse();
 
                 try {
-                    
containerRequest.setAttribute(SlingRequestDispatcher.REQ_ATTR, new 
SlingRequestDispatcherImpl(
-                        (SlingHttpServletRequest)containerRequest, 
(SlingHttpServletResponse)containerResponse));
+                    if ( 
containerRequest.getAttribute(SlingRequestDispatcher.REQ_ATTR) == null ) {
+                        
containerRequest.setAttribute(SlingRequestDispatcher.REQ_ATTR, new 
SlingRequestDispatcherImpl(
+                            (SlingHttpServletRequest)containerRequest, 
(SlingHttpServletResponse)containerResponse));
+                    }
                     containerRequest.setAttribute(ATTR_PORTLET, portletEntity);
                     containerRequest.setAttribute(Container.ATTR_CONTAINER, 
this);
                     
containerRequest.setAttribute(PortletInvokerService.METHOD_ID, methodID);


Reply via email to