From ebae6cf08662b98bc6561cc31701ce7149ee51ff Mon Sep 17 00:00:00 2001 From: Xandros Date: Fri, 20 Nov 2015 13:12:20 +0100 Subject: [PATCH] Added additional WCS informations to publish GeoTIFF --- .../rest/GeoServerRESTPublisher.java | 7 ++++ .../encoder/coverage/GSCoverageEncoder.java | 42 +++++++++++++++++++ 2 files changed, 49 insertions(+) diff --git a/src/main/java/it/geosolutions/geoserver/rest/GeoServerRESTPublisher.java b/src/main/java/it/geosolutions/geoserver/rest/GeoServerRESTPublisher.java index 3804042..d3cff04 100644 --- a/src/main/java/it/geosolutions/geoserver/rest/GeoServerRESTPublisher.java +++ b/src/main/java/it/geosolutions/geoserver/rest/GeoServerRESTPublisher.java @@ -1603,7 +1603,14 @@ public class GeoServerRESTPublisher { coverageEncoder.setName(coverageName); coverageEncoder.setTitle(coverageName); coverageEncoder.setSRS(srs); + coverageEncoder.setNativeFormat("GeoTIFF"); + coverageEncoder.addSupportedFormats("GEOTIFF"); + coverageEncoder.addKeyword("geoTiff"); + coverageEncoder.addKeyword("WCS"); + coverageEncoder.setNativeCRS(srs); coverageEncoder.setProjectionPolicy(policy); + coverageEncoder.setRequestSRS(srs); + coverageEncoder.setResponseSRS(srs); if (bbox != null && bbox.length == 4) { coverageEncoder.setLatLonBoundingBox(bbox[0], bbox[1], bbox[2], bbox[3], DEFAULT_CRS); } diff --git a/src/main/java/it/geosolutions/geoserver/rest/encoder/coverage/GSCoverageEncoder.java b/src/main/java/it/geosolutions/geoserver/rest/encoder/coverage/GSCoverageEncoder.java index ac3b360..4b506e1 100644 --- a/src/main/java/it/geosolutions/geoserver/rest/encoder/coverage/GSCoverageEncoder.java +++ b/src/main/java/it/geosolutions/geoserver/rest/encoder/coverage/GSCoverageEncoder.java @@ -43,12 +43,20 @@ public class GSCoverageEncoder extends GSResourceEncoder { public final static String NATIVECOVERAGENAME = "nativeCoverageName"; + private final static String NATIVE_FORMAT="nativeFormat"; + private final static String SUPPORTED_FORMATS="supportedFormats"; + + private final static String REQUEST_SRS="requestSRS"; + private final static String RESPONSE_SRS="responseSRS"; + + private final Element supportedFormatsListEncoder = new Element(SUPPORTED_FORMATS); public final static String DIMENSIONS = "dimensions"; final private Element dimensionsEncoder = new Element(DIMENSIONS); public GSCoverageEncoder() { super("coverage"); + addContent(supportedFormatsListEncoder); } /** @@ -69,6 +77,40 @@ public class GSCoverageEncoder extends GSResourceEncoder { super.setMetadata(key, dimensionInfo); } + /** + * Add the 'nativeFormat' node with a text value + */ + public void setNativeFormat(String format) { + set(NATIVE_FORMAT, format); + } + + /** + * Add the 'supportedFormat' node with a text value + */ + public void addSupportedFormats(String format) { + final Element el = new Element("string"); + el.setText(format); + supportedFormatsListEncoder.addContent(el); + } + + /** + * Add the 'requestSRS' node with a text value + */ + public void setRequestSRS(String srs) { + final Element el = new Element("string"); + el.setText(srs); + set(REQUEST_SRS, el); + } + + /** + * Add the 'responseSRS' node with a text value + */ + public void setResponseSRS(String srs) { + final Element el = new Element("string"); + el.setText(srs); + set(RESPONSE_SRS, el); + } + /** * Adds a CoverageDimensionInfo to the GeoServer Resource *