static LayerGroupInfo unwrap(LayerGroupInfo layerGroup) { if (layerGroup instanceof SecuredLayerGroupInfo) return ((SecuredLayerGroupInfo) layerGroup).unwrap(LayerGroupInfo.class); return layerGroup; }
public CatalogFactory getFactory() { return new DecoratingCatalogFactory(delegate.getFactory()) { @Override public LayerGroupInfo createLayerGroup() { // always wrap layergroups (secured layers could be added later) return new SecuredLayerGroupInfo( delegate.createLayerGroup(), null, new ArrayList<>(), new ArrayList<>()); } }; }
@Test public void testLayerGroupSynchronised() throws Exception { // create mocks final LayerInfo layer1 = createNiceMock(LayerInfo.class); final LayerInfo layer2 = createNiceMock(LayerInfo.class); final LayerGroupInfo lg = createNiceMock(LayerGroupInfo.class); final ArrayList<PublishedInfo> layers = new ArrayList<PublishedInfo>(); expect(lg.getLayers()).andReturn(layers).anyTimes(); lg.setRootLayer(layer1); expectLastCall(); replay(lg); // tests final ArrayList<PublishedInfo> securedLayers = new ArrayList<PublishedInfo>(); final SecuredLayerGroupInfo securedLg = new SecuredLayerGroupInfo(lg, null, securedLayers, new ArrayList<>()); securedLg.getLayers().add(new SecuredLayerInfo(layer1, null)); securedLg.getLayers().add(new SecuredLayerInfo(layer2, null)); assertEquals(2, securedLg.getLayers().size()); assertEquals(2, layers.size()); assertTrue(layers.get(0) == layer1); assertTrue(layers.get(1) == layer2); securedLg.getLayers().remove(1); assertEquals(1, securedLg.getLayers().size()); assertEquals(1, layers.size()); securedLg.setRootLayer(new SecuredLayerInfo(layer2, null)); // expect is test enough }
@Override public void setRootLayer(LayerInfo rootLayer) { // keep synchronised this.rootLayer = rootLayer; delegate.setRootLayer((LayerInfo) unwrap(rootLayer)); }
@Override public LayerGroupInfo createLayerGroup() { // always wrap layergroups (secured layers could be added later) return new SecuredLayerGroupInfo( delegate.createLayerGroup(), null, new ArrayList<>(), new ArrayList<>()); } };
lg = ((SecuredLayerGroupInfo) lg).unwrap(LayerGroupInfo.class);
return new SecuredLayerGroupInfo(group, rootLayer, wrapped, selectedStyles);
@Test public void testGetLayerGroup() throws Exception { // create mocks final LayerGroupInfo lg = createNiceMock(LayerGroupInfo.class); expect(lg.getWorkspace()).andReturn(null); final ArrayList<PublishedInfo> layers = new ArrayList<PublishedInfo>(); expect(lg.getLayers()).andReturn(layers); replay(lg); final Catalog catalog = createNiceMock(Catalog.class); expect(catalog.getLayerGroup("lg")).andReturn(lg); replay(catalog); // tests final Catalog secureCatalog = new SecureCatalogImpl(catalog); final LayerGroupInfo layerGroup = secureCatalog.getLayerGroup("lg"); assertTrue(layerGroup instanceof SecuredLayerGroupInfo); assertTrue(((SecuredLayerGroupInfo) layerGroup).unwrap(LayerGroupInfo.class) == lg); }
assertTrue(((SecuredLayerGroupInfo) layerGroup).unwrap(LayerGroupInfo.class) == lg); assertEquals(1, layerGroup.getLayers().size()); assertEquals(1, layerGroup.getStyles().size());
@Test public void testCreateNewLayerGroup() throws Exception { // create mocks final LayerGroupInfo lg = createNiceMock(LayerGroupInfo.class); final CatalogFactory factory = createNiceMock(CatalogFactory.class); final Catalog catalog = createNiceMock(Catalog.class); expect(catalog.getFactory()).andReturn(factory); replay(catalog); expect(factory.createLayerGroup()).andReturn(lg); replay(factory); // tests final Catalog secureCatalog = new SecureCatalogImpl(catalog); final LayerGroupInfo layerGroup = secureCatalog.getFactory().createLayerGroup(); assertTrue(layerGroup instanceof SecuredLayerGroupInfo); assertTrue(((SecuredLayerGroupInfo) layerGroup).unwrap(LayerGroupInfo.class) == lg); }