Merge pull request #152 from dromagnoli/issue_151

Issue #151: adding support for nativeCoverageName element of the cove…
This commit is contained in:
Daniele Romagnoli 2015-06-22 09:59:44 +02:00
commit a4268dda60
3 changed files with 50 additions and 4 deletions

View File

@ -171,9 +171,9 @@ public class RESTCoverage extends RESTResource {
// return rootElem.getChildText("name"); // return rootElem.getChildText("name");
// } // }
// public String getNativeName() { public String getNativeCoverageName() {
// return rootElem.getChildText("nativeName"); return rootElem.getChildText("nativeCoverageName");
// } }
public String getNativeFormat() { public String getNativeFormat() {
return rootElem.getChildText("nativeFormat"); return rootElem.getChildText("nativeFormat");
@ -282,6 +282,11 @@ public class RESTCoverage extends RESTResource {
builder.append(getNativeName()); builder.append(getNativeName());
builder.append(", "); builder.append(", ");
} }
if (getNativeCoverageName() != null) {
builder.append("getNativeCoverageName()=");
builder.append(getNativeCoverageName());
builder.append(", ");
}
if (getAbstract() != null) { if (getAbstract() != null) {
builder.append("getAbstract()="); builder.append("getAbstract()=");
builder.append(getAbstract()); builder.append(getAbstract());

View File

@ -41,6 +41,8 @@ import it.geosolutions.geoserver.rest.encoder.utils.ElementUtils;
*/ */
public class GSCoverageEncoder extends GSResourceEncoder { public class GSCoverageEncoder extends GSResourceEncoder {
public final static String NATIVECOVERAGENAME = "nativeCoverageName";
public final static String DIMENSIONS = "dimensions"; public final static String DIMENSIONS = "dimensions";
final private Element dimensionsEncoder = new Element(DIMENSIONS); final private Element dimensionsEncoder = new Element(DIMENSIONS);
@ -106,4 +108,36 @@ public class GSCoverageEncoder extends GSResourceEncoder {
return (dimensionsEncoder.removeContent(GSCoverageDimensionEncoder return (dimensionsEncoder.removeContent(GSCoverageDimensionEncoder
.getFilterByContent(coverageDimensionName))).size() == 0 ? false : true; .getFilterByContent(coverageDimensionName))).size() == 0 ? false : true;
} }
/**
* Add the 'nativeCoverageName' node with a text value from 'name'
*
*
*/
public void addNativeCoverageName(final String nativeCoverageName) {
add(NATIVECOVERAGENAME, nativeCoverageName);
}
/**
* Set the 'nativeCoverageName' node with a text value from 'name'
*
*
*/
public void setNativeCoverageName(final String nativeCoverageName) {
set(NATIVECOVERAGENAME, nativeCoverageName);
}
/**
* Get the nativeCoverageName
*
* @return
*/
public String getNativeCoverageName() {
final Element nativeCoverageNameNode = ElementUtils.contains(getRoot(), NATIVECOVERAGENAME, 1);
if (nativeCoverageNameNode != null)
return nativeCoverageNameNode.getText();
else
return null;
}
} }

View File

@ -19,6 +19,8 @@
*/ */
package it.geosolutions.geoserver.rest.encoder.coverage; package it.geosolutions.geoserver.rest.encoder.coverage;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import it.geosolutions.geoserver.rest.encoder.GSResourceEncoder; import it.geosolutions.geoserver.rest.encoder.GSResourceEncoder;
import it.geosolutions.geoserver.rest.encoder.GSResourceEncoder.ProjectionPolicy; import it.geosolutions.geoserver.rest.encoder.GSResourceEncoder.ProjectionPolicy;
import it.geosolutions.geoserver.rest.encoder.dimensions.GSCoverageDimensionEncoder; import it.geosolutions.geoserver.rest.encoder.dimensions.GSCoverageDimensionEncoder;
@ -129,9 +131,14 @@ public class GSCoverageEncoderTest extends TestCase {
"dobson units³", "REAL_32BITS"); "dobson units³", "REAL_32BITS");
encoder.addCoverageDimensionInfo(gsCoverageDimensionEncoder); encoder.addCoverageDimensionInfo(gsCoverageDimensionEncoder);
encoder.setNativeCoverageName("Sample native name");
if (LOGGER.isInfoEnabled()) if (LOGGER.isInfoEnabled())
LOGGER.info(encoder.toString()); LOGGER.info(encoder.toString());
Element nativeCoverageName = ElementUtils.contains(encoder.getRoot(), GSCoverageEncoder.NATIVECOVERAGENAME);
assertNotNull(nativeCoverageName);
assertEquals("Sample native name", nativeCoverageName.getText());
final Element el2=ElementUtils.contains(encoder.getRoot(),GSDimensionInfoEncoder.PRESENTATION); final Element el2=ElementUtils.contains(encoder.getRoot(),GSDimensionInfoEncoder.PRESENTATION);
Assert.assertNotNull(el2); Assert.assertNotNull(el2);
LOGGER.info("contains_key:"+el2.toString()); LOGGER.info("contains_key:"+el2.toString());