portals-jetspeed-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From a..@apache.org
Subject cvs commit: jakarta-jetspeed-2/portals-bridges/struts/src/java/org/apache/portals/bridges/struts StrutsPortlet.java PortletServlet.java PortletServletRequestDispatcher.java
Date Sat, 27 Nov 2004 01:04:13 GMT
ate         2004/11/26 17:04:12

  Modified:    portals-bridges/struts/src/java/org/apache/portals/bridges/struts
                        StrutsPortlet.java PortletServlet.java
                        PortletServletRequestDispatcher.java
  Log:
  Support for multiple struts portlets (from one PA) on one page:
  Each portlet now uses a unique StrutsPortletRenderContext session key.
  Patch submitted by Andreas Steffan.
  
  Revision  Changes    Path
  1.7       +3 -1      jakarta-jetspeed-2/portals-bridges/struts/src/java/org/apache/portals/bridges/struts/StrutsPortlet.java
  
  Index: StrutsPortlet.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed-2/portals-bridges/struts/src/java/org/apache/portals/bridges/struts/StrutsPortlet.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- StrutsPortlet.java	15 Oct 2004 21:47:25 -0000	1.6
  +++ StrutsPortlet.java	27 Nov 2004 01:04:12 -0000	1.7
  @@ -98,6 +98,7 @@
       public static final String REDIRECT_URL = "org.apache.portals.bridges.struts.redirect_url";
       public static final String RENDER_CONTEXT = "org.apache.portals.bridges.struts.render_context";
       public static final String ERROR_CONTEXT = "org.apache.portals.bridges.struts.error_context";
  +    public static final String PORTLET_NAME = "org.apache.portals.bridges.struts.portlet_name";
       public static final String ACTION_REQUEST = "ACTION";
       public static final String VIEW_REQUEST = "VIEW";
       public static final String CUSTOM_REQUEST = "CUSTOM";
  @@ -228,6 +229,7 @@
                   this, request);
           HttpServletResponse res = servletContextProvider
                   .getHttpServletResponse(this, response);
  +        req.setAttribute(PORTLET_NAME, this.getPortletConfig().getPortletName());
           boolean actionRequest = (request instanceof ActionRequest);
           try
           {
  
  
  
  1.2       +28 -8     jakarta-jetspeed-2/portals-bridges/struts/src/java/org/apache/portals/bridges/struts/PortletServlet.java
  
  Index: PortletServlet.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed-2/portals-bridges/struts/src/java/org/apache/portals/bridges/struts/PortletServlet.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- PortletServlet.java	29 Jul 2004 22:16:40 -0000	1.1
  +++ PortletServlet.java	27 Nov 2004 01:04:12 -0000	1.2
  @@ -55,18 +55,38 @@
           if (!request.getAttribute(StrutsPortlet.REQUEST_TYPE).equals(
                   StrutsPortlet.ACTION_REQUEST))
           {
  -            StrutsPortletRenderContext context = (StrutsPortletRenderContext) request
  +            StrutsPortletRenderContext context = null;
  +        	
  +            String portletName = (String) request.getAttribute(StrutsPortlet.PORTLET_NAME);
  +        	
  +        		String contextKey = StrutsPortlet.RENDER_CONTEXT + "_" + portletName;
  +            context = (StrutsPortletRenderContext) request
                       .getSession(true)
  -                    .getAttribute(StrutsPortlet.RENDER_CONTEXT);
  +                    .getAttribute(contextKey);
               if (context != null)
               {
                   if (log.isDebugEnabled())
  +                {
                       log.debug("render context path: " + context.getPath());
  -                request.getSession().removeAttribute(
  -                        StrutsPortlet.RENDER_CONTEXT);
  -                if (context.getActionForm() != null)
  -                    request.setAttribute(mapping.getAttribute(), context
  -                            .getActionForm());
  +                }
  +                request.getSession().removeAttribute(contextKey);
  +                if (context.getActionForm() != null) {
  +                	String attribute = mapping.getAttribute();
  +                	if (attribute != null) {
  +                	    if (log.isDebugEnabled())
  +                	    {
  +                	        log.debug("Putting form " + context.getActionForm().getClass().getName()
+ 
  +                	                " into request as " + attribute + " for mapping " + mapping.getName());
  +                	    }
  +                    	request.setAttribute(mapping.getAttribute(), context
  +                                .getActionForm());
  +                	} 
  +                	else if (log.isWarnEnabled())
  +                	{
  +                	    log.warn("Attribute is null for form " + context.getActionForm().getClass().getName()
+ 
  +                	            ", won't put it into request for mapping " + mapping.getName());
  +                	}
  +                }
                   if (context.isRequestCancelled())
                       request.setAttribute(Globals.CANCEL_KEY, Boolean.TRUE);
                   if (context.getMessages() != null)
  
  
  
  1.2       +3 -3      jakarta-jetspeed-2/portals-bridges/struts/src/java/org/apache/portals/bridges/struts/PortletServletRequestDispatcher.java
  
  Index: PortletServletRequestDispatcher.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed-2/portals-bridges/struts/src/java/org/apache/portals/bridges/struts/PortletServletRequestDispatcher.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- PortletServletRequestDispatcher.java	29 Jul 2004 22:16:40 -0000	1.1
  +++ PortletServletRequestDispatcher.java	27 Nov 2004 01:04:12 -0000	1.2
  @@ -98,8 +98,8 @@
                               originURL);
                   }
               }
  -            req.getSession(true).setAttribute(StrutsPortlet.RENDER_CONTEXT,
  -                    context);
  +            String portletName = (String) req.getAttribute(StrutsPortlet.PORTLET_NAME);
  +            req.getSession(true).setAttribute(StrutsPortlet.RENDER_CONTEXT + "_" + portletName,
context);
           } 
           else
           {
  
  
  

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


Mime
View raw message