From 4cfa86400b1c68b16ae850e7ba182315af8357b6 Mon Sep 17 00:00:00 2001 From: andypower Date: Fri, 27 Mar 2015 11:09:09 +0100 Subject: [PATCH] Improve checking the SLD version when passing a String: using InputStream from String --- .../geoserver/rest/manager/GeoServerRESTStyleManager.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/main/java/it/geosolutions/geoserver/rest/manager/GeoServerRESTStyleManager.java b/src/main/java/it/geosolutions/geoserver/rest/manager/GeoServerRESTStyleManager.java index 0b006cc..cc79f19 100644 --- a/src/main/java/it/geosolutions/geoserver/rest/manager/GeoServerRESTStyleManager.java +++ b/src/main/java/it/geosolutions/geoserver/rest/manager/GeoServerRESTStyleManager.java @@ -29,10 +29,13 @@ import it.geosolutions.geoserver.rest.HTTPUtils; import it.geosolutions.geoserver.rest.Util; import it.geosolutions.geoserver.rest.decoder.RESTStyle; import it.geosolutions.geoserver.rest.decoder.RESTStyleList; +import java.io.ByteArrayInputStream; import java.io.File; import java.io.IOException; +import java.io.InputStream; import java.net.URL; import java.net.URLEncoder; +import java.nio.charset.StandardCharsets; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; @@ -742,7 +745,8 @@ public class GeoServerRESTStyleManager extends GeoServerRESTAbstractManager { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); try { DocumentBuilder builder = factory.newDocumentBuilder(); - Document doc = builder.parse(sldBody); + InputStream stream = new ByteArrayInputStream(sldBody.getBytes(StandardCharsets.UTF_8)); + Document doc = builder.parse(stream); result = this.checkSLD10Version(doc); } catch (SAXException ex) { LOGGER.error("Error parsing SLD file: " + ex);