org.geoserver.config.GeoServer类的使用及代码示例

x33g5p2x  于2022-01-19 转载在 其他  
字(13.9k)|赞(0)|评价(0)|浏览(282)

本文整理了Java中org.geoserver.config.GeoServer类的一些代码示例,展示了GeoServer类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。GeoServer类的具体详情如下:
包路径:org.geoserver.config.GeoServer
类名称:GeoServer

GeoServer介绍

[英]Facade providing access to the GeoServer configuration.

Note for singletons

Singleton objects must take care not to maintain references to configuration entities. For instance the following would an error:

  1. class MySingleton {
  2. ServiceInfo service;
  3. MySingleton(GeoServer gs) {
  4. this.service = gs.getServiceByName("mySerfvice", ServiceInfo.class);
  5. }
  6. }

The reason being that when changes occur to the configuration externally (be it through the web ui or restconfig, etc...) any cached configuration objects become stale. So singleton objects should look up configuration objects on demand.
[中]Facade提供对GeoServer配置的访问。
####单身人士须知
单例对象必须注意不要维护对配置实体的引用。例如,以下错误:

  1. class MySingleton {
  2. ServiceInfo service;
  3. MySingleton(GeoServer gs) {
  4. this.service = gs.getServiceByName("mySerfvice", ServiceInfo.class);
  5. }
  6. }

原因是当外部配置发生更改时(通过web ui或restconfig等…)任何缓存的配置对象都会过时。所以单例对象应该根据需要查找配置对象。

代码示例

代码示例来源:origin: geoserver/geoserver

  1. Class<T> serviceClass, String workspace, GeoServer geoServer) {
  2. Catalog catalog = geoServer.getCatalog();
  3. WorkspaceInfo ws = null;
  4. if (workspace != null) {
  5. ws = catalog.getWorkspaceByName(workspace);
  6. old = geoServer.getService(ws, serviceClass);
  7. } else {
  8. old = geoServer.getService(serviceClass);
  9. geoServer.save(old);
  10. } else {
  11. geoServer.add(created);

代码示例来源:origin: geoserver/geoserver

  1. ws = catalog.getWorkspaceByName(first);
  2. if (ws != null) {
  3. LocalWorkspace.set(ws);
  4. NamespaceInfo ns = catalog.getNamespaceByPrefix(ws.getName());
  5. if (ns != null) {
  6. LayerInfo l = catalog.getLayerByName(new NameImpl(ns.getURI(), last));
  7. if (l != null) {
  8. LocalPublished.set(l);
  9. if (!gs.getGlobal().isGlobalServices()) {
  10. throw new ServiceException("No such workspace '" + request.context + "'");
  11. } else if (!gs.getGlobal().isGlobalServices()) {
  12. throw new ServiceException("No workspace specified");

代码示例来源:origin: geoserver/geoserver

  1. public void mangleURL(
  2. StringBuilder baseURL, StringBuilder path, Map<String, String> kvp, URLType type) {
  3. // first check the system property, then fall back to configuration
  4. String proxyBase =
  5. (GeoServerExtensions.getProperty(Requests.PROXY_PARAM) != null)
  6. ? GeoServerExtensions.getProperty(Requests.PROXY_PARAM)
  7. : this.geoServer.getSettings().getProxyBaseUrl();
  8. // Mangles the URL base in different ways based on a flag
  9. // (for two reasons: a) speed; b) to make the admin aware of
  10. // possible security liabilities)
  11. baseURL =
  12. (this.geoServer.getGlobal().isUseHeadersProxyURL() == true && proxyBase != null)
  13. ? this.mangleURLHeaders(baseURL, proxyBase)
  14. : this.mangleURLFixedURL(baseURL, proxyBase);
  15. }

代码示例来源:origin: geoserver/geoserver

  1. public UpdateSequenceListener(GeoServer geoServer) {
  2. this.geoServer = geoServer;
  3. geoServer.getCatalog().addListener(this);
  4. geoServer.addListener(this);
  5. }

代码示例来源:origin: geoserver/geoserver

  1. synchronized void incrementSequence() {
  2. // prevent infinite loop on configuration update
  3. if (updating) return;
  4. try {
  5. updating = true;
  6. GeoServerInfo gsInfo = geoServer.getGlobal();
  7. gsInfo.setUpdateSequence(gsInfo.getUpdateSequence() + 1);
  8. geoServer.save(gsInfo);
  9. } finally {
  10. updating = false;
  11. }
  12. }

代码示例来源:origin: geoserver/geoserver

  1. @Override
  2. public void initialize(GeoServer geoServer) throws Exception {
  3. // Consider moving earlier to make use of the requested LockProvider during initial
  4. // configuration
  5. String lockProviderName = geoServer.getGlobal().getLockProviderName();
  6. setLockProvider(lockProviderName);
  7. geoServer.addListener(listener);
  8. }

代码示例来源:origin: org.geoserver/gs-wfs

  1. @Test
  2. public void testGetFeatureReproject11() throws Exception {
  3. WFSInfo wfs = getWFS();
  4. wfs.setFeatureBounding(true);
  5. getGeoServer().save(wfs);
  6. Document doc =
  7. getAsDOM(
  8. "wfs?request=GetFeature&typename=cite:Geometryless&version=1.1.0&service=wfs&srsName=EPSG:900913");
  9. assertEquals("wfs:FeatureCollection", doc.getDocumentElement().getNodeName());
  10. NodeList featureMembers = doc.getElementsByTagName("gml:featureMembers");
  11. assertFalse(featureMembers.getLength() == 0);
  12. NodeList features = doc.getElementsByTagName("cite:Geometryless");
  13. assertEquals(3, features.getLength());
  14. }

代码示例来源:origin: org.geoserver/wcs1_0

  1. public void testSkipMisconfigured() throws Exception {
  2. // enable skipping of misconfigured layers
  3. GeoServerInfo global = getGeoServer().getGlobal();
  4. global.setResourceErrorHandling(ResourceErrorHandling.SKIP_MISCONFIGURED_LAYERS);
  5. getGeoServer().save(global);
  6. // manually misconfigure one layer
  7. CoverageStoreInfo cvInfo = getCatalog().getCoverageStoreByName(MockData.TASMANIA_DEM.getLocalPart());
  8. cvInfo.setURL("file:///I/AM/NOT/THERE");
  9. getCatalog().save(cvInfo);
  10. Document dom = getAsDOM(BASEPATH + "?request=DescribeCoverage&service=WCS&version=1.0.0");
  11. checkValidationErrors(dom, WCS10_DESCRIBECOVERAGE_SCHEMA);
  12. int count = getCatalog().getCoverages().size();
  13. assertEquals(count - 1, dom.getElementsByTagName("wcs:CoverageOffering").getLength());
  14. }

代码示例来源:origin: org.geoserver/gs-wcs1_1

  1. @Test
  2. public void testEnabledServiceResponse() throws Exception {
  3. WCSInfo wcs = getGeoServer().getService(WCSInfo.class);
  4. wcs.setEnabled(true);
  5. getGeoServer().save(wcs);
  6. Document doc = getAsDOM("wcs?service=WCS&request=getCapabilities");
  7. assertEquals("wcs:Capabilities", doc.getDocumentElement().getNodeName());
  8. }
  9. }

代码示例来源:origin: geoserver/geoserver

  1. @Override
  2. protected void onSetUp(SystemTestData testData) throws Exception {
  3. super.onSetUp(testData);
  4. LayerInfo li = getCatalog().getLayerByName(getLayerId(SystemTestData.BUILDINGS));
  5. Resource resource = getDataDirectory().config(li);
  6. Document dom;
  7. try (InputStream is = resource.in()) {
  8. dom = dom(resource.in());
  9. }
  10. Element defaultStyle = (Element) dom.getElementsByTagName("defaultStyle").item(0);
  11. Element defaultStyleId = (Element) defaultStyle.getElementsByTagName("id").item(0);
  12. defaultStyleId.setTextContent("danglingReference");
  13. try (OutputStream os = resource.out()) {
  14. print(dom, os);
  15. }
  16. getGeoServer().reload();
  17. }

代码示例来源:origin: org.geoserver/gs-wms

  1. @Test
  2. public void testDescribeLayerVersion111() throws Exception {
  3. String layer = MockData.FORESTS.getPrefix() + ":" + MockData.FORESTS.getLocalPart();
  4. String request = "wms?service=wms&version=1.1.1&request=DescribeLayer&layers=" + layer;
  5. assertEquals("src/test/resources/geoserver", getGeoServer().getGlobal().getProxyBaseUrl());
  6. Document dom = getAsDOM(request, true);
  7. assertEquals(
  8. "1.1.1",
  9. dom.getDocumentElement().getAttributes().getNamedItem("version").getNodeValue());
  10. }

代码示例来源:origin: org.geoserver/gs-wcs1_1

  1. @Test
  2. public void testUpdateSequenceEqualsGet() throws Exception {
  3. long updateIndex = getGeoServer().getGlobal().getUpdateSequence();
  4. Document dom =
  5. getAsDOM(
  6. BASEPATH
  7. + "?request=GetCapabilities&service=WCS&updateSequence="
  8. + Long.toString(updateIndex));
  9. checkValidationErrors(dom, WCS11_SCHEMA);
  10. final Node root = dom.getFirstChild();
  11. assertEquals("wcs:Capabilities", root.getNodeName());
  12. assertEquals(0, root.getChildNodes().getLength());
  13. }

代码示例来源:origin: org.geoserver/gs-wfs

  1. @Test
  2. public void testSkipMisconfiguredLayers() throws Exception {
  3. // make sure AggregateGeoFeature is in the mock data set
  4. Document doc = getAsDOM("wfs?service=WFS&request=DescribeFeatureType&version=1.0.0");
  5. assertEquals("xsd:schema", doc.getDocumentElement().getNodeName());
  6. XMLAssert.assertXpathEvaluatesTo(
  7. "1", "count(//xsd:import[contains(@schemaLocation, 'AggregateGeoFeature')])", doc);
  8. // enable skipping of misconfigured layers
  9. GeoServerInfo global = getGeoServer().getGlobal();
  10. global.setResourceErrorHandling(ResourceErrorHandling.SKIP_MISCONFIGURED_LAYERS);
  11. getGeoServer().save(global);
  12. // misconfigure a layer
  13. FeatureTypeInfo ftype =
  14. getCatalog().getFeatureTypeByName(CiteTestData.AGGREGATEGEOFEATURE.getLocalPart());
  15. ftype.setNativeName("NOT ACTUALLY THERE");
  16. getCatalog().save(ftype);
  17. // check the results again
  18. doc = getAsDOM("wfs?service=WFS&request=DescribeFeatureType&version=1.0.0");
  19. assertEquals("xsd:schema", doc.getDocumentElement().getNodeName());
  20. XMLAssert.assertXpathEvaluatesTo(
  21. "0", "count(//xsd:import[contains(@schemaLocation, 'AggregateGeoFeature')])", doc);
  22. }

代码示例来源:origin: org.geoserver/gs-wms

  1. @Test
  2. public void testMisconfiguredLayerIsSkippedWhenWMSServiceIsConfiguredThatWay()
  3. throws Exception {
  4. GeoServerInfo global = getGeoServer().getGlobal();
  5. global.setResourceErrorHandling(ResourceErrorHandling.SKIP_MISCONFIGURED_LAYERS);
  6. getGeoServer().save(global);
  7. Document caps = getAsDOM("wms?service=WMS&request=GetCapabilities&version=1.1.1");
  8. assertEquals("WMT_MS_Capabilities", caps.getDocumentElement().getTagName());
  9. // we misconfigured all the layers in the server, so there should be no named layers now.
  10. XMLAssert.assertXpathEvaluatesTo("", "//Layer/Name/text()", caps);
  11. }

代码示例来源:origin: org.geoserver/gs-wcs1_1

  1. @Test
  2. public void testMetadataLinksTransormToProxyBaseURL() throws Exception {
  3. Catalog catalog = getCatalog();
  4. CoverageInfo ci = catalog.getCoverageByName(getLayerId(TASMANIA_DEM));
  5. MetadataLinkInfo ml = catalog.getFactory().createMetadataLink();
  6. ml.setContent("/metadata?key=value");
  7. ml.setAbout("http://www.geoserver.org");
  8. ci.getMetadataLinks().add(ml);
  9. catalog.save(ci);
  10. String proxyBaseUrl = getGeoServer().getGlobal().getSettings().getProxyBaseUrl();
  11. Document dom =
  12. getAsDOM(
  13. "wcs?request=DescribeCoverage&service=WCS&version=1.1.1&identifiers="
  14. + TASMANIA_DEM.getLocalPart());
  15. checkValidationErrors(dom, WCS11_SCHEMA);
  16. String xpathBase = "//wcs:CoverageDescription/ows:Metadata";
  17. assertXpathEvaluatesTo("http://www.geoserver.org", xpathBase + "/@about", dom);
  18. assertXpathEvaluatesTo("simple", xpathBase + "/@xlink:type", dom);
  19. assertXpathEvaluatesTo(
  20. proxyBaseUrl + "/metadata?key=value", xpathBase + "/@xlink:href", dom);
  21. }
  22. }

代码示例来源:origin: org.geoserver/gs-wcs1_1

  1. @Test
  2. public void testSkipMisconfigured() throws Exception {
  3. // enable skipping of misconfigured layers
  4. GeoServerInfo global = getGeoServer().getGlobal();
  5. global.setResourceErrorHandling(ResourceErrorHandling.SKIP_MISCONFIGURED_LAYERS);
  6. getGeoServer().save(global);
  7. // manually misconfigure one layer
  8. CoverageInfo cvInfo = getCatalog().getCoverageByName(getLayerId(MockData.TASMANIA_DEM));
  9. ReferencedEnvelope BBox = cvInfo.getLatLonBoundingBox();
  10. try {
  11. cvInfo.setLatLonBoundingBox(null);
  12. getCatalog().save(cvInfo);
  13. // check we got everything but that specific layer, and that the output is still schema
  14. // compliant
  15. Document dom =
  16. getAsDOM(BASEPATH + "?request=GetCapabilities&service=WCS&version=1.1.1");
  17. checkValidationErrors(dom, WCS11_SCHEMA);
  18. // print(dom);
  19. int count = getCatalog().getCoverages().size();
  20. assertEquals(count - 2, dom.getElementsByTagName("wcs:CoverageSummary").getLength());
  21. } finally {
  22. cvInfo.setLatLonBoundingBox(BBox);
  23. getCatalog().save(cvInfo);
  24. }
  25. }

代码示例来源:origin: org.geoserver/gs-restconfig

  1. @Test
  2. public void testWorkspacesWithProxyHeaders() throws Exception {
  3. GeoServerInfo ginfo = getGeoServer().getGlobal();
  4. SettingsInfo settings = getGeoServer().getGlobal().getSettings();
  5. ginfo.setUseHeadersProxyURL(true);
  6. settings.setProxyBaseUrl(
  7. "${X-Forwarded-Proto}://${X-Forwarded-Host}/${X-Forwarded-Path} ${X-Forwarded-Proto}://${X-Forwarded-Host}");
  8. ginfo.setSettings(settings);
  9. getGeoServer().save(ginfo);
  10. assertEquals(
  11. 200,
  12. getAsServletResponse(RestBaseController.ROOT_PATH + "/workspaces.xml").getStatus());
  13. Document dom = getAsDOM(RestBaseController.ROOT_PATH + "/workspaces.xml");
  14. assertEquals(0, dom.getElementsByTagName("workspace").getLength());
  15. super.login();
  16. dom = getAsDOM(RestBaseController.ROOT_PATH + "/workspaces.xml");
  17. assertEquals(
  18. getCatalog().getWorkspaces().size(),
  19. dom.getElementsByTagName("workspace").getLength());
  20. assertEquals(
  21. 200,
  22. getAsServletResponse(RestBaseController.ROOT_PATH + "/workspaces.xml").getStatus());
  23. dom = getAsDOM(RestBaseController.ROOT_PATH + "/workspaces.xml");
  24. assertEquals(
  25. getCatalog().getWorkspaces().size(),
  26. dom.getElementsByTagName("workspace").getLength());
  27. }

代码示例来源:origin: geoserver/geoserver

  1. @Test
  2. public void testContextStartup() {
  3. GeoServer config = (GeoServer) applicationContext.getBean("geoServer");
  4. assertNotNull(
  5. config.getCatalog()
  6. .getFeatureTypeByName(
  7. MockData.BUILDINGS.getNamespaceURI(),
  8. MockData.BUILDINGS.getLocalPart()));
  9. assertNotNull(
  10. config.getCatalog()
  11. .getFeatureTypeByName(
  12. MockData.BASIC_POLYGONS.getNamespaceURI(),
  13. MockData.BASIC_POLYGONS.getLocalPart()));
  14. }
  15. }

代码示例来源:origin: geoserver/geoserver

  1. @RunTestSetup
  2. @Test
  3. public void testGeoServerReload() throws Exception {
  4. Catalog cat = getCatalog();
  5. FeatureTypeInfo lakes =
  6. cat.getFeatureTypeByName(
  7. MockData.LAKES.getNamespaceURI(), MockData.LAKES.getLocalPart());
  8. assertFalse("foo".equals(lakes.getTitle()));
  9. GeoServerDataDirectory dd = new GeoServerDataDirectory(getResourceLoader());
  10. File info = dd.findResourceFile(lakes);
  11. // File info = getResourceLoader().find("featureTypes", "cite_Lakes", "info.xml");
  12. FileReader in = new FileReader(info);
  13. Element dom = ReaderUtils.parse(in);
  14. Element title = ReaderUtils.getChildElement(dom, "title");
  15. title.getFirstChild().setNodeValue("foo");
  16. OutputStream output = new FileOutputStream(info);
  17. try {
  18. TransformerFactory.newInstance()
  19. .newTransformer()
  20. .transform(new DOMSource(dom), new StreamResult(output));
  21. } finally {
  22. output.close();
  23. }
  24. getGeoServer().reload();
  25. lakes =
  26. cat.getFeatureTypeByName(
  27. MockData.LAKES.getNamespaceURI(), MockData.LAKES.getLocalPart());
  28. assertEquals("foo", lakes.getTitle());
  29. }

代码示例来源:origin: org.geoserver/gs-wfs

  1. void doTestSrsNameSyntax11(SrsNameStyle srsNameStyle, boolean doSave) throws Exception {
  2. if (doSave) {
  3. WFSInfo wfs = getWFS();
  4. GMLInfo gml = wfs.getGML().get(WFSInfo.Version.V_11);
  5. gml.setSrsNameStyle(srsNameStyle);
  6. getGeoServer().save(wfs);
  7. }
  8. String q = "wfs?request=getfeature&service=wfs&version=1.1.0&typename=cgf:Points";
  9. Document d = getAsDOM(q);
  10. assertEquals("wfs:FeatureCollection", d.getDocumentElement().getNodeName());
  11. XMLAssert.assertXpathExists(
  12. "//gml:Envelope[@srsName = '" + srsNameStyle.getPrefix() + "32615']", d);
  13. XMLAssert.assertXpathExists(
  14. "//gml:Point[@srsName = '" + srsNameStyle.getPrefix() + "32615']", d);
  15. }
  16. }

相关文章