diff --git a/src/main/java/it/geosolutions/geoserver/rest/GeoServerRESTPublisher.java b/src/main/java/it/geosolutions/geoserver/rest/GeoServerRESTPublisher.java index 37d91ed..9c5755d 100644 --- a/src/main/java/it/geosolutions/geoserver/rest/GeoServerRESTPublisher.java +++ b/src/main/java/it/geosolutions/geoserver/rest/GeoServerRESTPublisher.java @@ -1550,7 +1550,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 f08c13a..a0436b9 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 @@ -28,6 +28,8 @@ package it.geosolutions.geoserver.rest.encoder.coverage; import it.geosolutions.geoserver.rest.encoder.GSResourceEncoder; import it.geosolutions.geoserver.rest.encoder.metadata.GSDimensionInfoEncoder; +import org.jdom.Element; + /** * Creates an XML @@ -38,8 +40,17 @@ import it.geosolutions.geoserver.rest.encoder.metadata.GSDimensionInfoEncoder; */ public class GSCoverageEncoder extends GSResourceEncoder { + final private static String NATIVE_FORMAT="nativeFormat"; + final private static String SUPPORTED_FORMATS="supportedFormats"; + + final private static String REQUEST_SRS="requestSRS"; + final private static String RESPONSE_SRS="responseSRS"; + + final private Element supportedFormatsListEncoder = new Element(SUPPORTED_FORMATS); + public GSCoverageEncoder() { - super("coverage"); + super("coverage"); + addContent(supportedFormatsListEncoder); } /** @@ -59,4 +70,27 @@ public class GSCoverageEncoder extends GSResourceEncoder { public void setMetadata(String key, GSDimensionInfoEncoder dimensionInfo) { super.setMetadata(key, dimensionInfo); } + + public void setNativeFormat(String format) { + set(NATIVE_FORMAT, format); + } + + public void addSupportedFormats(String format) { + final Element el = new Element("string"); + el.setText(format); + supportedFormatsListEncoder.addContent(el); + } + + public void setRequestSRS(String srs) { + final Element el = new Element("string"); + el.setText(srs); + set(REQUEST_SRS, el); + } + + public void setResponseSRS(String srs) { + final Element el = new Element("string"); + el.setText(srs); + set(RESPONSE_SRS, el); + } + }