@Override public Object doUnmarshal( Object result, HierarchicalStreamReader reader, UnmarshallingContext context) { LayerInfoImpl li = (LayerInfoImpl) super.doUnmarshal(result, reader, context); MetadataMap metadata = li.getMetadata(); if (li.getAuthorityURLs() == null && metadata != null) { String serialized = metadata.get("authorityURLs", String.class); List<AuthorityURLInfo> authorities; if (serialized == null) { authorities = new ArrayList<AuthorityURLInfo>(1); } else { authorities = AuthorityURLInfoInfoListConverter.fromString(serialized); } li.setAuthorityURLs(authorities); } if (li.getIdentifiers() == null && metadata != null) { String serialized = metadata.get("identifiers", String.class); List<LayerIdentifierInfo> identifiers; if (serialized == null) { identifiers = new ArrayList<LayerIdentifierInfo>(1); } else { identifiers = LayerIdentifierInfoListConverter.fromString(serialized); } li.setIdentifiers(identifiers); } return li; } }
public void testLoadLayerInfoExtraStyles() { GeoServerTileLayerInfo info = defaultVectorInfo; info.setAutoCacheStyles(false); TileLayerInfoUtil.setCachedStyles(info, "default", ImmutableSet.of("style1")); LayerInfoImpl layer = mockLayer("testLayer", new String[]{"style1", "style2"}, LayerInfoImpl.Type.RASTER); assertNull(LegacyTileLayerInfoLoader.load(layer)); LegacyTileLayerInfoLoader.save(info, layer.getMetadata()); GeoServerTileLayerInfo actual; actual = LegacyTileLayerInfoLoader.load(layer); info.setId(layer.getId()); info.setName(tileLayerName(layer)); assertEquals(info, actual); layer.setDefaultStyle(null); TileLayerInfoUtil.setCachedStyles(info, null, ImmutableSet.of("style1")); LegacyTileLayerInfoLoader.save(info, layer.getMetadata()); actual = LegacyTileLayerInfoLoader.load(layer); assertEquals(ImmutableSet.of("style1"), actual.cachedStyles()); }
public void testGetGridSubsets() throws Exception { layerInfoTileLayer = new GeoServerTileLayer(layerInfo, defaults, gridSetBroker); Set<String> gridSubsets = layerInfoTileLayer.getGridSubsets(); assertNotNull(gridSubsets); assertEquals(2, gridSubsets.size()); Set<XMLGridSubset> subsets = layerInfoTileLayer.getInfo().getGridSubsets(); subsets.clear(); XMLGridSubset xmlGridSubset = new XMLGridSubset(); xmlGridSubset.setGridSetName("EPSG:900913"); subsets.add(xmlGridSubset); LegacyTileLayerInfoLoader.save(layerInfoTileLayer.getInfo(), layerInfo.getMetadata()); layerInfoTileLayer = new GeoServerTileLayer(layerInfo, defaults, gridSetBroker); gridSubsets = layerInfoTileLayer.getGridSubsets(); assertNotNull(gridSubsets); assertEquals(1, gridSubsets.size()); layerGroup.setBounds(layerInfo.getResource().getLatLonBoundingBox()); layerGroupInfoTileLayer = new GeoServerTileLayer(layerGroup, defaults, gridSetBroker); gridSubsets = layerGroupInfoTileLayer.getGridSubsets(); assertNotNull(gridSubsets); assertEquals(2, gridSubsets.size()); }
public void testLoadLayerInfoAutoCacheStyles() { GeoServerTileLayerInfo info = defaultVectorInfo; info.setAutoCacheStyles(true); LayerInfoImpl layer = mockLayer("testLayer", new String[]{"style1", "style2"}, LayerInfoImpl.Type.RASTER); assertNull(LegacyTileLayerInfoLoader.load(layer)); LegacyTileLayerInfoLoader.save(info, layer.getMetadata()); GeoServerTileLayerInfo actual; actual = LegacyTileLayerInfoLoader.load(layer); TileLayerInfoUtil.setCachedStyles(info, "default", ImmutableSet.of("style1", "style2")); info.setId(layer.getId()); info.setName(tileLayerName(layer)); assertEquals(info, actual); layer.setDefaultStyle(null); TileLayerInfoUtil.setCachedStyles(info, null, ImmutableSet.of("style1", "style2")); actual = LegacyTileLayerInfoLoader.load(layer); assertEquals(ImmutableSet.of("style1", "style2"), actual.cachedStyles()); }
public void testLoadLayerInfo() { LayerInfoImpl layer = mockLayer("testLayer", new String[]{}, LayerInfoImpl.Type.RASTER); assertNull(LegacyTileLayerInfoLoader.load(layer)); LegacyTileLayerInfoLoader.save(defaultVectorInfo, layer.getMetadata()); GeoServerTileLayerInfo info2 = LegacyTileLayerInfoLoader.load(layer); defaultVectorInfo.setId(layer.getId()); defaultVectorInfo.setName(tileLayerName(layer)); assertEquals(defaultVectorInfo, info2); }
public void testGetMetaTilingFactors() { layerInfoTileLayer = new GeoServerTileLayer(layerInfo, defaults, gridSetBroker); int[] metaTilingFactors = layerInfoTileLayer.getMetaTilingFactors(); assertEquals(defaults.getMetaTilingX(), metaTilingFactors[0]); assertEquals(defaults.getMetaTilingY(), metaTilingFactors[1]); GeoServerTileLayerInfo info = layerInfoTileLayer.getInfo(); info.setMetaTilingX(1 + defaults.getMetaTilingX()); info.setMetaTilingY(2 + defaults.getMetaTilingY()); LegacyTileLayerInfoLoader.save(info, layerInfo.getMetadata()); layerInfoTileLayer = new GeoServerTileLayer(layerInfo, defaults, gridSetBroker); metaTilingFactors = layerInfoTileLayer.getMetaTilingFactors(); assertEquals(1 + defaults.getMetaTilingX(), metaTilingFactors[0]); assertEquals(2 + defaults.getMetaTilingY(), metaTilingFactors[1]); }