From f6e68493ce4e1b067cbede9506120f98fdca75ea Mon Sep 17 00:00:00 2001 From: eblondel Date: Fri, 27 Sep 2013 13:09:04 +0200 Subject: [PATCH 1/2] #95 - master - add keywords decoder --- .../geoserver/rest/decoder/RESTResource.java | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/main/java/it/geosolutions/geoserver/rest/decoder/RESTResource.java b/src/main/java/it/geosolutions/geoserver/rest/decoder/RESTResource.java index 972f5e7..4c63cc6 100644 --- a/src/main/java/it/geosolutions/geoserver/rest/decoder/RESTResource.java +++ b/src/main/java/it/geosolutions/geoserver/rest/decoder/RESTResource.java @@ -74,6 +74,23 @@ public class RESTResource { return rootElem.getChildText("abstract"); } + public List getKeywords(){ + List kwdsList = null; + + final Element keywordsRoot = rootElem.getChild("keywords"); + if(keywordsRoot != null){ + final List keywords = keywordsRoot.getChildren(); + if(keywords != null){ + kwdsList = new ArrayList(keywords.size()); + for(Element keyword : keywords){ + kwdsList.add(keyword.getValue()); + } + } + } + return kwdsList; + } + + public String getNameSpace() { return rootElem.getChild("namespace").getChildText("name"); } From e93d6dbd3da63140941485d2eb78158c169ab77c Mon Sep 17 00:00:00 2001 From: eblondel Date: Sat, 28 Sep 2013 00:16:41 +0200 Subject: [PATCH 2/2] #95 - add ResourceEncoderTest --- .../decoder/MetadataDecoderTest.java | 20 --- .../decoder/ResourceDecoderTest.java | 115 ++++++++++++++++++ .../resources/testdata/coverageExample.xml | 6 + 3 files changed, 121 insertions(+), 20 deletions(-) create mode 100644 src/test/java/it/geosolutions/geoserver/decoder/ResourceDecoderTest.java diff --git a/src/test/java/it/geosolutions/geoserver/decoder/MetadataDecoderTest.java b/src/test/java/it/geosolutions/geoserver/decoder/MetadataDecoderTest.java index c88cce4..55e6720 100644 --- a/src/test/java/it/geosolutions/geoserver/decoder/MetadataDecoderTest.java +++ b/src/test/java/it/geosolutions/geoserver/decoder/MetadataDecoderTest.java @@ -36,7 +36,6 @@ import org.springframework.core.io.ClassPathResource; /** * @author DamianoG - * @author eblondel * */ public class MetadataDecoderTest { @@ -69,23 +68,4 @@ public class MetadataDecoderTest { } } - @Test - public void testMetadataLinkInfo() throws IOException{ - File coverageFile = new ClassPathResource("testdata/coverageExample.xml").getFile(); - String coverageString = FileUtils.readFileToString(coverageFile); - RESTCoverage coverage = RESTCoverage.build(coverageString); - - List list = coverage.getEncodedMetadataLinkInfoList(); - - GSMetadataLinkInfoEncoder metadataLinkInfo1 = list.get(0); - Assert.assertEquals("text/xml", metadataLinkInfo1.getType()); - Assert.assertEquals("ISO19115:2003", metadataLinkInfo1.getMetadataType()); - Assert.assertEquals("http://www.organization.org/metadata1", metadataLinkInfo1.getContent()); - - GSMetadataLinkInfoEncoder metadataLinkInfo2 = list.get(1); - Assert.assertEquals("text/html",metadataLinkInfo2.getType()); - Assert.assertEquals("ISO19115:2003",metadataLinkInfo2.getMetadataType()); - Assert.assertEquals("http://www.organization.org/metadata2",metadataLinkInfo2.getContent()); - - } } diff --git a/src/test/java/it/geosolutions/geoserver/decoder/ResourceDecoderTest.java b/src/test/java/it/geosolutions/geoserver/decoder/ResourceDecoderTest.java new file mode 100644 index 0000000..c06325e --- /dev/null +++ b/src/test/java/it/geosolutions/geoserver/decoder/ResourceDecoderTest.java @@ -0,0 +1,115 @@ +package it.geosolutions.geoserver.decoder; + +import it.geosolutions.geoserver.rest.decoder.RESTCoverage; +import it.geosolutions.geoserver.rest.encoder.feature.GSAttributeEncoder; +import it.geosolutions.geoserver.rest.encoder.metadatalink.GSMetadataLinkInfoEncoder; + +import java.io.File; +import java.io.IOException; +import java.util.List; + +import org.apache.commons.io.FileUtils; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Test; +import org.springframework.core.io.ClassPathResource; + +/** + * ResourceDecoderTest + * + * @author eblondel + * + */ +public class ResourceDecoderTest { + + + RESTCoverage coverage; + + @Before + public void setup() throws IOException{ + File coverageFile = new ClassPathResource("testdata/coverageExample.xml").getFile(); + String coverageString = FileUtils.readFileToString(coverageFile); + coverage = RESTCoverage.build(coverageString); + } + + @Test + public void testName(){ + Assert.assertEquals(coverage.getName(),"granuleTestMosaic"); + } + + @Test + public void testNativeName(){ + Assert.assertEquals(coverage.getNativeName(), "granuleTestMosaic"); + } + + @Test + public void testTitle(){ + Assert.assertEquals(coverage.getNativeName(), "granuleTestMosaic"); + } + + @Test + public void testAbstract(){ + Assert.assertEquals(coverage.getAbstract(), "this is an abstract"); + } + + @Test + public void testKeywords(){ + List keywords = coverage.getKeywords(); + Assert.assertEquals(keywords.get(0), "keyword1"); + Assert.assertEquals(keywords.get(1), "keyword2"); + Assert.assertEquals(keywords.get(2), "keyword3"); + } + + @Test + public void testNameSpace(){ + Assert.assertEquals(coverage.getNameSpace(),"topp"); + } + + @Test + public void testStoreName(){ + Assert.assertEquals(coverage.getStoreName(), "granuleTestMosaic"); + } + + @Test + public void testStoreType(){ + Assert.assertEquals(coverage.getStoreType(), "coverageStore"); + } + + @Test + public void testStoreUrl(){ + Assert.assertEquals(coverage.getStoreUrl(), "http://localhost:8080/geoserver/rest/workspaces/topp/coveragestores/granuleTestMosaic.xml"); + } + + @Test + public void testCRS(){ + Assert.assertEquals(coverage.getCRS(), "EPSG:4326"); + } + + @Test + public void testBoundingBox(){ + Assert.assertEquals(coverage.getMinX(), -180.0, 0); + Assert.assertEquals(coverage.getMaxX(), 180.0, 0); + Assert.assertEquals(coverage.getMinY(), -90, 0); + Assert.assertEquals(coverage.getMaxY(), 90, 0); + } + + + @Test + public void testMetadataLinkInfo() throws IOException{ + + List list = coverage.getEncodedMetadataLinkInfoList(); + + GSMetadataLinkInfoEncoder metadataLinkInfo1 = list.get(0); + Assert.assertEquals("text/xml", metadataLinkInfo1.getType()); + Assert.assertEquals("ISO19115:2003", metadataLinkInfo1.getMetadataType()); + Assert.assertEquals("http://www.organization.org/metadata1", metadataLinkInfo1.getContent()); + + GSMetadataLinkInfoEncoder metadataLinkInfo2 = list.get(1); + Assert.assertEquals("text/html",metadataLinkInfo2.getType()); + Assert.assertEquals("ISO19115:2003",metadataLinkInfo2.getMetadataType()); + Assert.assertEquals("http://www.organization.org/metadata2",metadataLinkInfo2.getContent()); + + } + + +} diff --git a/src/test/resources/testdata/coverageExample.xml b/src/test/resources/testdata/coverageExample.xml index 4230091..a049536 100644 --- a/src/test/resources/testdata/coverageExample.xml +++ b/src/test/resources/testdata/coverageExample.xml @@ -2,11 +2,17 @@ granuleTestMosaic granuleTestMosaic + this is an abstract topp granuleTestMosaic + + keyword1 + keyword2 + keyword3 + text/xml