ate         2004/10/15 14:47:26

  Modified:    applications/demo/src/webapp/WEB-INF/demo/preference
                        pref-view.jsp
               layout-portlets/src/java/org/apache/jetspeed/portlets/layout
                        MultiColumnPortlet.java LayoutPortlet.java
               taglibs/treecontrol/src/java/org/apache/jetspeed/portlets/tags
                        PortletTreeControlTag.java
               .        .classpath
               portals-bridges/struts/src/java/org/apache/portals/bridges/struts
                        StrutsPortlet.java StrutsPortletURL.java
  Log:
  Implementing PLT.7.1 PortletURL request parameter name and value encoding
  See: http://issues.apache.org/jira/browse/JS2-149
  
  Revision  Changes    Path
  1.7       +5 -5      
jakarta-jetspeed-2/applications/demo/src/webapp/WEB-INF/demo/preference/pref-view.jsp
  
  Index: pref-view.jsp
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed-2/applications/demo/src/webapp/WEB-INF/demo/preference/pref-view.jsp,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- pref-view.jsp     9 Sep 2004 22:08:17 -0000       1.6
  +++ pref-view.jsp     15 Oct 2004 21:47:25 -0000      1.7
  @@ -25,12 +25,12 @@
   <h3><fmt:message key="prefview.label.PreferenceList"/></h3>

   

   <p>

  +<fmt:message key="prefview.label.noactionjustrender" var="viewMeParam"/>

  +<jsp:useBean id="viewMeParam" type="String"/>

   

  -<portlet:renderURL windowState="normal" portletMode="view"  var="baseViewLink"/>

  -<c:url value="${baseViewLink}" var="viewLink">

  -      <c:param name="invokeMessage"><fmt:message 
key="prefview.label.noactionjustrender"/></c:param>

  -</c:url>

  -

  +<portlet:renderURL windowState="normal" portletMode="view" var="viewLink">

  +  <portlet:param name="invokeMessage" value="<%=viewMeParam%>"/>

  +</portlet:renderURL>

   <a href="<c:out value="${viewLink}" />"><fmt:message 
key="prefview.label.ViewMe"/></a>

   </p>

   

  
  
  
  1.6       +1 -1      
jakarta-jetspeed-2/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/MultiColumnPortlet.java
  
  Index: MultiColumnPortlet.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed-2/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/MultiColumnPortlet.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- MultiColumnPortlet.java   23 Sep 2004 03:29:29 -0000      1.5
  +++ MultiColumnPortlet.java   15 Oct 2004 21:47:25 -0000      1.6
  @@ -69,7 +69,7 @@
       public void doView( RenderRequest request, RenderResponse response ) throws 
PortletException, IOException
       {
           RequestContext context = Jetspeed.getCurrentRequestContext();
  -        PortletWindow window = 
context.getNavigationalState().getMaximizedWindow(context.getPage());
  +        PortletWindow window = 
context.getPortalURL().getNavigationalState().getMaximizedWindow();
   
           if (request.getParameter("moveBy") != null && 
request.getParameter("fragmentId") != null)
           {
  
  
  
  1.6       +1 -1      
jakarta-jetspeed-2/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/LayoutPortlet.java
  
  Index: LayoutPortlet.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed-2/layout-portlets/src/java/org/apache/jetspeed/portlets/layout/LayoutPortlet.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- LayoutPortlet.java        6 Oct 2004 23:44:55 -0000       1.5
  +++ LayoutPortlet.java        15 Oct 2004 21:47:25 -0000      1.6
  @@ -93,7 +93,7 @@
           response.setContentType("text/html");
   
           RequestContext context = Jetspeed.getCurrentRequestContext();
  -        PortletWindow window = 
context.getNavigationalState().getMaximizedWindow(context.getPage());
  +        PortletWindow window = 
context.getPortalURL().getNavigationalState().getMaximizedWindow();
           boolean maximized = (window != null);
           
           request.setAttribute(PortalReservedParameters.PAGE_ATTRIBUTE_KEY, 
getPage(request));
  
  
  
  1.4       +14 -7     
jakarta-jetspeed-2/taglibs/treecontrol/src/java/org/apache/jetspeed/portlets/tags/PortletTreeControlTag.java
  
  Index: PortletTreeControlTag.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed-2/taglibs/treecontrol/src/java/org/apache/jetspeed/portlets/tags/PortletTreeControlTag.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- PortletTreeControlTag.java        2 Sep 2004 15:15:33 -0000       1.3
  +++ PortletTreeControlTag.java        15 Oct 2004 21:47:25 -0000      1.4
  @@ -160,19 +160,22 @@
           // character in parameter values. 
           String encodedNodeName = URLEncoder.encode(node.getName());
   
  -        String action = replace(getAction(), "${name}", encodedNodeName);
  +        PortletURL treeActionUrl = renderResponse.createActionURL();
  +        treeActionUrl.setParameter("node", node.getName());
  +        String treeAction = treeActionUrl.toString();
  +//        String action = replace(getAction(), "${name}", encodedNodeName);
   
           
  -        String updateTreeAction =
  -            replace(getAction(), "tree=${name}", "select=" + encodedNodeName);
  -        updateTreeAction =
  -            ((HttpServletResponse) pageContext.getResponse()).
  -            encodeURL(updateTreeAction);
  +//        String updateTreeAction =
  +//            replace(getAction(), "tree=${name}", "select=" + encodedNodeName);
  +//        updateTreeAction =
  +//            ((HttpServletResponse) pageContext.getResponse()).
  +//            encodeURL(updateTreeAction);
   
           out.print("    <td>");
           if ((action != null) && !node.isLeaf()) {
               out.print("<a href=\"");
  -            out.print(response.encodeURL(action));
  +            out.print(response.encodeURL(treeAction));
               out.print("\">");
           }
           out.print("<img src=\"");
  @@ -234,10 +237,12 @@
                       out.print(target);
                       out.print("\"");
                   }
  +                /* Invalid, not used, and not usefull
                   // to refresh the tree in the same 'self' frame
                   out.print(" onclick=\"");
                   out.print("self.location.href='" + updateTreeAction + "'");
                   out.print("\"");
  +                */
                   out.print(">");
               }
               out.print("<img src=\"");
  @@ -275,10 +280,12 @@
                       out.print(labelStyle);
                       out.print("\"");
                   }
  +                /* Invalid, not used, and not usefull
                   // to refresh the tree in the same 'self' frame
                   out.print(" onclick=\"");
                   out.print("self.location.href='" + updateTreeAction + "'");
                   out.print("\"");
  +                */
                   out.print(">");
               } else if (labelStyle != null) {
                   out.print("<span class=\"");
  
  
  
  1.69      +1 -0      jakarta-jetspeed-2/.classpath
  
  Index: .classpath
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed-2/.classpath,v
  retrieving revision 1.68
  retrieving revision 1.69
  diff -u -r1.68 -r1.69
  --- .classpath        15 Oct 2004 15:04:07 -0000      1.68
  +++ .classpath        15 Oct 2004 21:47:25 -0000      1.69
  @@ -97,5 +97,6 @@
        <classpathentry kind="var" path="MAVEN_REPO/nekohtml/jars/nekohtml-0.9.3.jar"/>
        <classpathentry kind="var" 
path="MAVEN_REPO/springframework/jars/spring-dao-1.1.1.jar"/>
        <classpathentry kind="var" 
path="MAVEN_REPO/springframework/jars/spring-orm-1.1.1.jar"/>
  +     <classpathentry kind="var" 
path="MAVEN_REPO/commons-codec/jars/commons-codec-1.3.jar"/>
        <classpathentry kind="output" path="bin"/>
   </classpath>
  
  
  
  1.6       +3 -5      
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.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- StrutsPortlet.java        29 Sep 2004 07:31:40 -0000      1.5
  +++ StrutsPortlet.java        15 Oct 2004 21:47:25 -0000      1.6
  @@ -297,8 +297,7 @@
                           pageURL = StrutsPortletURL.getOriginURL(req);
                           if (pageURL != null)
                               ((ActionResponse) response).setRenderParameter(
  -                                    StrutsPortletURL.PAGE, StrutsPortletURL
  -                                            .encodePageURL(pageURL));
  +                                    StrutsPortletURL.PAGE, pageURL);
                           if (log.isDebugEnabled())
                               log.debug("action render error context");
                           req.getSession().setAttribute(
  @@ -319,8 +318,7 @@
                               if (renderURL == null && log.isDebugEnabled())
                                   log.debug("action render page: " + pageURL);
                               ((ActionResponse) response).setRenderParameter(
  -                                    StrutsPortletURL.PAGE, StrutsPortletURL
  -                                            .encodePageURL(pageURL));
  +                                    StrutsPortletURL.PAGE, pageURL);
                           }
                       }
                   }
  
  
  
  1.2       +5 -29     
jakarta-jetspeed-2/portals-bridges/struts/src/java/org/apache/portals/bridges/struts/StrutsPortletURL.java
  
  Index: StrutsPortletURL.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-jetspeed-2/portals-bridges/struts/src/java/org/apache/portals/bridges/struts/StrutsPortletURL.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- StrutsPortletURL.java     29 Jul 2004 22:16:40 -0000      1.1
  +++ StrutsPortletURL.java     15 Oct 2004 21:47:25 -0000      1.2
  @@ -28,39 +28,15 @@
    */
   public class StrutsPortletURL
   {
  -    public static final char PATH_DIVIDER = '|';
  -    public static final char PARAM_DIVIDER = '$';
       public static final String PAGE = "_spage";
       public static final String ORIGIN = "_sorig";
  -    public static String encodePageURL(String url)
  -    {
  -        if (url != null && !url.startsWith("http://";))
  -        {
  -            url = url.replace('?', PARAM_DIVIDER).replace('&', PARAM_DIVIDER)
  -                    .replace('/', PATH_DIVIDER);
  -        }
  -        return url;
  -    }
       public static String getPageURL(ServletRequest request)
       {
  -        return decodePageURL(request.getParameter(PAGE));
  +        return request.getParameter(PAGE);
       }
       public static String getOriginURL(ServletRequest request)
       {
  -        return decodePageURL(request.getParameter(ORIGIN));
  -    }
  -    public static String decodePageURL(String url)
  -    {
  -        if (url != null)
  -        {
  -            int firstParamIndex;
  -            if ((firstParamIndex = url.indexOf(PARAM_DIVIDER)) != -1)
  -                url = (url.substring(0, firstParamIndex) + '?' + url
  -                        .substring(firstParamIndex + 1)).replace(PARAM_DIVIDER,
  -                        '&');
  -            url = url.replace(PATH_DIVIDER, '/');
  -        }
  -        return url;
  +        return request.getParameter(ORIGIN);
       }
       private static PortletURL createPortletURL(ServletRequest request,
               String pageURL, boolean actionURL)
  @@ -79,7 +55,7 @@
               if (pageURL.startsWith(contextPath))
                   pageURL = pageURL.substring(contextPath.length());
           }
  -        portletURL.setParameter(PAGE, encodePageURL(pageURL));
  +        portletURL.setParameter(PAGE, pageURL);
           if (actionURL)
           {
               String originURL = request.getParameter(PAGE);
  @@ -98,4 +74,4 @@
       {
           return createPortletURL(request, pageURL, true);
       }
  -}
  +}
  \ No newline at end of file
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to