From 882475be5cff45759aaf989ade6982a1db72b8cb Mon Sep 17 00:00:00 2001 From: ccancellieri Date: Wed, 28 Sep 2011 17:36:48 +0200 Subject: [PATCH] added reload support --- .../rest/GeoServerRESTPublisher.java | 11 ++++- .../encoder/utils/NestedElementEncoder.java | 42 +++++++++++++++++-- 2 files changed, 47 insertions(+), 6 deletions(-) diff --git a/src/main/java/it/geosolutions/geoserver/rest/GeoServerRESTPublisher.java b/src/main/java/it/geosolutions/geoserver/rest/GeoServerRESTPublisher.java index 93e1296..5720594 100644 --- a/src/main/java/it/geosolutions/geoserver/rest/GeoServerRESTPublisher.java +++ b/src/main/java/it/geosolutions/geoserver/rest/GeoServerRESTPublisher.java @@ -680,14 +680,21 @@ public class GeoServerRESTPublisher { } } + public boolean reload() { + String sUrl = restURL + "/rest/reload"; + String result = HTTPUtils.post(sUrl, "", "text/plain", gsuser, gspass); + return result != null; + } + public boolean removeLayerGroup(String name) { try { URL deleteUrl = new URL(restURL + "/rest/layergroups/" + name); boolean deleted = HTTPUtils.delete(deleteUrl.toExternalForm(), gsuser, gspass); if (!deleted) { - LOGGER.warn("Could not delete layergroup " + name); + LOGGER.warn("Could not delete layergroup " + name); } else { - LOGGER.info("Layergroup successfully deleted: " + name); + if (LOGGER.isInfoEnabled()) + LOGGER.info("Layergroup successfully deleted: " + name); } return deleted; diff --git a/src/main/java/it/geosolutions/geoserver/rest/encoder/utils/NestedElementEncoder.java b/src/main/java/it/geosolutions/geoserver/rest/encoder/utils/NestedElementEncoder.java index 7ba3776..65d4acf 100644 --- a/src/main/java/it/geosolutions/geoserver/rest/encoder/utils/NestedElementEncoder.java +++ b/src/main/java/it/geosolutions/geoserver/rest/encoder/utils/NestedElementEncoder.java @@ -73,18 +73,52 @@ public class NestedElementEncoder extends XmlElement { super(listName); } - public void add(String key, String value) { + public void set(final String key, final String value) { + final Element entryElem = new Element("entry"); + + if (key != null) { + entryElem.setAttribute("key", key); + } + entryElem.setText(value); + + final Element el = contains(entryElem); + if (el != null) { + addContent(entryElem); + } + + } + + public void set(final String key, final Element value) { + final Element entryElem = new Element("entry"); + + if (key != null) { + entryElem.setAttribute("key", key); + } + entryElem.addContent(value); + + final Element el = contains(entryElem); + + if (el != null) { + addContent(entryElem); + } else { + if (remove(el)) + addContent(entryElem); + } + + } + + public void add(final String key, final String value) { final Element entryElem = new Element("entry"); if (key != null) entryElem.setAttribute("key", key); entryElem.setText(value); - + this.addContent(entryElem); } - - public void add(String key, Element value) { + + public void add(final String key, final Element value) { final Element entryElem = new Element("entry"); if (key != null) entryElem.setAttribute("key", key);