Message:

   The following issue has been resolved as CANNOT REPRODUCE.

   Resolver: fabrizio giustina
       Date: Thu, 30 Dec 2004 12:09 PM

this works for me, and the proposed patch seems to have no effects.
I added a testcase for the addParameter method in Href, please check it to see 
if it correctly reproduces your test case:
org.displaytag.util.HrefTest.testAddParameterMapMultiValue()

In your patch you simply replaced
this.parameters.put(key, value);
with 
this.parameters.put(key, values);
but this has no effects since "value" and "values" referes to the same object:
String[] values = (String[]) value;


---------------------------------------------------------------------
View the issue:
  http://jira.codehaus.org/browse/DISPL-163

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: DISPL-163
    Summary: request parameters not apanded correctly for paging links
       Type: Bug

     Status: Resolved
   Priority: Major
 Resolution: CANNOT REPRODUCE

 Original Estimate: Unknown
 Time Spent: Unknown
  Remaining: Unknown

    Project: DisplayTag
 Components: 
             Paging/Sorting
   Fix Fors:
             1.0
   Versions:
             1.0 RC2

   Assignee: fabrizio giustina
   Reporter: abhishek sehgal

    Created: Thu, 30 Dec 2004 8:41 AM
    Updated: Thu, 30 Dec 2004 12:09 PM

Description:
We are trying to work around and use display tag to implement the display of 
dynamic colums. i.e. out of the available columns we display tonly the columns 
selected by the user. This works fine for the first page of the results, as teh 
column names are available in request but it does not work for the paging links 
as the values for a multi value parameter 'tofield' are lost.

I have fixed this issue by making the following change to Href.java

public void addParameterMap(Map parametersMap)
    {
        // handle nulls
        if (parametersMap == null)
        {
            return;
        }

        // copy value, escaping html
        Iterator mapIterator = parametersMap.entrySet().iterator();
        while (mapIterator.hasNext())
        {
            Map.Entry entry = (Map.Entry) mapIterator.next();
            String key = StringEscapeUtils.escapeHtml((String) entry.getKey());

            // don't overwrite parameters
            if (!this.parameters.containsKey(key))
            {
                Object value = entry.getValue();
                
                if (value != null)
                {
                    if (value.getClass().isArray())
                    {
                                                
                        String[] values = (String[]) value;
                        for (int i = 0; i < values.length; i++)
                        {
                            values[i] = StringEscapeUtils.escapeHtml(values[i]);
                        }

                        this.parameters.put(key, values);
                    }
                    else
                    {
                        value = StringEscapeUtils.escapeHtml(value.toString());
                        this.parameters.put(key, value);
                    }
                }

                
            }
        }
    }

For multi value parameters the original code was escaping the HTML and 
assigning into values but was still adding the value array. I changes the code 
to add the values array in  case we have a multi value parameter. I have this 
code available. Either you can make the change available in a new release or 
let me know a way I can submit this code. I tried to connect to the cvs 
repository as an anonymous user but got a login failure.

The fix is important as this is required to pass parameters with special 
characters in the paging links.



---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.

If you think it was sent incorrectly contact one of the administrators:
   http://jira.codehaus.org/secure/Administrators.jspa

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira



-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
_______________________________________________
displaytag-devel mailing list
displaytag-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/displaytag-devel

Reply via email to