@Test public void testCascadeLayer() { Catalog catalog = getCatalog(); CascadeRemovalReporter visitor = new CascadeRemovalReporter(catalog); String name = getLayerId(MockData.LAKES); LayerInfo layer = catalog.getLayerByName(name); assertNotNull(layer); visitor.visit(layer); // layer.accept(visitor); // we expect a layer, a resource and a group assertEquals(3, visitor.getObjects(null).size()); // check the layer and resource have been marked to delete (and assertEquals( catalog.getLayerByName(name), visitor.getObjects(LayerInfo.class, ModificationType.DELETE).get(0)); assertEquals( catalog.getResourceByName(name, ResourceInfo.class), visitor.getObjects(ResourceInfo.class, ModificationType.DELETE).get(0)); // the group has been marked to update? (we need to compare by id as the // objects won't compare properly by equality) LayerGroupInfo group = catalog.getLayerGroupByName(LAKES_GROUP); assertEquals( group.getId(), visitor.getObjects(LayerGroupInfo.class, ModificationType.GROUP_CHANGED).get(0).getId()); }
private static FeatureTypeInfo extractLayer(PageParameters params, Catalog catalog) { if (params.containsKey("layer")) { String[] name = params.getString("layer").split(":", 2); return catalog.getResourceByName(name[0], name[1], FeatureTypeInfo.class); } else { // TODO: Revisit this behavior // give some slight preference to the topp:states layer to make // demoing a bit more consistent. FeatureTypeInfo states = catalog.getResourceByName("topp", "states", FeatureTypeInfo.class); if (states != null) { return states; } else { List<FeatureTypeInfo> layers = catalog.getResources(FeatureTypeInfo.class); if (layers.size() > 0) { return layers.get(0); } else { return null; } } } }
@Test public void testCascadeStore() { Catalog catalog = getCatalog(); CascadeRemovalReporter visitor = new CascadeRemovalReporter(catalog); String citeStore = MockData.CITE_PREFIX; StoreInfo store = catalog.getStoreByName(citeStore, StoreInfo.class); String buildings = getLayerId(MockData.BUILDINGS); String lakes = getLayerId(MockData.LAKES); LayerInfo bl = catalog.getLayerByName(buildings); ResourceInfo br = catalog.getResourceByName(buildings, ResourceInfo.class); LayerInfo ll = catalog.getLayerByName(lakes); ResourceInfo lr = catalog.getResourceByName(lakes, ResourceInfo.class); visitor.visit((DataStoreInfo) store); assertEquals(store, visitor.getObjects(StoreInfo.class, ModificationType.DELETE).get(0)); List<LayerInfo> layers = visitor.getObjects(LayerInfo.class, ModificationType.DELETE); assertTrue(layers.contains(bl)); assertTrue(layers.contains(ll)); List<ResourceInfo> resources = visitor.getObjects(ResourceInfo.class, ModificationType.DELETE); assertTrue(resources.contains(br)); assertTrue(resources.contains(lr)); }
<T extends ResourceInfo> void initResource( T r, Class<T> clazz, String rId, String name, StoreInfo s, NamespaceInfo ns, String srs, ProjectionPolicy projPolicy, ReferencedEnvelope envelope, ReferencedEnvelope latLonEnvelope) { expect(r.getId()).andReturn(rId).anyTimes(); expect(r.getName()).andReturn(name).anyTimes(); expect(r.getQualifiedName()).andReturn(new NameImpl(ns.getURI(), name)).anyTimes(); expect(r.getNativeName()).andReturn(name).anyTimes(); expect(r.getQualifiedNativeName()).andReturn(new NameImpl(ns.getURI(), name)).anyTimes(); expect(r.getTitle()).andReturn(name).anyTimes(); expect(r.getAbstract()).andReturn("abstract about " + name).anyTimes(); expect(r.getStore()).andReturn(s).anyTimes(); expect(r.getNamespace()).andReturn(ns).anyTimes(); srs = srs != null ? srs : "EPSG:4326"; expect(r.getSRS()).andReturn(srs).anyTimes(); try { expect(r.getNativeCRS()).andReturn(CRS.decode(srs)); } catch (Exception e) { throw new RuntimeException(e); } expect(r.getKeywords()).andReturn((List) Arrays.asList(new Keyword(name))).anyTimes(); expect(r.isEnabled()).andReturn(true).anyTimes(); expect(r.isAdvertised()).andReturn(true).anyTimes(); expect(r.getProjectionPolicy()).andReturn(projPolicy).anyTimes(); expect(r.getLatLonBoundingBox()).andReturn(latLonEnvelope).anyTimes(); ; expect(r.getNativeBoundingBox()).andReturn(envelope).anyTimes(); expect(catalog.getResource(rId, clazz)).andReturn(r).anyTimes(); expect(catalog.getResourceByName(ns.getPrefix() + ":" + name, clazz)).andReturn(r).anyTimes(); expect(catalog.getResourceByName(ns.getPrefix() + ":" + name, ResourceInfo.class)) .andReturn(r) .anyTimes(); expect(catalog.getResourceByName(name, clazz)).andReturn(r).anyTimes(); expect(catalog.getResourceByName(name, ResourceInfo.class)).andReturn(r).anyTimes(); expect(catalog.getResourceByName(new NameImpl(ns.getPrefix(), name), clazz)) .andReturn(r) .anyTimes(); expect(catalog.getResourceByName(new NameImpl(ns.getPrefix(), name), ResourceInfo.class)) .andReturn(r) .anyTimes(); expect(catalog.getResourceByName(new NameImpl(ns.getURI(), name), clazz)) .andReturn(r) .anyTimes(); expect(catalog.getResourceByName(new NameImpl(ns.getURI(), name), ResourceInfo.class)) .andReturn(r) .anyTimes(); expect(catalog.getResourceByName(ns, name, clazz)).andReturn(r).andReturn(r).anyTimes(); expect(catalog.getResourceByName(ns, name, ResourceInfo.class)) .andReturn(r) .andReturn(r) .anyTimes(); expect(catalog.getResourceByName(ns.getPrefix(), name, clazz)).andReturn(r).anyTimes(); expect(catalog.getResourceByName(ns.getPrefix(), name, ResourceInfo.class)) .andReturn(r) .anyTimes(); // expect(catalog.getResourceByName(or(eq(ns.getPrefix()), eq(ns.getURI())), name, // clazz)).andReturn(r).anyTimes(); expect(catalog.getResourceByStore(s, name, clazz)).andReturn(r).anyTimes(); expect(catalog.getResourceByStore(s, name, ResourceInfo.class)).andReturn(r).anyTimes(); }
public ResourceInfo getResourceInfo(final Name name) { Catalog catalog = getCatalog(); ResourceInfo resource = catalog.getResourceByName(name, ResourceInfo.class); return resource; }
public WMSLayerInfo getWMSLayerInfo(final Name name) { Catalog catalog = getCatalog(); WMSLayerInfo resource = catalog.getResourceByName(name, WMSLayerInfo.class); return resource; }
public FeatureTypeInfo getFeatureTypeInfo(final Name name) { Catalog catalog = getCatalog(); FeatureTypeInfo resource = catalog.getResourceByName(name, FeatureTypeInfo.class); return resource; }