public WorkspaceInfo getWorkspaceByName(String name) { return delegate.getWorkspaceByName(name); }
public WorkspaceInfo getWorkspaceByName(String name) { return checkAccess(delegate.getWorkspaceByName(name)); }
public WorkspaceInfo getWorkspaceByName(String name) { return checkAccess(user(), delegate.getWorkspaceByName(name), MixedModeBehavior.CHALLENGE); }
@Override public Boolean evaluate(Object object) { WorkspaceInfo wsInfo = getCatalog() .getWorkspaceByName( ((NamespaceInfo) object).getPrefix()); return !hideWorkspace(wsInfo); } };
/** When a namespace is removed, makes sure the associated workspace is removed as well. */ public void handleRemoveEvent(CatalogRemoveEvent event) throws CatalogException { if (event.getSource() instanceof NamespaceInfo) { NamespaceInfo ns = (NamespaceInfo) event.getSource(); WorkspaceInfo ws = catalog.getWorkspaceByName(ns.getPrefix()); if (ws != null) { catalog.remove(ws); } } }
@Test public void testRemoveWorkspace() throws Exception { testAddWorkspace(); File ws = new File(testData.getDataDirectoryRoot(), "workspaces/acme"); assertTrue(ws.exists()); WorkspaceInfo acme = catalog.getWorkspaceByName("acme"); catalog.remove(acme); assertFalse(ws.exists()); }
@Test public void testAddCoverageStore() throws Exception { testAddWorkspace(); File dir = new File(testData.getDataDirectoryRoot(), "workspaces/acme/foostore"); assertFalse(dir.exists()); CoverageStoreInfo cs = catalog.getFactory().createCoverageStore(); cs.setName("foostore"); cs.setWorkspace(catalog.getWorkspaceByName("acme")); catalog.add(cs); assertTrue(dir.exists()); assertTrue(new File(dir, "coveragestore.xml").exists()); }
@Test public void testAddDataStore() throws Exception { testAddWorkspace(); File dir = new File(testData.getDataDirectoryRoot(), "workspaces/acme/foostore"); assertFalse(dir.exists()); DataStoreInfo ds = catalog.getFactory().createDataStore(); ds.setName("foostore"); ds.setWorkspace(catalog.getWorkspaceByName("acme")); catalog.add(ds); assertTrue(dir.exists()); assertTrue(new File(dir, "datastore.xml").exists()); }
@Test public void testAddWMTSStore() throws Exception { testAddWorkspace(); File dir = new File(testData.getDataDirectoryRoot(), "workspaces/acme/demowmts"); assertFalse(dir.exists()); WMTSStoreInfo wmts = catalog.getFactory().createWebMapTileServer(); wmts.setName("demowmts"); wmts.setWorkspace(catalog.getWorkspaceByName("acme")); catalog.add(wmts); assertTrue(dir.exists()); assertTrue(new File(dir, "wmtsstore.xml").exists()); }
@Test public void testAddWMSStore() throws Exception { testAddWorkspace(); File dir = new File(testData.getDataDirectoryRoot(), "workspaces/acme/demowms"); assertFalse(dir.exists()); WMSStoreInfo wms = catalog.getFactory().createWebMapServer(); wms.setName("demowms"); wms.setWorkspace(catalog.getWorkspaceByName("acme")); catalog.add(wms); assertTrue(dir.exists()); assertTrue(new File(dir, "wmsstore.xml").exists()); }
/** Keys for overriding default layer properties */ public static class StyleProperty<T> { T get(Map<StyleProperty, Object> map, T def) { return map != null && map.containsKey(this) ? (T) map.get(this) : def; } public static StyleProperty<String> FORMAT = new StyleProperty<String>(); public static StyleProperty<Version> FORMAT_VERSION = new StyleProperty<Version>(); public static StyleProperty<LegendInfo> LEGEND_INFO = new StyleProperty<LegendInfo>(); }
@Test public void testDefaultWorkspace() throws Exception { testAddWorkspace(); WorkspaceInfo ws = catalog.getWorkspaceByName("acme"); catalog.setDefaultWorkspace(ws); File dws = new File(testData.getDataDirectoryRoot(), "workspaces/default.xml"); assertTrue(dws.exists()); Document dom = dom(dws); assertXpathEvaluatesTo("acme", "/workspace/name", dom); }
/** * Helper method that updates the isolation state of an workspace and the corresponding * namespace. */ protected void updateWorkspaceIsolationState(String prefix, boolean isolated) { Catalog catalog = getCatalog(); // set the workspace isolation state using the provided one WorkspaceInfo workspace = catalog.getWorkspaceByName(prefix); workspace.setIsolated(isolated); catalog.save(workspace); // set the namespace isolation state using the provided one NamespaceInfo namespace = catalog.getNamespaceByPrefix(prefix); namespace.setIsolated(isolated); catalog.save(namespace); }
@Test public void testLayerLocalWithContainingGroup() throws Exception { CatalogFactory factory = catalog.getFactory(); WorkspaceInfo citeWs = catalog.getWorkspaceByName("cite"); addLocalGroup(factory, citeWs); // set a local layer that's in the group final LayerInfo buildingsLayer = getBuildingsLayer(); LocalPublished.set(buildingsLayer); assertNotNull(catalog.getLayerByName(buildingsLayer.prefixedName())); assertNull(catalog.getLayerGroupByName(GLOBAL_GROUP)); assertNull(catalog.getLayerGroupByName(LOCAL_GROUP)); assertEquals(1, catalog.getLayers().size()); assertThat(catalog.getLayerGroups(), empty()); }
@Test public void testLayerLocalWithNonContainingGroup() throws Exception { CatalogFactory factory = catalog.getFactory(); WorkspaceInfo citeWs = catalog.getWorkspaceByName("cite"); addLocalGroup(factory, citeWs); // set a local layer that's not in the group final LayerInfo dividedRoutes = catalog.getLayerByName(getLayerId(SystemTestData.DIVIDED_ROUTES)); LocalPublished.set(dividedRoutes); assertNotNull(catalog.getLayerByName(dividedRoutes.prefixedName())); assertNull(catalog.getLayerGroupByName(GLOBAL_GROUP)); assertNull(catalog.getLayerGroupByName(LOCAL_GROUP)); assertEquals(1, catalog.getLayers().size()); assertThat(catalog.getLayerGroups(), empty()); }
@Before public void revertCatalog() throws Exception { removeLayerGroup(null, "lg"); removeLayerGroup("gs", "lg"); removeLayerGroup("acme", "lg"); removeWorkspace("acme"); removeNamespace("bar"); removeStyle(null, "foostyle"); removeStyle("gs", "foostyle"); removeStyle(null, "boostyle"); getCatalog().setDefaultWorkspace(getCatalog().getWorkspaceByName("gs")); }
@Test public void testModifySettings() throws Exception { testAddSettings(); WorkspaceInfo ws = catalog.getWorkspaceByName("acme"); SettingsInfo settings = getGeoServer().getSettings(ws); settings.setTitle("FOO"); getGeoServer().save(settings); File f = catalog.getResourceLoader().find("workspaces", ws.getName(), "settings.xml"); assertNotNull(f); Document dom = dom(f); assertXpathEvaluatesTo("FOO", "/settings/title", dom); }
@Test public void testRemoveSettings() throws Exception { testAddSettings(); WorkspaceInfo ws = catalog.getWorkspaceByName("acme"); File f = catalog.getResourceLoader().find("workspaces", ws.getName(), "settings.xml"); assertNotNull(f); SettingsInfo settings = getGeoServer().getSettings(ws); getGeoServer().remove(settings); f = catalog.getResourceLoader().find("workspaces", ws.getName(), "settings.xml"); assertNull(f); }
@Test public void testChangeDataStoreWorkspace() throws Exception { addDataStore(); WorkspaceInfo ws2 = catalog.getFactory().createWorkspace(); ws2.setName("newWorkspace"); catalog.add(ws2); ws2 = catalog.getWorkspaceByName(ws2.getName()); DataStoreInfo ds2 = catalog.getDataStoreByName(ds.getName()); ds2.setWorkspace(ws2); catalog.save(ds2); assertNull(catalog.getDataStoreByName(ws, ds2.getName())); assertNotNull(catalog.getDataStoreByName(ws2, ds2.getName())); }
@Test public void testAddSettings() throws Exception { testAddWorkspace(); WorkspaceInfo ws = catalog.getWorkspaceByName("acme"); SettingsInfo settings = getGeoServer().getFactory().createSettings(); settings.setTitle("ACME"); settings.setWorkspace(ws); File f = catalog.getResourceLoader().find("workspaces", ws.getName(), "settings.xml"); assertNull(f); getGeoServer().add(settings); f = catalog.getResourceLoader().find("workspaces", ws.getName(), "settings.xml"); assertNotNull(f); Document dom = dom(f); assertXpathEvaluatesTo("ACME", "/settings/title", dom); }