public GWC(final GWCConfigPersister gwcConfigPersister, final StorageBroker sb, final TileLayerDispatcher tld, final GridSetBroker gridSetBroker, final TileBreeder tileBreeder, final QuotaStore quotaStore, final DiskQuotaMonitor monitor, final Dispatcher owsDispatcher, final Catalog rawCatalog) { this.gwcConfigPersister = gwcConfigPersister; this.tld = tld; this.storageBroker = sb; this.gridSetBroker = gridSetBroker; this.tileBreeder = tileBreeder; this.monitor = monitor; this.owsDispatcher = owsDispatcher; this.quotaStore = quotaStore; this.rawCatalog = rawCatalog; catalogLayerEventListener = new CatalogLayerEventListener(this); catalogStyleChangeListener = new CatalogStyleChangeListener(this); this.rawCatalog.addListener(catalogLayerEventListener); this.rawCatalog.addListener(catalogStyleChangeListener); }
log.finer("Handling add event: " + obj); LayerInfo layerInfo = (LayerInfo) obj; createTileLayer(layerInfo); } else if (obj instanceof LayerGroupInfo) { LayerGroupInfo lgi = (LayerGroupInfo) obj; createTileLayer(lgi);
|| changedProperties.contains("namespace") || changedProperties.contains("workspace")) { handleRename(tileLayerInfo, source, changedProperties, oldValues, newValues); handleWorkspaceRename(source, changedProperties, oldValues, newValues); final LayerInfo li = (LayerInfo) source; handleLayerInfoChange(changedProperties, oldValues, newValues, li, tileLayerInfo); handleLayerGroupInfoChange( changedProperties, oldValues, newValues, lgInfo, tileLayerInfo);
handleRename(tileLayerInfo, source, changedProperties, oldValues, newValues); final LayerInfo li = (LayerInfo) source; handleLayerInfoChange(changedProperties, oldValues, newValues, li, tileLayerInfo); handleLayerGroupInfoChange(changedProperties, oldValues, newValues, lgInfo, tileLayerInfo);
public void testLayerGroupInfoStylesChanged() throws Exception { CatalogModifyEvent modifyEvent = mock(CatalogModifyEvent.class); when(modifyEvent.getSource()).thenReturn(mockLayerGroupInfo); when(modifyEvent.getPropertyNames()).thenReturn(Arrays.asList("styles")); List<StyleInfo> oldStyles = Collections.emptyList(); StyleInfo newStyle = mock(StyleInfo.class); List<StyleInfo> newStyles = Collections.singletonList(newStyle); when(modifyEvent.getOldValues()).thenReturn(Collections.singletonList((Object) oldStyles)); when(modifyEvent.getNewValues()).thenReturn(Collections.singletonList((Object) newStyles)); // the tile layer must exist on the layer metadata otherwise the event will be ignored GeoServerTileLayerInfo info = TileLayerInfoUtil.loadOrCreate(mockLayerGroupInfo, GWCConfig.getOldDefaults()); GeoServerTileLayer tileLayer = mock(GeoServerTileLayer.class); when(tileLayer.getInfo()).thenReturn(info); when(mockMediator.hasTileLayer(same(mockLayerGroupInfo))).thenReturn(true); when(mockMediator.getTileLayer(same(mockLayerGroupInfo))).thenReturn(tileLayer); listener.handleModifyEvent(modifyEvent); CatalogPostModifyEvent postModifyEvent = mock(CatalogPostModifyEvent.class); when(postModifyEvent.getSource()).thenReturn(mockLayerGroupInfo); listener.handlePostModifyEvent(postModifyEvent); verify(mockMediator).truncate(eq(LAYER_GROUP_NAME)); }
public void testLayerInfoAdded() throws Exception { CatalogAddEventImpl event = new CatalogAddEventImpl(); event.setSource(mockLayerInfo); listener.handleAddEvent(event); verify(mockMediator).add(Mockito.any(GeoServerTileLayer.class)); }
public void testLayerGroupInfoRemoved() throws Exception { CatalogRemoveEventImpl event = new CatalogRemoveEventImpl(); event.setSource(mockLayerGroupInfo); when(mockMediator.hasTileLayer(same(mockLayerGroupInfo))).thenReturn(true); listener.handleRemoveEvent(event); verify(mockMediator).removeTileLayers( eq(Arrays.asList(GWC.tileLayerName(mockLayerGroupInfo)))); }
public void testLayerGroupInfoLayersChanged() throws Exception { CatalogModifyEvent modifyEvent = mock(CatalogModifyEvent.class); when(modifyEvent.getSource()).thenReturn(mockLayerGroupInfo); when(modifyEvent.getPropertyNames()).thenReturn(Arrays.asList("layers")); List<LayerInfo> oldLayers = Collections.emptyList(); List<LayerInfo> newLayers = Collections.singletonList(mockLayerInfo); when(modifyEvent.getOldValues()).thenReturn(Collections.singletonList((Object) oldLayers)); when(modifyEvent.getNewValues()).thenReturn(Collections.singletonList((Object) newLayers)); // the tile layer must exist otherwise the event will be ignored GeoServerTileLayerInfo tileLayerInfo = TileLayerInfoUtil.loadOrCreate(mockLayerGroupInfo, mockMediator.getConfig()); GridSetBroker gridsets = new GridSetBroker(true, true); GeoServerTileLayer tileLayer = new GeoServerTileLayer(mockLayerGroupInfo, gridsets, tileLayerInfo); when(mockMediator.hasTileLayer(same(mockLayerGroupInfo))).thenReturn(true); when(mockMediator.getTileLayer(same(mockLayerGroupInfo))).thenReturn(tileLayer); listener.handleModifyEvent(modifyEvent); CatalogPostModifyEvent postModifyEvent = mock(CatalogPostModifyEvent.class); when(postModifyEvent.getSource()).thenReturn(mockLayerGroupInfo); listener.handlePostModifyEvent(postModifyEvent); verify(mockMediator).truncate(eq(LAYER_GROUP_NAME)); }
public void testLayerGroupInfoAdded() throws Exception { CatalogAddEventImpl event = new CatalogAddEventImpl(); event.setSource(mockLayerGroupInfo); listener.handleAddEvent(event); verify(mockMediator).add(Mockito.any(GeoServerTileLayer.class)); }
public void testLayerInfoRemoved() throws Exception { CatalogRemoveEventImpl event = new CatalogRemoveEventImpl(); event.setSource(mockLayerInfo); when(mockMediator.hasTileLayer(same(mockLayerInfo))).thenReturn(true); listener.handleRemoveEvent(event); verify(mockMediator).removeTileLayers(eq(Arrays.asList(mockResourceInfo.prefixedName()))); }
public void testLayerInfoDefaultStyleChanged() throws Exception { final String oldName = "oldStyle"; final String newName = "newStyle"; StyleInfo oldStyle = mock(StyleInfo.class); when(oldStyle.getName()).thenReturn(oldName); StyleInfo newStyle = mock(StyleInfo.class); when(newStyle.getName()).thenReturn(newName); when(mockLayerInfo.getDefaultStyle()).thenReturn(newStyle); CatalogModifyEvent modifyEvent = mock(CatalogModifyEvent.class); when(modifyEvent.getSource()).thenReturn(mockLayerInfo); when(modifyEvent.getPropertyNames()).thenReturn(Arrays.asList("defaultStyle")); when(modifyEvent.getOldValues()).thenReturn(Collections.singletonList((Object) oldStyle)); when(modifyEvent.getNewValues()).thenReturn(Collections.singletonList((Object) newStyle)); GeoServerTileLayer tileLayer = mock(GeoServerTileLayer.class); when(mockMediator.getTileLayerByName(eq(PREFIXED_RESOURCE_NAME))).thenReturn(tileLayer); // the tile layer must exist on the layer metadata otherwise the event will be ignored GeoServerTileLayerInfo info = TileLayerInfoUtil.loadOrCreate(mockLayerInfo, GWCConfig.getOldDefaults()); when(tileLayer.getInfo()).thenReturn(info); when(mockMediator.hasTileLayer(same(mockLayerInfo))).thenReturn(true); when(mockMediator.getTileLayer(same(mockLayerInfo))).thenReturn(tileLayer); listener.handleModifyEvent(modifyEvent); CatalogPostModifyEvent postModifyEvent = mock(CatalogPostModifyEvent.class); when(postModifyEvent.getSource()).thenReturn(mockLayerInfo); listener.handlePostModifyEvent(postModifyEvent); verify(mockMediator).truncateByLayerAndStyle(eq(PREFIXED_RESOURCE_NAME), eq(oldName)); verify(mockMediator).save(any(GeoServerTileLayer.class)); }
/** * @see junit.framework.TestCase#setUp() */ protected void setUp() throws Exception { GWCConfig configDefaults = GWCConfig.getOldDefaults(); mockMediator = mock(GWC.class); when(mockMediator.getConfig()).thenReturn(configDefaults); GridSetBroker gridsets = new GridSetBroker(true, true); when(mockMediator.getGridSetBroker()).thenReturn(gridsets); mockLayerInfo = mock(LayerInfo.class); MetadataMap layerMetadata = new MetadataMap(); when(mockLayerInfo.getMetadata()).thenReturn(layerMetadata); mockLayerGroupInfo = mock(LayerGroupInfo.class); MetadataMap groupMetadata = new MetadataMap(); when(mockLayerGroupInfo.getMetadata()).thenReturn(groupMetadata); mockResourceInfo = mock(FeatureTypeInfo.class); mockNamespaceInfo = mock(NamespaceInfo.class); when(mockLayerGroupInfo.getName()).thenReturn(LAYER_GROUP_NAME); when(mockLayerGroupInfo.prefixedName()).thenReturn(LAYER_GROUP_NAME); when(mockResourceInfo.prefixedName()).thenReturn(PREFIXED_RESOURCE_NAME); when(mockResourceInfo.getName()).thenReturn(RESOURCE_NAME); when(mockResourceInfo.getNamespace()).thenReturn(mockNamespaceInfo); when(mockNamespaceInfo.getPrefix()).thenReturn(NAMESPACE_PREFIX); when(mockLayerInfo.getResource()).thenReturn(mockResourceInfo); listener = new CatalogLayerEventListener(mockMediator); }
log.finer("Handling add event: " + obj); LayerInfo layerInfo = (LayerInfo) obj; createTileLayer(layerInfo); } else if (obj instanceof LayerGroupInfo) { LayerGroupInfo lgi = (LayerGroupInfo) obj; createTileLayer(lgi);
when(mockMediator.getTileLayer(any(CatalogInfo.class))).thenReturn(tileLayer); listener.handleModifyEvent(modifyEvent); when(postModifyEvent.getSource()).thenReturn(mockLayerInfo); listener.handlePostModifyEvent(postModifyEvent);
this.storageFinder = storageFinder; catalogLayerEventListener = new CatalogLayerEventListener(this, catalog); catalogStyleChangeListener = new CatalogStyleChangeListener(this, catalog); this.catalog.addListener(catalogLayerEventListener);
listener.handleModifyEvent(modifyEvent); when(postModifyEvent.getSource()).thenReturn(mockLayerGroupInfo); listener.handlePostModifyEvent(postModifyEvent);
when(mockMediator.getTileLayerByName(eq(oldTileLayerName))).thenReturn(tileLayer); listener.handleModifyEvent(modifyEvent); verify(mockMediator, times(1)).hasTileLayer(same(mockResourceInfo)); when(postModifyEvent.getSource()).thenReturn(mockResourceInfo); listener.handlePostModifyEvent(postModifyEvent);
when(mockMediator.getTileLayerByName(eq(oldPrefixedName))).thenReturn(tileLayer); listener.handleModifyEvent(modifyEvent); listener.handlePostModifyEvent(postModifyEvent);
when(mockMediator.getTileLayerByName(eq(oldLayerName))).thenReturn(tileLayer); listener.handleModifyEvent(modifyEvent); when(mockLayerGroupInfo.prefixedName()).thenReturn(prefixedName); listener.handlePostModifyEvent(postModifyEvent);