[ 
https://issues.apache.org/jira/browse/WICKET-2078?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12720017#action_12720017
 ] 

Hardi Probst commented on WICKET-2078:
--------------------------------------

>From my point of view the IBM-suggestion does not address this issue. I 
>believe the problem is that the IBM implementation treats action and render 
>requests differently. For example when you trigger an action in a test portlet:

        public void processAction(ActionRequest request, ActionResponse 
response) throws PortletException, java.io.IOException {
            String rdInput="/JSR286ParameterRDAction/"+ 
"?param1=111&param2=222";
        PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher( 
rdInput );
        rd.include(request,response);
        }

you wont get the parameters in the servlet-filter mapped to 
"/JSR286ParameterRDAction/*":

    public void doFilter(ServletRequest request, ServletResponse response, 
FilterChain chain) throws IOException,
            ServletException
    {
        int parameterCount=request.getParameterMap().size() ;
     }

the value of "parameterCount" must be 2 in this example, but with WPS 6.1.0.23 
it is 0!
when you do the same from a render request you get the expected result of 2.

I also tested it with the IBM-suggestion:

    public void doFilter(ServletRequest request, ServletResponse response, 
FilterChain chain) throws IOException,
            ServletException
    {
        PortletRequest portletRequest= (PortletRequest) 
request.getAttribute("javax.portlet.request");
        int parameterCount=portletRequest.getParameterMap().size() ;
    }

But it makes no difference (parameterCount is also 0 ), and I think thats the 
correct and expected value but helps nothing to fix this issue!

> WICKET-2058 does not support IBM Websphere Portal Server 6.1
> ------------------------------------------------------------
>
>                 Key: WICKET-2078
>                 URL: https://issues.apache.org/jira/browse/WICKET-2078
>             Project: Wicket
>          Issue Type: Bug
>          Components: wicket-portlet
>         Environment: WebSphere Platform 6.1 [ND 6.1.0.15 cf150808.12]  
>            Reporter: Hardi Probst
>            Assignee: Ate Douma
>         Attachments: patch.txt, patch2.txt
>
>
> First of all I want to say thanks a lot for resolving the issue WICKET-2058 
> to Ate, Thijs and Antony!
> I checked out the revision 739543 from trunk and experimented/tested a lot 
> with the wicket examples within IBM Websphere Portal 6.1.
> I had to add the following lines into web.xml to get the first 
> example-portlets visible in my browser:
>   <context-param>
>     <param-name>org.apache.wicket.detectPortletContext</param-name>
>     <param-value>true</param-value>
>   </context-param>
> The next problem I stumbled over was that the generated links (e.g. 
> BookmarkablePageLink<Void>("link", PageXY.class) ) did not work at all.
> I traced the problem down to the point that the generated wicketURL in 
> PortletRequestContext.encodeRenderURL includes all query-parameters but the 
> PortletFilter does 
> not get them as parameters, just the path-part.
> WicketPortlet.processRequest:
>       PortletRequestDispatcher rd = 
> getPortletContext().getRequestDispatcher(wicketURL);
>       if (rd != null)
>       {
>               // delegate to wicket filter - this is where the magic happens
>               rd.include(request, response);
>               ...
> Let's assume wicketURL has the value of 
> "/repeater/?wicket:interface=:8:oir:17:toggleHighlite:2:ILinkListener::", the 
> result would be the same as the value of "/repeater/".
> I was able to fix it by applying the query parameters as "real" parameters to 
> the javax.portlet.PortletURL for Action and Render-URLs (see Patch for 
> PortletRequestContext).
> After that I had the same problem with form-submission. The form-values came 
> in perfectly to the model, but after leaving the ACTION-PHASE the state was 
> all gone in RENDER-PHASE. 
> So I did the same in WicketPortlet.processActionResponseState and applied all 
> wicketURL-query parameteters to the response (setRenderParameter). see Patch 
> for WicketPortlet.
> Another solution could be a PortletRequestWrapper within the WicketFilter 
> implementation. Or does anybody have a better idea?
> It would be really great to see this issue fixed in wicket 1.4!
> I'll keep on testing the next days with the ajax examples (some worked 
> already with the provided patch applied) and WPS 6.1...

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to