Hi,
I'm having issues with layer grouping on trunk... this is
a long and nasty story, so let me give you some background.
Before 1.5.1 release Alessio provided a patch to handle multiple
layer groups. After some massage, I merged it on 1.5.x, but
hadn't ported it to trunk because we were in a rush to release
1.5.1. And then, I forgot.
Today I spend some time trying to port it over, to find it
conflicts the hard way with the new dispatcher code (that in
the meantime was changed by Justin to use the new KVP parser
framework).
The trouble is that base map layer parsing was done by altering the request parameters before actual parsing, and this happened
on both layers and styles at the same time.
A base layer is defined by a list of layers and a list of styles,
for example base -> (l1,l2),(s1,s2).
When a request enters into 1.5.1, let's say it's
GetMap&layers=la,base,lb&styles=sa,sbase,sb
the code in 1.5.1 gets it, and expands style and layer to turn
it into:
GetMap&layers=la,l1,l2,lb&styles=sa,s1,s2,sb
This happens before actual parsing, so the GetMapKvpParser
did not know anything about grouping at all.
The trouble is, on trunk one can do KVP parsing of one
parameter at a time, so whilst I can still do the layer
expansion, I cannot do the same for styles (because it's
the layer that tell me a certain style has to be replaced
and expanded).
I guess the right solution now is to do the same job
in the GetMapKvpRequestReader, but nevertheless this
makes things harder (and makes us rehash some work
that was already done)...
Long story short... when you have to forward or back port
anything, do it right away, or bigger troubles than
you image will catch you when you'll attempt the merge.
Cheers
Andrea