@Before public void setup() { GeoServerInfo gi = getGeoServer().getGlobal(); gi.getSettings().setProxyBaseUrl(null); getGeoServer().save(gi); }
synchronized void incrementSequence() { // prevent infinite loop on configuration update if (updating) return; try { updating = true; GeoServerInfo gsInfo = geoServer.getGlobal(); gsInfo.setUpdateSequence(gsInfo.getUpdateSequence() + 1); geoServer.save(gsInfo); } finally { updating = false; } }
public void initialize(GeoServer geoServer) throws Exception { initJAI(geoServer.getGlobal().getJAI()); geoServer.addListener( new ConfigurationListenerAdapter() { public void handleGlobalChange( GeoServerInfo global, List<String> propertyNames, List<Object> oldValues, List<Object> newValues) { if (propertyNames.contains( "jAI")) { // TODO: check why the propertyname is reported as jAI // instead of JAI // Make sure to proceed with JAI init // only in case the global change involved that section initJAI(global.getJAI()); } } }); }
if (other.getAdminPassword() != null) return false; } else if (!adminPassword.equals(other.getAdminPassword())) return false; if (adminUsername == null) { if (other.getAdminUsername() != null) return false; } else if (!adminUsername.equals(other.getAdminUsername())) return false; if (settings == null) { if (other.getSettings() != null) return false; } else if (!settings.equals(other.getSettings())) return false; if (id == null) { if (other.getId() != null) return false; } else if (!id.equals(other.getId())) return false; if (updateSequence != other.getUpdateSequence()) return false; if (!Objects.equals(globalServices, other.isGlobalServices())) return false; if (xmlPostRequestLogBufferSize == null) { if (other.getXmlPostRequestLogBufferSize() != null) { return false; } else if (!xmlPostRequestLogBufferSize.equals(other.getXmlPostRequestLogBufferSize())) { return false; if (other.getResourceErrorHandling() != null) return false; } else { if (!getResourceErrorHandling().equals(other.getResourceErrorHandling())) return false; if (other.getLockProviderName() != null) return false; } else { if (!lockProviderName.equals(other.getLockProviderName())) return false;
public void initialize(GeoServer geoServer) throws Exception { this.gs = geoServer; final GeoServerInfo geoserverInfo = geoServer.getGlobal(); CoverageAccessInfo coverageAccess = geoserverInfo.getCoverageAccess(); if (coverageAccess == null) { coverageAccess = new CoverageAccessInfoImpl(); geoserverInfo.setCoverageAccess(coverageAccess); } initCoverage(coverageAccess); geoServer.addListener( new ConfigurationListenerAdapter() { public void handleGlobalChange( GeoServerInfo global, List<String> propertyNames, List<Object> oldValues, List<Object> newValues) { if (propertyNames.contains("coverageAccess")) { // Make sure to proceed with coverageAccess init // only in case the global change involved that section initCoverage(global.getCoverageAccess()); } } @Override public void handlePostGlobalChange(GeoServerInfo global) { // No need to handle that change too } }); }
@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); } }
final NamespaceInfo defaultNameSpace = catalog.getDefaultNamespace(); if (defaultNameSpace == null) { throw new IllegalStateException("No default namespace configured in GeoServer"); String nsUri = name.getNamespaceURI(); if (XMLConstants.NULL_NS_URI.equals(nsUri) || org.geoserver.wfs.xml.v1_1_0.WFS.NAMESPACE.equals(nsUri) name = new QName(defaultNsUri, name.getLocalPart()); getWFS().getGeoServer().getGlobal().getResourceErrorHandling()); new ArrayList<FeatureTypeInfo>(catalog.getFeatureTypes())) { if (ftInfo.enabled()) { try { typeInfo = catalog.getFeatureTypeByName(namespaceURI, typeName);
@org.junit.Test public void testDataLinks() throws Exception { String layerName = MockData.POINTS.getPrefix() + ":" + MockData.POINTS.getLocalPart(); LayerInfo layer = getCatalog().getLayerByName(MockData.POINTS.getLocalPart()); DataLinkInfo mdlink = getCatalog().getFactory().createDataLink(); mdlink.setContent("http://geoserver.org"); mdlink.setType("text/xml"); ResourceInfo resource = layer.getResource(); resource.getDataLinks().add(mdlink); getCatalog().save(resource); assertXpathEvaluatesTo("text/xml", xpath, doc); assertXpathEvaluatesTo("simple", xpath, doc); assertXpathEvaluatesTo("http://geoserver.org", xpath, doc); GeoServerInfo global = getGeoServer().getGlobal(); String proxyBaseUrl = global.getSettings().getProxyBaseUrl(); mdlink.setContent("/metadata"); getCatalog().save(resource);
@Test public void testGlobal() throws Exception { GeoServerInfo g1 = factory.createGlobal(); g1.setAdminPassword("foo"); g1.setAdminUsername("bar"); g1.setCharset("ISO-8859-1"); g1.setContact(contact); contact.setAddress("123"); contact.setAddressCity("Victoria"); contact.setContactVoice("+1 250 765 4321"); g1.setNumDecimals(2); g1.setOnlineResource("http://acme.org"); g1.setProxyBaseUrl("http://proxy.acme.org"); g1.setSchemaBaseUrl("http://schemas.acme.org"); g1.setTitle("Acme's GeoServer"); g1.setUpdateSequence(123); g1.setVerbose(true); g1.setVerboseExceptions(true); g1.getMetadata().put("one", Integer.valueOf(1)); g1.getMetadata().put("two", new Double(2.2)); assertEquals("global", dom.getDocumentElement().getNodeName());
@Override protected void onSetUp(SystemTestData testData) throws Exception { super.onSetUp(testData); Catalog catalog = getCatalog(); DataStoreInfo info = catalog.getDataStoreByName(MockData.SF_PREFIX); info.setEnabled(false); catalog.save(info); GeoServerInfo global = getGeoServer().getGlobal(); global.getSettings().setProxyBaseUrl("src/test/resources/geoserver"); getGeoServer().save(global); // add a workspace qualified style WorkspaceInfo ws = catalog.getWorkspaceByName(MockData.CITE_PREFIX); testData.addStyle(ws, "Lakes", "Lakes.sld", SystemTestData.class, catalog); StyleInfo lakesStyle = catalog.getStyleByName(ws, "Lakes"); LayerInfo lakesLayer = catalog.getLayerByName(MockData.LAKES.getLocalPart()); lakesLayer.setDefaultStyle(lakesStyle); catalog.save(lakesLayer); setupOpaqueGroup(catalog); }
@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); }
@Override protected void onSetUp(SystemTestData testData) throws Exception { super.onSetUp(testData); Catalog cat = getCatalog(); CoverageStoreInfo csi = cat.getCoverageStoreByName(SystemTestData.WORLD.getLocalPart()); csi.setEnabled(false); cat.save(csi); GeoServerInfo global = getGeoServer().getGlobal(); global.getSettings().setProxyBaseUrl("src/test/resources/geoserver"); getGeoServer().save(global); }
@Test public void testWorkspacesWithProxyHeaders() throws Exception { GeoServerInfo ginfo = getGeoServer().getGlobal(); SettingsInfo settings = getGeoServer().getGlobal().getSettings(); ginfo.setUseHeadersProxyURL(true); settings.setProxyBaseUrl( "${X-Forwarded-Proto}://${X-Forwarded-Host}/${X-Forwarded-Path} ${X-Forwarded-Proto}://${X-Forwarded-Host}"); ginfo.setSettings(settings); getGeoServer().save(ginfo); assertEquals( 200, getAsServletResponse(RestBaseController.ROOT_PATH + "/workspaces.xml").getStatus()); Document dom = getAsDOM(RestBaseController.ROOT_PATH + "/workspaces.xml"); assertEquals(0, dom.getElementsByTagName("workspace").getLength()); super.login(); dom = getAsDOM(RestBaseController.ROOT_PATH + "/workspaces.xml"); assertEquals( getCatalog().getWorkspaces().size(), dom.getElementsByTagName("workspace").getLength()); assertEquals( 200, getAsServletResponse(RestBaseController.ROOT_PATH + "/workspaces.xml").getStatus()); dom = getAsDOM(RestBaseController.ROOT_PATH + "/workspaces.xml"); assertEquals( getCatalog().getWorkspaces().size(), dom.getElementsByTagName("workspace").getLength()); }
@Test public void testGobalContactDefault() throws Exception { GeoServerInfo g1 = factory.createGlobal(); ContactInfo contact = factory.createContact(); g1.setContact(contact); ByteArrayOutputStream out = out(); persister.save(g1, out); ByteArrayInputStream in = in(out); Document dom = dom(in); Element e = (Element) dom.getElementsByTagName("contact").item(0); e.removeAttribute("class"); in = in(dom); GeoServerInfo g2 = persister.load(in, GeoServerInfo.class); assertEquals(g1, g2); }
@Test public void testUpdateSequenceEqualsGet() throws Exception { long updateIndex = getGeoServer().getGlobal().getUpdateSequence(); Document dom = getAsDOM( BASEPATH + "?request=GetCapabilities&service=WCS&updateSequence=" + Long.toString(updateIndex)); checkValidationErrors(dom, WCS11_SCHEMA); final Node root = dom.getFirstChild(); assertEquals("wcs:Capabilities", root.getNodeName()); assertEquals(0, root.getChildNodes().getLength()); }
/** See https://osgeo-org.atlassian.net/browse/GEOS-3965 */ @Test public void testProxyBaseURL() throws Exception { GeoServer gs = getGeoServer(); try { GeoServerInfo info = gs.getGlobal(); info.getSettings().setProxyBaseUrl("http://myhost:9999/gs"); gs.save(info); final String requestUrl = "wms/kml?layers=" + getLayerId(MockData.BRIDGES) + "&styles=Bridge&mode=download"; Document dom = getAsDOM(requestUrl); // make sure we are using the proxy base URL XMLAssert.assertXpathEvaluatesTo( "http://myhost:9999/gs/styles/bridge.png", "//kml:Style/kml:IconStyle/kml:Icon/kml:href", dom); } finally { GeoServerInfo info = gs.getGlobal(); info.getSettings().setProxyBaseUrl(null); gs.save(info); } }
throws IOException, SQLException { DataStoreInfo jdbcDs = cat.getFactory().createDataStore(); jdbcDs.setName("oseo_jdbc"); WorkspaceInfo ws = cat.getDefaultWorkspace(); jdbcDs.setWorkspace(ws); jdbcDs.setEnabled(true); cat.add(jdbcDs); OSEOInfo service = gs.getService(OSEOInfo.class); service.setOpenSearchAccessStoreId(osDs.getId()); gs.save(service); GeoServerInfo global = gs.getGlobal(); global.getSettings().getContact().setContactOrganization("GeoServer"); gs.save(global);
@Test public void testComponent() { GeoServerInfo info = getGeoServerApplication().getGeoServer().getGlobal(); MetadataMap map = info.getSettings().getMetadata(); tester.startPage(new GlobalSettingsPage()); tester.assertRenderedPage(GlobalSettingsPage.class); tester.assertNoErrorMessage();
workspace != null ? geoServer.getCatalog().getWorkspaceByName(workspace) : null; GeoServerInfo global = geoServer.getGlobal(); SettingsInfo settings = ws != null ? geoServer.getSettings(ws) : global.getSettings(); if (settings == null) { settings = geoServer.getFactory().createSettings();
GeoServer geoServer = instance.getGeoServer(); Catalog catalog = instance.getCatalog(); WorkspaceInfo workspace = catalog.getWorkspaceByName(MockData.DEFAULT_PREFIX); GeoServerInfo geoServerInfo = geoServer.getGlobal(); SettingsInfo geoServerSettings = geoServerInfo.getSettings(); ContactInfo geoServerContact = geoServerSettings.getContact(); geoServerContact.setContactPerson(randomString()); geoServerSettings.setContact(geoServerContact); geoServerInfo.setSettings(geoServerSettings); geoServer.save(geoServerInfo); workspaceSettings.setTitle(randomString()); workspaceSettings.setWorkspace(workspace); geoServer.add(workspaceSettings); ServiceInfo wmsService = geoServer.getService(WMSInfo.class);