/** * Convenience method to pull a UserSyle from a StyledLayerDescriptor. * * <p>This method will return the first UserStyle it encounters in the StyledLayerDescriptor * tree. * * @param sld The StyledLayerDescriptor object. * @return The UserStyle, or <code>null</code> if no such style could be found. */ public static Style style(StyledLayerDescriptor sld) { for (int i = 0; i < sld.getStyledLayers().length; i++) { Style[] styles = null; if (sld.getStyledLayers()[i] instanceof NamedLayer) { NamedLayer layer = (NamedLayer) sld.getStyledLayers()[i]; styles = layer.getStyles(); } else if (sld.getStyledLayers()[i] instanceof UserLayer) { UserLayer layer = (UserLayer) sld.getStyledLayers()[i]; styles = layer.getUserStyles(); } if (styles != null) { for (int j = 0; j < styles.length; j++) { if (!(styles[j] instanceof NamedStyle)) { return styles[j]; } } } } return null; }
@Override public Void answer() throws Throwable { Object[] args = getCurrentArguments(); InputStream is = (InputStream) args[1]; byte[] input = IOUtils.toByteArray(is); SLDParser parser = new SLDParser(CommonFactoryFinder.getStyleFactory()); parser.setInput(new ByteArrayInputStream(input)); StyledLayerDescriptor sld = parser.parseSLD(); NamedLayer nl = (NamedLayer) sld.getStyledLayers()[0]; assertEquals("foo", nl.getName()); Style style = nl.getStyles()[0]; assertEquals( "A raster style", style.getDescription().getTitle().toString()); assertEquals(1, style.featureTypeStyles().size()); FeatureTypeStyle fts = style.featureTypeStyles().get(0); assertEquals(1, fts.rules().size()); assertThat( fts.rules().get(0).symbolizers().get(0), instanceOf(RasterSymbolizer.class)); // make sure it's valid SLDValidator validator = new SLDValidator(); List errors = validator.validateSLD(new ByteArrayInputStream(input)); assertEquals(0, errors.size()); return null; } });
public void visit(NamedLayer layer) { Style[] styles = layer.getStyles(); for (int i = 0; i < styles.length; i++) { styles[i].accept(this); } }
public void visit(NamedLayer layer) { org.geotools.styling.Style[] styles = layer.getStyles(); for (int i = 0; i < styles.length; i++) { styles[i].accept(this); } }
Style style = nl.getStyles()[0]; assertEquals( "A orange generic style",
@Override public void visit(NamedLayer layer) { for (Style s : layer.getStyles()) { s.accept(this); } for (FeatureTypeConstraint ftc : layer.getLayerFeatureConstraints()) { ftc.accept(this); } }
public NamedLayerBuilder reset(NamedLayer layer) { if (layer == null) { return unset(); } this.name = layer.getName(); featureTypeConstraint.clear(); if (layer.layerFeatureConstraints() != null) { for (FeatureTypeConstraint featureConstraint : layer.layerFeatureConstraints()) { featureTypeConstraint.add( new FeatureTypeConstraintBuilder(this).reset(featureConstraint)); } } styles.clear(); for (Style style : layer.getStyles()) { styles.add(new StyleBuilder().reset(style)); } unset = false; return this; }
public void visit(NamedLayer layer) { NamedLayer copy = null; Style[] style = layer.getStyles(); Style[] styleCopy = new Style[style.length]; int length = style.length; for (int i = 0; i < length; i++) { if (style[i] != null) { style[i].accept(this); styleCopy[i] = (Style) pages.pop(); } } FeatureTypeConstraint[] lfc = layer.getLayerFeatureConstraints(); FeatureTypeConstraint[] lfcCopy = new FeatureTypeConstraint[lfc.length]; length = lfc.length; for (int i = 0; i < length; i++) { if (lfc[i] != null) { lfc[i].accept(this); lfcCopy[i] = (FeatureTypeConstraint) pages.pop(); } } copy = sf.createNamedLayer(); copy.setName(layer.getName()); length = styleCopy.length; for (int i = 0; i < length; i++) { copy.addStyle(styleCopy[i]); } copy.setLayerFeatureConstraints(lfcCopy); pages.push(copy); }
public void visit(NamedLayer layer) { start("NamedLayer"); element("Name", layer.getName()); FeatureTypeConstraint[] lfc = layer.getLayerFeatureConstraints(); if ((lfc != null) && lfc.length > 0) { start("LayerFeatureConstraints"); // optional for (int i = 0; i < lfc.length; i++) { visit(lfc[i]); } end("LayerFeatureConstraints"); } Style[] styles = layer.getStyles(); for (int i = 0; i < styles.length; i++) { visit(styles[i]); } end("NamedLayer"); }
styles = layer.getStyles(); } else if (sld.getStyledLayers()[i] instanceof UserLayer) { UserLayer layer = (UserLayer) sld.getStyledLayers()[i];
public void visit(NamedLayer layer) { org.geotools.styling.Style[] styles = layer.getStyles(); for (int i = 0; i < styles.length; i++) { styles[i].accept(this); } }
public void visit(NamedLayer layer) { Style[] styles = layer.getStyles(); for (int i = 0; i < styles.length; i++) { styles[i].accept(this); } }
public void visit(NamedLayer layer) { Style[] styles = layer.getStyles(); for (int i = 0; i < styles.length; i++) { styles[i].accept(this); } }
public void visit(NamedLayer layer) { Style[] styles = layer.getStyles(); for (int i = 0; i < styles.length; i++) { styles[i].accept(this); } }
@Override public Object decode(Object input) throws Exception { Parser p = getParser(sldConfiguration); // extract the first style in the first sld StyledLayerDescriptor sld = (StyledLayerDescriptor) p.parse(new StringReader((String) input)); NamedLayer styledLayer = (NamedLayer) sld.getStyledLayers()[0]; return styledLayer.getStyles()[0]; } }
@Override public void visit(NamedLayer layer) { for (Style s : layer.getStyles()) { s.accept(this); } for (FeatureTypeConstraint ftc : layer.getLayerFeatureConstraints()) { ftc.accept(this); } }
@Override public Object decode(InputStream input) throws Exception { Parser p = getParser(sldConfiguration); // extract the first style in the first sld StyledLayerDescriptor sld = (StyledLayerDescriptor) p.parse(input); NamedLayer styledLayer = (NamedLayer) sld.getStyledLayers()[0]; return styledLayer.getStyles()[0]; }
@Override public Object decode(InputStream input) throws Exception { Parser p = new Parser(sldConfiguration); // extract the first style in the first sld StyledLayerDescriptor sld = (StyledLayerDescriptor) p.parse(input); NamedLayer styledLayer = (NamedLayer) sld.getStyledLayers()[0]; return styledLayer.getStyles()[0]; }
private static Style parseStyle(String styleResource) throws IOException { try (InputStream in = GeoServerLoader.class.getResourceAsStream(styleResource)) { StyledLayerDescriptor sld = new SLDHandler().parse(in, null, null, null); return ((NamedLayer) sld.getStyledLayers()[0]).getStyles()[0]; } }
private Style parseStyle(final String styleName) throws IOException { final SLDParser parser = new SLDParser(CommonFactoryFinder.getStyleFactory()); parser.setInput(RasterSymbolizerVisitorTest.class.getResource(styleName)); final StyledLayerDescriptor sld = parser.parseSLD(); final NamedLayer ul = (NamedLayer) sld.getStyledLayers()[0]; return ul.getStyles()[0]; } }