From 5ca054d021f24153af34f8f811acc6428dd9b48d Mon Sep 17 00:00:00 2001 From: Nico Mandery Date: Thu, 26 Jun 2014 11:07:33 +0200 Subject: [PATCH] 127 fix: expose the layers styles list to the java api --- .../geoserver/rest/decoder/RESTLayer.java | 15 +++++++++++++++ .../geoserver/decoder/LayerDecoderTest.java | 9 +++++++++ src/test/resources/testdata/layerExample.xml | 10 ++++++++++ 3 files changed, 34 insertions(+) diff --git a/src/main/java/it/geosolutions/geoserver/rest/decoder/RESTLayer.java b/src/main/java/it/geosolutions/geoserver/rest/decoder/RESTLayer.java index 49d85e7..f6e944a 100644 --- a/src/main/java/it/geosolutions/geoserver/rest/decoder/RESTLayer.java +++ b/src/main/java/it/geosolutions/geoserver/rest/decoder/RESTLayer.java @@ -53,6 +53,12 @@ import org.jdom.Namespace; capitals + + + tasmania_cities @@ -149,6 +155,15 @@ public class RESTLayer { Element defaultStyle = layerElem.getChild("defaultStyle"); return defaultStyle == null? null : defaultStyle.getChildText("name"); } + + public RESTStyleList getStyles() { + RESTStyleList styleList = null; + final Element stylesRoot = layerElem.getChild("styles"); + if (stylesRoot != null) { + styleList = new RESTStyleList(stylesRoot); + } + return styleList; + } public String getDefaultStyleWorkspace() { Element defaultStyle = layerElem.getChild("defaultStyle"); diff --git a/src/test/java/it/geosolutions/geoserver/decoder/LayerDecoderTest.java b/src/test/java/it/geosolutions/geoserver/decoder/LayerDecoderTest.java index 7962769..02a9435 100644 --- a/src/test/java/it/geosolutions/geoserver/decoder/LayerDecoderTest.java +++ b/src/test/java/it/geosolutions/geoserver/decoder/LayerDecoderTest.java @@ -1,6 +1,7 @@ package it.geosolutions.geoserver.decoder; import it.geosolutions.geoserver.rest.decoder.RESTLayer; +import it.geosolutions.geoserver.rest.decoder.RESTStyleList; import it.geosolutions.geoserver.rest.encoder.authorityurl.GSAuthorityURLInfoEncoder; import it.geosolutions.geoserver.rest.encoder.identifier.GSIdentifierInfoEncoder; @@ -66,6 +67,14 @@ public class LayerDecoderTest { Assert.assertEquals("capitals", layer.getDefaultStyle()); } + @Test + public void testStyles() { + RESTStyleList styles = layer.getStyles(); + Assert.assertTrue(styles.size() == 2); + Assert.assertEquals("green", styles.get(0).getName()); + Assert.assertEquals("blue", styles.get(1).getName()); + } + @Test public void testResourceUrl() { Assert.assertEquals( diff --git a/src/test/resources/testdata/layerExample.xml b/src/test/resources/testdata/layerExample.xml index af98cfa..bd6f1e5 100644 --- a/src/test/resources/testdata/layerExample.xml +++ b/src/test/resources/testdata/layerExample.xml @@ -6,6 +6,16 @@ capitals + + + + tasmania_cities