protected boolean handleLayerGroup() { // NamedLayer - LayerGroup: ignore any defined styles and use the layer group instead if (info != null && info instanceof LayerGroupInfo) { LayerGroupInfo lg = (LayerGroupInfo) info; List<LayerInfo> layers = lg.layers(); List<StyleInfo> styles = lg.styles(); try { for (int i = 0; i < layers.size(); i++) { info = layers.get(i); StyleInfo style = styles.get(i); if (style == null) { visit(layers.get(i).getDefaultStyle().getStyle()); } else { visit(styles.get(i).getStyle()); } } } catch (IOException e) { throw new UncheckedIOException(e); } return true; } return false; }
@Test public void testLayerGroupNullLayerReferences() { addLayer(); LayerGroupInfo lg = catalog.getFactory().createLayerGroup(); lg.setWorkspace(null); lg.setName("layerGroup2"); lg.getLayers().add(null); lg.getStyles().add(null); lg.getLayers().add(l); lg.getStyles().add(s); lg.getLayers().add(null); lg.getStyles().add(null); catalog.add(lg); LayerGroupInfo resolved = catalog.getLayerGroupByName("layerGroup2"); assertEquals(1, resolved.layers().size()); assertEquals(1, resolved.styles().size()); assertEquals(s, resolved.styles().get(0)); }
@Test public void testLayerGroupNullLayerOrStyleReferences() throws IOException { Catalog catalog = getCatalog(); LayerGroupInfo lg = catalog.getFactory().createLayerGroup(); LayerInfo l = catalog.getLayerByName(getLayerId(MockData.ROAD_SEGMENTS)); StyleInfo s = catalog.getStyleByName("singleStyleGroup"); lg.setWorkspace(null); lg.setName("threeTypeLayerGroup"); // layer with default style lg.getLayers().add(l); lg.getStyles().add(null); // style group lg.getLayers().add(null); lg.getStyles().add(s); lg.getLayers().add(null); lg.getStyles().add(null); catalog.add(lg); LayerGroupInfo resolved = catalog.getLayerGroupByName("threeTypeLayerGroup"); assertEquals(2, resolved.layers().size()); assertEquals(2, resolved.styles().size()); assertEquals(l, resolved.layers().get(0)); assertEquals(s.getStyle(), resolved.styles().get(1).getStyle()); }
@Test public void testSingleStyleGroup() throws Exception { Catalog catalog = getCatalog(); LayerGroupInfo lg = catalog.getFactory().createLayerGroup(); StyleInfo s = catalog.getStyleByName("singleStyleGroup"); lg.setWorkspace(null); lg.setName("singleStyleLayerGroup"); lg.getLayers().add(null); lg.getStyles().add(s); catalog.add(lg); LayerGroupInfo resolved = catalog.getLayerGroupByName("singleStyleLayerGroup"); assertEquals(1, resolved.layers().size()); assertEquals(1, resolved.styles().size()); assertEquals(s.getStyle(), resolved.styles().get(0).getStyle()); // Test bounds calculation new LayerGroupHelper(lg).calculateBounds(); assertEquals( catalog.getLayerByName((getLayerId(MockData.STREAMS))) .getResource() .getLatLonBoundingBox(), lg.getBounds()); }
assertEquals(lg2.getStyles(), lg2.styles()); assertEquals(lg2.getStyles(), lg2.styles()); assertEquals(lg2.getStyles(), lg2.styles()); assertEquals(lg2.getStyles(), lg2.styles()); fail("Layer group of Type Container can not be rendered"); } catch (UnsupportedOperationException e) { assertEquals(1, lg2.styles().size()); assertEquals(l, lg2.layers().iterator().next()); assertEquals(s, lg2.styles().iterator().next());
List<StyleInfo> styles = resolved.styles();
LayerGroupInfo layerGroupInfo = (LayerGroupInfo) infoObj; List<LayerInfo> groupLayers = layerGroupInfo.layers(); List<StyleInfo> groupStyles = layerGroupInfo.styles(); for (int count = 0; count < groupLayers.size(); count++) { LayerInfo layerInfo = groupLayers.get(count);
LayerGroupInfo groupInfo = (LayerGroupInfo) o; List<LayerInfo> layers = groupInfo.layers(); List<StyleInfo> styles = groupInfo.styles(); for (int j = 0; j < styles.size(); j++) { StyleInfo si = styles.get(j);
@Test public void testWmsNamedTreeAMilitaryOnlyGroupContents() throws Exception { // prepare the stage setupRequestThreadLocal("WMS"); buildManager("lockDownStates.properties"); // try with read only user SecurityContextHolder.getContext().setAuthentication(roUser); final LayerGroupInfo group = sc.getLayerGroupByName(namedTreeA.getName()); assertNotNull(group); // the group should not contain states any more final List<LayerInfo> layers = group.layers(); assertEquals(2, layers.size()); final List<StyleInfo> styles = group.styles(); assertEquals(2, styles.size()); // check the layers and styles are not mis-aligned assertEquals("roads", layers.get(0).getName()); assertEquals("topp-roads-style", styles.get(0).getName()); assertEquals("cities", layers.get(1).getName()); assertEquals("nurc-cities-style", styles.get(1).getName()); }