Hi,
discussing with the people that might be interested in funding the
nested layer groups
work we agreed a commit on 2.1.x is not critical.
So, what changes would be needed to only only in trunk?
I guess we could keep the layers property as is, making it a list of
CatalogInfo (or
common group/layers superclass, AbstractLayerInfo maybe, but as I
said, with no extra
work related to adding the common properties) and have a layers() method that
flattens out the list of LayerInfo().
This should also made the xstream work pretty much transparent, as we don't have
expectations that a 2.2.x data dir keeps on working when ported back to 2.1.x
There is a residual wrinkle I guess, which is styles: the current
layer group setup
has two parallel lists, layers and styles.
If we want to maintain this setup a layer group would have to correspond to an
empty slot in the styles list.
Or... we could have getLayers() contain a LayerGroupItemInfo, which in turns
contains Layer, LayerGroup and Style, or make that an abstract class
with two subclasses, one for layer groups and one for layers.
Not too eager on the second approach, it is more OO but also just
replace an if to test if
the layer or layer group is set with instanceof checks, and would make building
and processing the item lists more cumbersome.
Opinions?
Anything else missing?
Cheers
Andrea
--
-------------------------------------------------------
Ing. Andrea Aime
GeoSolutions S.A.S.
Tech lead
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 962313
http://www.geo-solutions.it
http://geo-solutions.blogspot.com/
http://www.youtube.com/user/GeoSolutionsIT
http://www.linkedin.com/in/andreaaime
http://twitter.com/geowolf
-------------------------------------------------------