diff --git a/src/main/java/it/geosolutions/geoserver/rest/decoder/RESTLayerGroup.java b/src/main/java/it/geosolutions/geoserver/rest/decoder/RESTLayerGroup.java index 8c51ff7..c6fb144 100644 --- a/src/main/java/it/geosolutions/geoserver/rest/decoder/RESTLayerGroup.java +++ b/src/main/java/it/geosolutions/geoserver/rest/decoder/RESTLayerGroup.java @@ -130,14 +130,22 @@ public class RESTLayerGroup { } } - public RESTPublishedList getPublishedList() { - if (rootElem.getChild("publishables") != null) { - return new RESTPublishedList(rootElem.getChild("publishables")); - } else { - return null; - } - } - + public RESTPublishedList getPublishedList() { + if (rootElem.getChild("publishables") != null) { + return new RESTPublishedList(rootElem.getChild("publishables")); + } else { + return null; + } + } + + public RESTStyleList getStyleList() { + if (rootElem.getChild("styles") != null) { + return new RESTStyleList(rootElem.getChild("styles")); + } else { + return null; + } + } + public String getCRS() { Element bounds = rootElem.getChild("bounds"); return bounds.getChildText("crs"); diff --git a/src/test/java/it/geosolutions/geoserver/rest/decoder/RESTLayerGroupTest.java b/src/test/java/it/geosolutions/geoserver/rest/decoder/RESTLayerGroupTest.java new file mode 100644 index 0000000..187c0ae --- /dev/null +++ b/src/test/java/it/geosolutions/geoserver/rest/decoder/RESTLayerGroupTest.java @@ -0,0 +1,47 @@ +package it.geosolutions.geoserver.rest.decoder; + +import it.geosolutions.geoserver.rest.decoder.utils.NameLinkElem; + +import java.io.IOException; +import java.io.InputStream; + +import org.apache.commons.io.IOUtils; +import org.junit.Assert; +import org.junit.Test; + +public class RESTLayerGroupTest { + + @Test + public void parseLayerGroup() throws IOException{ + InputStream is = RESTFeatureTypeListTest.class.getResourceAsStream("/testdata/layergroups.xml"); + String response = IOUtils.toString(is); + RESTLayerGroup lg = RESTLayerGroup.build(response); + + String[] expected_layers=new String[]{ + "layer001", + "layer002", + "layer003", + "geo:lg001", + "geo:lg002" + }; + + String[] expected_styles=new String[]{ + "grass", + null, + "raster", + null, + null + }; + + + RESTPublishedList children = lg.getPublishedList(); + RESTStyleList styles = lg.getStyleList(); + + for (int i=0;i + lg003 + SINGLE + + geo + + + + layer001 + + + + layer002 + + + + layer003 + + + + geo:lg001 + + + geo:lg002 + + + + + +