@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());
  }
示例#2
0
 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));
  }
示例#4
0
  <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();
  }
示例#5
0
 public ResourceInfo getResourceInfo(final Name name) {
   Catalog catalog = getCatalog();
   ResourceInfo resource = catalog.getResourceByName(name, ResourceInfo.class);
   return resource;
 }
示例#6
0
 public WMSLayerInfo getWMSLayerInfo(final Name name) {
   Catalog catalog = getCatalog();
   WMSLayerInfo resource = catalog.getResourceByName(name, WMSLayerInfo.class);
   return resource;
 }
示例#7
0
 public FeatureTypeInfo getFeatureTypeInfo(final Name name) {
   Catalog catalog = getCatalog();
   FeatureTypeInfo resource = catalog.getResourceByName(name, FeatureTypeInfo.class);
   return resource;
 }