@Override public MetadataLinkInfo createMetadataLink() { return delegate.createMetadataLink(); }
MetadataLinkInfo ml = gs.getCatalog().getFactory().createMetadataLink(); ml.setAbout((String) metadataLink.get("about")); ml.setMetadataType((String) metadataLink.get("metadataType"));
MetadataLinkInfo ml = gs.getCatalog().getFactory().createMetadataLink(); ml.setAbout((String) metadataLink.get("about")); ml.setMetadataType((String) metadataLink.get("metadataType"));
MetadataLinkInfo link = factory.createMetadataLink(); link.setContent((String) m.get(null)); link.setMetadataType((String) m.get("metadataType"));
@Test public void testModifyMetadataLinks() { addFeatureType(); FeatureTypeInfo ft2 = catalog.getFeatureTypeByName(ft.getName()); MetadataLinkInfo ml = catalog.getFactory().createMetadataLink(); ml.setContent("http://www.geoserver.org/meta"); ml.setType("text/plain"); ml.setMetadataType("iso"); ft2.getMetadataLinks().clear(); ft2.getMetadataLinks().add(ml); catalog.save(ft2); FeatureTypeInfo ft3 = catalog.getFeatureTypeByName(ft.getName()); MetadataLinkInfo ml3 = ft3.getMetadataLinks().get(0); ml3.setType("application/json"); // do not save and grab another, the metadata link must not have been modified FeatureTypeInfo ft4 = catalog.getFeatureTypeByName(ft.getName()); MetadataLinkInfo ml4 = ft4.getMetadataLinks().get(0); assertEquals("text/plain", ml4.getType()); // now save and grab yet another, the modification must have happened catalog.save(ft3); FeatureTypeInfo ft5 = catalog.getFeatureTypeByName(ft.getName()); MetadataLinkInfo ml5 = ft5.getMetadataLinks().get(0); assertEquals("application/json", ml5.getType()); }
@Override protected void onSubmit(AjaxRequestTarget target, Form form) { ResourceInfo ri = (ResourceInfo) resourceModel.getObject(); MetadataLinkInfo link = ri.getCatalog().getFactory().createMetadataLink();; link.setMetadataType(LINK_TYPES.get(0)); link.setType("text/plain"); ri.getMetadataLinks().add(link); updateLinksVisibility(); target.addComponent(container); }
@Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { MetadataLinkInfo link = getCatalog().getFactory().createMetadataLink(); link.setMetadataType(LINK_TYPES.get(0)); link.setType("text/plain"); metadataLinksModel.getObject().add(link); updateLinksVisibility(); target.add(container); } };
@Test public void testNoMetadataTypeAttribute() throws Exception { Catalog catalog = getCatalog(); CoverageInfo ci = catalog.getCoverageByName(getLayerId(TASMANIA_DEM)); MetadataLinkInfo ml = catalog.getFactory().createMetadataLink(); ml.setContent("http://www.geoserver.org/tasmania/dem.xml"); ml.setAbout("http://www.geoserver.org"); ci.getMetadataLinks().add(ml); catalog.save(ci); Document dom = getAsDOM("wcs?request=GetCapabilities"); checkValidationErrors(dom, WCS11_SCHEMA); String xpathBase = "//wcs:CoverageSummary[wcs:Identifier = '" + TASMANIA_DEM.getLocalPart() + "']/ows:Metadata"; assertXpathNotExists(xpathBase + "/@metadataType", dom); } }
@Override protected void onSetUp(SystemTestData testData) throws Exception { super.onSetUp(testData); Map<String, String> namespaces = new HashMap<String, String>(); namespaces.put("xlink", "http://www.w3.org/1999/xlink"); namespaces.put("xsi", "http://www.w3.org/2001/XMLSchema-instance"); namespaces.put("wms", "http://www.opengis.net/wms"); namespaces.put("ows", "http://www.opengis.net/ows"); namespaces.put("ogc", "http://www.opengis.net/ogc"); NamespaceContext ctx = new SimpleNamespaceContext(namespaces); XMLUnit.setXpathNamespaceContext(ctx); GeoServerInfo global = getGeoServer().getGlobal(); global.getSettings().setProxyBaseUrl("src/test/resources/geoserver"); getGeoServer().save(global); LayerInfo layer = getCatalog().getLayerByName(MockData.POINTS.getLocalPart()); MetadataLinkInfo mdlink = getCatalog().getFactory().createMetadataLink(); mdlink.setMetadataType("FGDC"); mdlink.setContent("http://geoserver.org"); mdlink.setType("text/xml"); ResourceInfo resource = layer.getResource(); resource.getMetadataLinks().add(mdlink); getCatalog().save(resource); Catalog catalog = getCatalog(); DataStoreInfo info = catalog.getDataStoreByName(MockData.SF_PREFIX); info.setEnabled(false); catalog.save(info); }
@Test public void testMetadataLink() throws Exception { Catalog catalog = getCatalog(); CoverageInfo ci = catalog.getCoverageByName(getLayerId(TASMANIA_DEM)); MetadataLinkInfo ml = catalog.getFactory().createMetadataLink(); ml.setContent("http://www.geoserver.org/tasmania/dem.xml"); ml.setAbout("http://www.geoserver.org"); ci.getMetadataLinks().add(ml); catalog.save(ci); Document dom = getAsDOM("wcs?request=GetCapabilities"); // print(dom); checkValidationErrors(dom, WCS11_SCHEMA); String xpathBase = "//wcs:CoverageSummary[wcs:Identifier = '" + TASMANIA_DEM.getPrefix() + ":" + TASMANIA_DEM.getLocalPart() + "']/ows:Metadata"; assertXpathEvaluatesTo("http://www.geoserver.org", xpathBase + "/@about", dom); assertXpathEvaluatesTo("simple", xpathBase + "/@xlink:type", dom); assertXpathEvaluatesTo( "http://www.geoserver.org/tasmania/dem.xml", xpathBase + "/@xlink:href", dom); }
@Test public void testMetadataLink() throws Exception { Catalog catalog = getCatalog(); CoverageInfo ci = catalog.getCoverageByName(getLayerId(TASMANIA_DEM)); MetadataLinkInfo ml = catalog.getFactory().createMetadataLink(); ml.setContent("http://www.geoserver.org/tasmania/dem.xml"); ml.setAbout("http://www.geoserver.org"); ci.getMetadataLinks().add(ml); catalog.save(ci); Document dom = getAsDOM( "wcs?request=DescribeCoverage&service=WCS&version=1.1.1&identifiers=" + TASMANIA_DEM.getLocalPart()); // print(dom); checkValidationErrors(dom, WCS11_SCHEMA); String xpathBase = "//wcs:CoverageDescription/ows:Metadata"; assertXpathEvaluatesTo("http://www.geoserver.org", xpathBase + "/@about", dom); assertXpathEvaluatesTo("simple", xpathBase + "/@xlink:type", dom); assertXpathEvaluatesTo( "http://www.geoserver.org/tasmania/dem.xml", xpathBase + "/@xlink:href", dom); }
@Test public void testMetadataLinksTransormToProxyBaseURL() throws Exception { Catalog catalog = getCatalog(); CoverageInfo ci = catalog.getCoverageByName(getLayerId(TASMANIA_DEM)); MetadataLinkInfo ml = catalog.getFactory().createMetadataLink(); ml.setContent("/metadata?key=value"); ml.setAbout("http://www.geoserver.org"); ci.getMetadataLinks().add(ml); catalog.save(ci); String proxyBaseUrl = getGeoServer().getGlobal().getSettings().getProxyBaseUrl(); Document dom = getAsDOM("wcs?request=GetCapabilities"); checkValidationErrors(dom, WCS11_SCHEMA); String xpathBase = "//wcs:CoverageSummary[wcs:Identifier = '" + TASMANIA_DEM.getPrefix() + ":" + TASMANIA_DEM.getLocalPart() + "']/ows:Metadata"; assertXpathEvaluatesTo("http://www.geoserver.org", xpathBase + "/@about", dom); assertXpathEvaluatesTo("simple", xpathBase + "/@xlink:type", dom); assertXpathEvaluatesTo( proxyBaseUrl + "/metadata?key=value", xpathBase + "/@xlink:href", dom); }
@Test public void testMetadataLinks() throws Exception { FeatureTypeInfo mpolys = getCatalog().getFeatureTypeByName(getLayerId(MockTestData.MPOLYGONS)); MetadataLinkInfo ml = getCatalog().getFactory().createMetadataLink(); ml.setMetadataType("FGDC"); ml.setType("text/html"); ml.setContent("http://www.geoserver.org"); mpolys.getMetadataLinks().add(ml); getCatalog().save(mpolys); Document doc = getAsDOM("wfs?service=WFS&version=2.0.0&request=getCapabilities"); // print(doc); XpathEngine xpath = XMLUnit.newXpathEngine(); assertEquals( 1, xpath.getMatchingNodes( "//wfs:FeatureType[wfs:Name='cgf:MPolygons']/wfs:MetadataURL", doc) .getLength()); assertEquals( 1, xpath.getMatchingNodes( "//wfs:FeatureType[wfs:Name='cgf:MPolygons']/wfs:MetadataURL[@xlink:href='http://www.geoserver.org']", doc) .getLength()); }
@Test public void testMetadataLinksTransormToProxyBaseURL() throws Exception { Catalog catalog = getCatalog(); CoverageInfo ci = catalog.getCoverageByName(getLayerId(TASMANIA_DEM)); MetadataLinkInfo ml = catalog.getFactory().createMetadataLink(); ml.setContent("/metadata?key=value"); ml.setAbout("http://www.geoserver.org"); ci.getMetadataLinks().add(ml); catalog.save(ci); String proxyBaseUrl = getGeoServer().getGlobal().getSettings().getProxyBaseUrl(); Document dom = getAsDOM( "wcs?request=DescribeCoverage&service=WCS&version=1.1.1&identifiers=" + TASMANIA_DEM.getLocalPart()); checkValidationErrors(dom, WCS11_SCHEMA); String xpathBase = "//wcs:CoverageDescription/ows:Metadata"; assertXpathEvaluatesTo("http://www.geoserver.org", xpathBase + "/@about", dom); assertXpathEvaluatesTo("simple", xpathBase + "/@xlink:type", dom); assertXpathEvaluatesTo( proxyBaseUrl + "/metadata?key=value", xpathBase + "/@xlink:href", dom); } }
@Test public void testMetadataLinksTransormToProxyBaseURL() throws Exception { FeatureTypeInfo mpolys = getCatalog().getFeatureTypeByName(getLayerId(MockTestData.MPOLYGONS)); MetadataLinkInfo ml = getCatalog().getFactory().createMetadataLink(); ml.setMetadataType("FGDC"); ml.setType("text/html"); ml.setContent("/metadata?key=value"); mpolys.getMetadataLinks().add(ml); getCatalog().save(mpolys); String proxyBaseUrl = getGeoServer().getGlobal().getSettings().getProxyBaseUrl(); Document doc = getAsDOM("wfs?service=WFS&version=2.0.0&request=getCapabilities"); XpathEngine xpath = XMLUnit.newXpathEngine(); assertEquals( 1, xpath.getMatchingNodes( "//wfs:FeatureType[wfs:Name='cgf:MPolygons']/wfs:MetadataURL", doc) .getLength()); assertEquals( 1, xpath.getMatchingNodes( "//wfs:FeatureType[wfs:Name='cgf:MPolygons']/wfs:MetadataURL[@xlink:href='" + proxyBaseUrl + "/metadata?key=value']", doc) .getLength()); }
public void testMetadataLinks() throws Exception { Catalog catalog = getCatalog(); CoverageInfo ci = catalog.getCoverageByName(getLayerId(TASMANIA_DEM)); MetadataLinkInfo ml = catalog.getFactory().createMetadataLink(); ml.setContent("http://www.geoserver.org/tasmania/dem.xml"); ml.setMetadataType("FGDC"); ml.setAbout("http://www.geoserver.org"); ci.getMetadataLinks().add(ml); catalog.save(ci); Document dom = getAsDOM(BASEPATH + "?request=DescribeCoverage&service=WCS&version=1.0.0&coverage=" + getLayerId(TASMANIA_DEM)); // print(dom); checkValidationErrors(dom, WCS10_DESCRIBECOVERAGE_SCHEMA); assertXpathEvaluatesTo("http://www.geoserver.org", "//wcs:metadataLink/@about", dom); assertXpathEvaluatesTo("FGDC", "//wcs:metadataLink/@metadataType", dom); assertXpathEvaluatesTo("simple", "//wcs:metadataLink/@xlink:type", dom); assertXpathEvaluatesTo("http://www.geoserver.org/tasmania/dem.xml", "//wcs:metadataLink/@xlink:href", dom); }
public void testMetadataLinks() throws Exception { Catalog catalog = getCatalog(); CoverageInfo ci = catalog.getCoverageByName(getLayerId(TASMANIA_DEM)); MetadataLinkInfo ml = catalog.getFactory().createMetadataLink(); ml.setContent("http://www.geoserver.org/tasmania/dem.xml"); ml.setMetadataType("FGDC"); ml.setAbout("http://www.geoserver.org"); ci.getMetadataLinks().add(ml); catalog.save(ci); Document dom = getAsDOM(BASEPATH + "?request=GetCapabilities&service=WCS&version=1.0.0"); print(dom); checkValidationErrors(dom, WCS10_GETCAPABILITIES_SCHEMA); String xpathBase = "//wcs:CoverageOfferingBrief[wcs:name = '" + getLayerId(TASMANIA_DEM) + "']/wcs:metadataLink"; assertXpathEvaluatesTo("http://www.geoserver.org", xpathBase + "/@about", dom); assertXpathEvaluatesTo("FGDC", xpathBase + "/@metadataType", dom); assertXpathEvaluatesTo("simple", xpathBase + "/@xlink:type", dom); assertXpathEvaluatesTo("http://www.geoserver.org/tasmania/dem.xml", xpathBase + "/@xlink:href", dom); }
@Test public void testMetadataLinks() throws Exception { Catalog catalog = getCatalog(); CoverageInfo ci = catalog.getCoverageByName(getLayerId(TASMANIA_DEM)); MetadataLinkInfo ml = catalog.getFactory().createMetadataLink(); ml.setContent("http://www.geoserver.org/tasmania/dem.xml"); ml.setMetadataType("FGDC"); ml.setAbout("http://www.geoserver.org"); ci.getMetadataLinks().add(ml); catalog.save(ci); Document dom = getAsDOM( BASEPATH + "?request=DescribeCoverage&service=WCS&version=1.0.0&coverage=" + getLayerId(TASMANIA_DEM)); print(dom); checkValidationErrors(dom, WCS10_DESCRIBECOVERAGE_SCHEMA); assertXpathEvaluatesTo("http://www.geoserver.org", "//wcs:metadataLink/@about", dom); assertXpathEvaluatesTo("FGDC", "//wcs:metadataLink/@metadataType", dom); assertXpathEvaluatesTo("simple", "//wcs:metadataLink/@xlink:type", dom); assertXpathEvaluatesTo( "http://www.geoserver.org/tasmania/dem.xml", "//wcs:metadataLink/@xlink:href", dom); }
@Test public void testMetadataLinks() throws Exception { Catalog catalog = getCatalog(); CoverageInfo ci = catalog.getCoverageByName(getLayerId(TASMANIA_DEM)); MetadataLinkInfo ml = catalog.getFactory().createMetadataLink(); ml.setContent("http://www.geoserver.org/tasmania/dem.xml"); ml.setMetadataType("FGDC"); ml.setAbout("http://www.geoserver.org"); ci.getMetadataLinks().add(ml); catalog.save(ci); Document dom = getAsDOM(BASEPATH + "?request=GetCapabilities&service=WCS&version=1.0.0"); print(dom); checkValidationErrors(dom, WCS10_GETCAPABILITIES_SCHEMA); String xpathBase = "//wcs:CoverageOfferingBrief[wcs:name = '" + getLayerId(TASMANIA_DEM) + "']/wcs:metadataLink"; assertXpathEvaluatesTo("http://www.geoserver.org", xpathBase + "/@about", dom); assertXpathEvaluatesTo("FGDC", xpathBase + "/@metadataType", dom); assertXpathEvaluatesTo("simple", xpathBase + "/@xlink:type", dom); assertXpathEvaluatesTo( "http://www.geoserver.org/tasmania/dem.xml", xpathBase + "/@xlink:href", dom); }
@Test public void testMetadataLinksTransormToProxyBaseURL() throws Exception { Catalog catalog = getCatalog(); CoverageInfo ci = catalog.getCoverageByName(getLayerId(TASMANIA_DEM)); MetadataLinkInfo ml = catalog.getFactory().createMetadataLink(); ml.setContent("/metadata?key=value"); ml.setMetadataType("FGDC"); ml.setAbout("http://www.geoserver.org"); ci.getMetadataLinks().add(ml); catalog.save(ci); String proxyBaseUrl = getGeoServer().getGlobal().getSettings().getProxyBaseUrl(); Document dom = getAsDOM( BASEPATH + "?request=DescribeCoverage&service=WCS&version=1.0.0&coverage=" + getLayerId(TASMANIA_DEM)); checkValidationErrors(dom, WCS10_DESCRIBECOVERAGE_SCHEMA); assertXpathEvaluatesTo("http://www.geoserver.org", "//wcs:metadataLink/@about", dom); assertXpathEvaluatesTo("FGDC", "//wcs:metadataLink/@metadataType", dom); assertXpathEvaluatesTo("simple", "//wcs:metadataLink/@xlink:type", dom); assertXpathEvaluatesTo( proxyBaseUrl + "/metadata?key=value", "//wcs:metadataLink/@xlink:href", dom); }