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");
// }
// public String getNativeName() {
// return rootElem.getChildText("nativeName");
// }
public String getNativeCoverageName() {
return rootElem.getChildText("nativeCoverageName");
}
public String getNativeFormat() {
return rootElem.getChildText("nativeFormat");
@ -282,6 +282,11 @@ public class RESTCoverage extends RESTResource {
builder.append(getNativeName());
builder.append(", ");
}
if (getNativeCoverageName() != null) {
builder.append("getNativeCoverageName()=");
builder.append(getNativeCoverageName());
builder.append(", ");
}
if (getAbstract() != null) {
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 final static String NATIVECOVERAGENAME = "nativeCoverageName";
public final static String DIMENSIONS = "dimensions";
final private Element dimensionsEncoder = new Element(DIMENSIONS);
@ -106,4 +108,36 @@ public class GSCoverageEncoder extends GSResourceEncoder {
return (dimensionsEncoder.removeContent(GSCoverageDimensionEncoder
.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;
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.ProjectionPolicy;
import it.geosolutions.geoserver.rest.encoder.dimensions.GSCoverageDimensionEncoder;
@ -129,9 +131,14 @@ public class GSCoverageEncoderTest extends TestCase {
"dobson units³", "REAL_32BITS");
encoder.addCoverageDimensionInfo(gsCoverageDimensionEncoder);
if (LOGGER.isInfoEnabled())
encoder.setNativeCoverageName("Sample native name");
if (LOGGER.isInfoEnabled())
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);
Assert.assertNotNull(el2);
LOGGER.info("contains_key:"+el2.toString());