Raphaël Luta wrote:
I was looking at J2 source code trying to figure out where to
modify the source code to allow a portal parameter to be considered
as a portlet parameter for all portlets found on the same page when
I encountered the following code in

org.apache.jetspeed.services.information.PortletURLProviderImpl

public String toString()
{
if ( clearParameters )
{
if (parameters != null)
{
Iterator names = parameters.keySet().iterator();
Map map = new HashMap();
while (names.hasNext())
{
String name = (String) names.next();
Object value = parameters.get(name);
String[] values = value instanceof String ? new String[] {(String) value } : (String[]) value;
map.put(name,values);
}
}
return url.createPortletURL(portletWindow,parameters,mode,state,action,secure);
}
else
{
return url.createPortletURL(portletWindow,mode,state,secure);
}
}


This seems clearly wrong to me since we create a new local HashMap (map)
that is never atually used. If someone can clue me in what this code is
supposed to do, I'll fix it.

You're absolutely correct Raphaël, this is wrong.
It is a long time ago I've been looking at this and I can't remember anymore
what I was thinking at the time I wrote it but indeed, this isn't good.
The whole logic behind the if (clearparameters) statement is wrong although it
more or less seems to do the job (but probably only because Pluto always calls
clearParameters() before it calls setParameters(Map)).

There is more going on here though. I've seen some reports by users complaining
that previously defined renderparameters aren't removed even if not defined on
a new PortletURL. This area in the code might be part of that problem.
Most likely, I was working on that functionality but simply forgot to complete 
it
when I rewrote the PortletURL encoding.
Solving this properly might require changes to the NavigationalState 
implementation as well!
I wouldn't want to implement a (too) quick fix for that.

Starting from Wednesday, I expect to have more time on my hands to look at this
and will try to resolve it. if you can't wait that long and/or it is blocking 
you
go ahead and fix this part. I'll then pick it up after that.

Regards, Ate


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



Reply via email to