You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by wo...@apache.org on 2009/03/25 19:09:01 UTC

svn commit: r758379 - in /portals/jetspeed-2/portal/trunk: components/jetspeed-layout-portlets/src/main/java/org/apache/jetspeed/portlets/layout/ components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/ components/jetspeed-portal...

Author: woonsan
Date: Wed Mar 25 18:08:40 2009
New Revision: 758379

URL: http://svn.apache.org/viewvc?rev=758379&view=rev
Log:
JS2-938: Fixes some NPEs to see pages running.
If you deploy to tomcat and visit the page, then you can see some content of the page from the second visit.
Some navigational states and other things should be fixed. Anyway, you can see something. :-)

Modified:
    portals/jetspeed-2/portal/trunk/components/jetspeed-layout-portlets/src/main/java/org/apache/jetspeed/portlets/layout/LayoutPortlet.java
    portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/LocalPortletInvoker.java
    portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/velocity/JetspeedPowerToolFactory.java
    portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/velocity/JetspeedPowerToolImpl.java
    portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/layout/JetspeedPowerToolFactory.java

Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-layout-portlets/src/main/java/org/apache/jetspeed/portlets/layout/LayoutPortlet.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-layout-portlets/src/main/java/org/apache/jetspeed/portlets/layout/LayoutPortlet.java?rev=758379&r1=758378&r2=758379&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-layout-portlets/src/main/java/org/apache/jetspeed/portlets/layout/LayoutPortlet.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-layout-portlets/src/main/java/org/apache/jetspeed/portlets/layout/LayoutPortlet.java Wed Mar 25 18:08:40 2009
@@ -125,7 +125,7 @@
     {
         RequestContext context = getRequestContext(request);
         response.setContentType(context.getMimeType());        
-        JetspeedPowerTool jpt = getJetspeedPowerTool(request);
+        JetspeedPowerTool jpt = getJetspeedPowerTool(request, response);
 
         String absHelpPage = "";
 
@@ -153,7 +153,7 @@
             if (ct == null)
             {
                 TemplateDescriptor template = null;
-                Configuration props = getConfiguration(request, helpPage);
+                Configuration props = getConfiguration(request, response, helpPage);
                 String ext = (String) props.getString(TEMPLATE_EXTENSION_KEY);
                 String path = helpPage + "/" + JetspeedPowerTool.LAYOUT_TEMPLATE_TYPE + "-help" + ext;                               
                 template = jpt.getTemplate(path, JetspeedPowerTool.LAYOUT_TEMPLATE_TYPE);
@@ -212,7 +212,7 @@
         String absViewPage = null;
         try
         {
-            JetspeedPowerTool jpt = getJetspeedPowerTool(request);
+            JetspeedPowerTool jpt = getJetspeedPowerTool(request, response);
             if (maximized)
             {
                 viewPage = getCachedLayoutViewPage(request, PortalReservedParameters.PAGE_LAYOUT_MAX);                       
@@ -269,7 +269,7 @@
             if (ct == null)
             {
                 TemplateDescriptor template = null;
-                Configuration props = getConfiguration(request, viewPage);
+                Configuration props = getConfiguration(request, response, viewPage);
                 String ext = (String) props.getString(TEMPLATE_EXTENSION_KEY);
                 String path = viewPage + "/" + JetspeedPowerTool.LAYOUT_TEMPLATE_TYPE + ext;
                 
@@ -414,7 +414,7 @@
      * @return
      * @throws PortletException
      */
-    protected JetspeedPowerTool getJetspeedPowerTool( RenderRequest request ) throws PortletException
+    protected JetspeedPowerTool getJetspeedPowerTool( RenderRequest request, RenderResponse response ) throws PortletException
     {
         JetspeedPowerTool tool = (JetspeedPowerTool) request.getAttribute(PortalReservedParameters.JETSPEED_POWER_TOOL_REQ_ATTRIBUTE);
         RequestContext requestContext = (RequestContext) request.getAttribute(PortalReservedParameters.REQUEST_CONTEXT_ATTRIBUTE);
@@ -431,7 +431,7 @@
                                     + "the HttpServletRequest.");
                 }
 
-                tool = this.jptFactory.getJetspeedPowerTool(requestContext);
+                tool = this.jptFactory.getJetspeedPowerTool(requestContext, getPortletConfig(), request, response );
                 request.setAttribute(PortalReservedParameters.JETSPEED_POWER_TOOL_REQ_ATTRIBUTE, tool);
             }
 
@@ -647,7 +647,7 @@
      * @return <code>java.util.Properties</code> representing the configuration
      * object.
      */
-    protected Configuration getConfiguration( RenderRequest request, String name )
+    protected Configuration getConfiguration( RenderRequest request, RenderResponse response, String name )
     {
         Configuration props = null;
         JetspeedPowerTool jpt = null;
@@ -655,7 +655,7 @@
         String key = name;
         try
         {
-            jpt = getJetspeedPowerTool(request);
+            jpt = getJetspeedPowerTool(request, response);
             templatePropertiesPath = jpt.getTemplate(name + "/" + JetspeedPowerTool.LAYOUT_TEMPLATE_TYPE + ".properties",
                     JetspeedPowerTool.LAYOUT_TEMPLATE_TYPE).getAbsolutePath();
         } 

Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/LocalPortletInvoker.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/LocalPortletInvoker.java?rev=758379&r1=758378&r2=758379&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/LocalPortletInvoker.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/container/invoker/LocalPortletInvoker.java Wed Mar 25 18:08:40 2009
@@ -28,15 +28,17 @@
 import javax.portlet.UnavailableException;
 import javax.servlet.ServletConfig;
 import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
 
 import org.apache.jetspeed.PortalReservedParameters;
+import org.apache.jetspeed.container.FilterManager;
 import org.apache.jetspeed.container.PortletWindow;
 import org.apache.jetspeed.factory.PortletFactory;
 import org.apache.jetspeed.factory.PortletInstance;
 import org.apache.jetspeed.om.portlet.PortletDefinition;
 import org.apache.jetspeed.om.window.impl.PortletWindowImpl;
 import org.apache.jetspeed.request.JetspeedRequestContext;
-import org.apache.jetspeed.container.FilterManager;
 import org.apache.pluto.container.PortletInvokerService;
 import org.apache.pluto.container.PortletRequestContext;
 import org.apache.pluto.container.PortletResponseContext;
@@ -120,11 +122,18 @@
         {
             PortletResponseContext responseContext = (PortletResponseContext)portletRequest.getAttribute(PortletInvokerService.RESPONSE_CONTEXT);
             ((JetspeedRequestContext)window.getRequestContext()).setCurrentPortletWindow(window);
+            
             window.setInvocationState(action, requestContext, responseContext, portletRequest, portletResponse, portletInstance);
             window.setAttribute(PortalReservedParameters.FRAGMENT_ATTRIBUTE, window.getFragment());
             window.setAttribute(PortalReservedParameters.PORTLET_WINDOW_ATTRIBUTE, window);
             window.setAttribute(PortalReservedParameters.PORTLET_DEFINITION_ATTRIBUTE, portletDefinition);
             
+            // initialize request/response for portletRequestContext
+            HttpServletRequest request = requestContext.getContainerRequest();
+            HttpServletResponse response = requestContext.getContainerResponse();
+            requestContext.init(window.getPortletInstance().getConfig(), this.jetspeedContext, request, response);
+            window.getPortletResponseContext().init(request, response);
+            
             Thread.currentThread().setContextClassLoader(paClassLoader);
             
             if (PortletWindow.Action.ACTION == action)

Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/velocity/JetspeedPowerToolFactory.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/velocity/JetspeedPowerToolFactory.java?rev=758379&r1=758378&r2=758379&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/velocity/JetspeedPowerToolFactory.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/velocity/JetspeedPowerToolFactory.java Wed Mar 25 18:08:40 2009
@@ -18,7 +18,10 @@
 
 import java.lang.reflect.Constructor;
 
+import javax.portlet.PortletConfig;
 import javax.portlet.PortletException;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -44,17 +47,17 @@
         jptClass = Thread.currentThread().getContextClassLoader().loadClass(jptClassName);
         constructor =
             jptClass.getConstructor(
-                new Class[] {RequestContext.class, DynamicTitleService.class, PortletRenderer.class});        
+                new Class[] {RequestContext.class, PortletConfig.class, RenderRequest.class, RenderResponse.class, DynamicTitleService.class, PortletRenderer.class});        
         this.titleService = titleService;
         this.renderer = renderer;
     }
        
-    public JetspeedPowerTool getJetspeedPowerTool(RequestContext requestContext)
+    public JetspeedPowerTool getJetspeedPowerTool(RequestContext requestContext, PortletConfig portletConfig, RenderRequest renderRequest, RenderResponse renderResponse)
     throws PortletException
     {
         try
         {
-        	Object [] initArgs = { requestContext, this.titleService, this.renderer };
+        	Object [] initArgs = { requestContext, portletConfig, renderRequest, renderResponse, this.titleService, this.renderer };
             return (JetspeedPowerTool)constructor.newInstance(initArgs);
         }
         catch (Exception e)

Modified: portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/velocity/JetspeedPowerToolImpl.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/velocity/JetspeedPowerToolImpl.java?rev=758379&r1=758378&r2=758379&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/velocity/JetspeedPowerToolImpl.java (original)
+++ portals/jetspeed-2/portal/trunk/components/jetspeed-portal/src/main/java/org/apache/jetspeed/velocity/JetspeedPowerToolImpl.java Wed Mar 25 18:08:40 2009
@@ -129,7 +129,7 @@
     
     private PortletRenderer renderer;
 
-    public JetspeedPowerToolImpl(RequestContext requestContext, DynamicTitleService titleService,PortletRenderer renderer) throws Exception
+    public JetspeedPowerToolImpl(RequestContext requestContext, PortletConfig portletConfig, RenderRequest renderRequest, RenderResponse renderResponse, DynamicTitleService titleService,PortletRenderer renderer) throws Exception
     {
         HttpServletRequest request = requestContext.getRequest();
         this.requestContext = requestContext;
@@ -143,10 +143,9 @@
             // BasePortalURL is optional: ignore (org.springframework.beans.factory.NoSuchBeanDefinitionException)
         }
         
-        renderRequest = (RenderRequest) request.getAttribute(RENDER_REQUEST_ATTR);
-        renderResponse = (RenderResponse) request.getAttribute(RENDER_RESPONSE_ATTR);
-        portletConfig = (PortletConfig) request.getAttribute(PORTLET_CONFIG_ATTR);
-
+        this.portletConfig = portletConfig;
+        this.renderRequest = renderRequest;
+        this.renderResponse = renderResponse;
 
         templateLocator = (TemplateLocator) getComponent("TemplateLocator");
         decorationLocator = (TemplateLocator) getComponent("DecorationLocator");

Modified: portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/layout/JetspeedPowerToolFactory.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/layout/JetspeedPowerToolFactory.java?rev=758379&r1=758378&r2=758379&view=diff
==============================================================================
--- portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/layout/JetspeedPowerToolFactory.java (original)
+++ portals/jetspeed-2/portal/trunk/jetspeed-api/src/main/java/org/apache/jetspeed/layout/JetspeedPowerToolFactory.java Wed Mar 25 18:08:40 2009
@@ -16,7 +16,10 @@
  */
 package org.apache.jetspeed.layout;
 
+import javax.portlet.PortletConfig;
 import javax.portlet.PortletException;
+import javax.portlet.RenderRequest;
+import javax.portlet.RenderResponse;
 
 import org.apache.jetspeed.request.RequestContext;
 
@@ -28,5 +31,5 @@
  */
 public interface JetspeedPowerToolFactory
 {
-    JetspeedPowerTool getJetspeedPowerTool(RequestContext requestContext) throws PortletException;
+    JetspeedPowerTool getJetspeedPowerTool(RequestContext requestContext, PortletConfig portletConfig, RenderRequest renderRequest, RenderResponse renderResponse) throws PortletException;
 }
\ No newline at end of file



---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org