Symbolizer symbolizer = s.featureTypeStyles().get(0).rules().get(0).symbolizers().get(0); assertTrue(symbolizer instanceof PointSymbolizer); GraphicalSymbol graphic =
@Test public void testParsedStyle() throws IOException { File styleDir = new File(dataDir.root(), "styles"); styleDir.mkdir(); // Copy the sld to the temp style dir File styleFile = new File(styleDir, "external.sld"); Files.copy(this.getClass().getResourceAsStream("external.sld"), styleFile.toPath()); File iconFile = new File(styleDir, "icon.png"); assertFalse(iconFile.exists()); StyleInfoImpl si = new StyleInfoImpl(null); si.setName(""); si.setId(""); si.setFormat("sld"); si.setFormatVersion(new Version("1.0.0")); si.setFilename(styleFile.getName()); Style s = dataDir.parsedStyle(si); // Verify style is actually parsed correctly Symbolizer symbolizer = s.featureTypeStyles().get(0).rules().get(0).symbolizers().get(0); assertTrue(symbolizer instanceof PointSymbolizer); GraphicalSymbol graphic = ((PointSymbolizer) symbolizer).getGraphic().graphicalSymbols().get(0); assertTrue(graphic instanceof ExternalGraphic); assertEquals(((ExternalGraphic) graphic).getLocation(), iconFile.toURI().toURL()); // GEOS-7025: verify the icon file is not created if it doesn't already exist assertFalse(iconFile.exists()); }
@Test public void testSEStyleWithRelativePathProtocol() throws IOException { StyleInfo si = getCatalog().getStyleByName("relative_protocol"); assertNotNull(si); Style style = si.getStyle(); PolygonSymbolizer ps = (PolygonSymbolizer) style.featureTypeStyles().get(0).rules().get(0).symbolizers().get(0); ExternalGraphic eg = (ExternalGraphic) ps.getFill().getGraphicFill().graphicalSymbols().get(0); URI uri = eg.getOnlineResource().getLinkage(); assertNotNull(uri); File actual = URLs.urlToFile(uri.toURL()).getCanonicalFile(); assertEquals(rockFillSymbolFile, actual); }
Symbolizer symbolizer = s.featureTypeStyles().get(0).rules().get(0).symbolizers().get(0); assertTrue(symbolizer instanceof PointSymbolizer); GraphicalSymbol graphic =
@Test public void testSEStyleWithRelativePath() throws IOException { StyleInfo si = getCatalog().getStyleByName("relative"); assertNotNull(si); Style style = si.getStyle(); PolygonSymbolizer ps = (PolygonSymbolizer) style.featureTypeStyles().get(0).rules().get(0).symbolizers().get(0); ExternalGraphic eg = (ExternalGraphic) ps.getFill().getGraphicFill().graphicalSymbols().get(0); URI uri = eg.getOnlineResource().getLinkage(); assertNotNull(uri); File actual = URLs.urlToFile(uri.toURL()).getCanonicalFile(); assertEquals(rockFillSymbolFile, actual); }
protected SymbolizerParser(Rule rule, T sym, Factory factory) { super(factory); rule.symbolizers().add(this.sym = sym); }
public SymbolizersEncoder(Rule rule) { super(rule.symbolizers().iterator()); }
@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; } });
r.symbolizers().add(sym);
/** * Retrieves all symbolizers defined in a rule * * @param rule the rule * @return an array of unique symbolizers */ public static Symbolizer[] symbolizers(Rule rule) { Set<Symbolizer> symbolizers = new HashSet<Symbolizer>(); symbolizers.addAll(rule.symbolizers()); if (symbolizers.size() > 0) { return symbolizers.toArray(new Symbolizer[0]); } else { return new Symbolizer[0]; } }
private static Style createStyle() { StyleFactory factory = CommonFactoryFinder.getStyleFactory(null); RasterSymbolizer symbolizer = factory.createRasterSymbolizer(); Rule rule = factory.createRule(); rule.symbolizers().add(symbolizer); final FeatureTypeStyle type = factory.createFeatureTypeStyle(); type.rules().add(rule); Style style = factory.createStyle(); style.featureTypeStyles().add(type); return style; }
private Style applyCompositeOnFirstSymbolizer(String styleName) throws IOException { Style style = RendererBaseTest.loadStyle(StreamingRendererCompositeTest.class, styleName); Symbolizer symbolizer = style.featureTypeStyles().get(0).rules().get(0).symbolizers().get(0); symbolizer.getOptions().put(FeatureTypeStyle.COMPOSITE, composite); return style; } }
private FeatureTypeStyle fts(Symbolizer sym) { StyleFactory styleFactory = CommonFactoryFinder.getStyleFactory(); Rule rule = styleFactory.createRule(); FeatureTypeStyle fts = styleFactory.createFeatureTypeStyle(); fts.rules().add(rule); rule.symbolizers().add((Symbolizer) sym); return fts; }
@SuppressWarnings("unchecked") @Test public void testLabelLiteral() throws Exception { String yaml = "text: \n" + " label: test literal\n" + ""; StyledLayerDescriptor sld = Ysld.parse(yaml); FeatureTypeStyle fs = SLD.defaultStyle(sld).featureTypeStyles().get(0); TextSymbolizer symb = (TextSymbolizer) fs.rules().get(0).symbolizers().get(0); Expression label = symb.getLabel(); assertThat( label, allOf(instanceOf(Literal.class), hasProperty("value", equalTo("test literal")))); }
@SuppressWarnings("unchecked") @Test public void testExpressionLiteral() throws Exception { String yaml = "text: \n" + " geometry: test literal\n" + ""; StyledLayerDescriptor sld = Ysld.parse(yaml); FeatureTypeStyle fs = SLD.defaultStyle(sld).featureTypeStyles().get(0); TextSymbolizer symb = (TextSymbolizer) fs.rules().get(0).symbolizers().get(0); Expression expr = symb.getGeometry(); assertThat( expr, allOf(instanceOf(Literal.class), hasProperty("value", equalTo("test literal")))); }
@Test public void testLabelEmbeded() throws Exception { String yaml = "text: \n" + " label: literal0${attribute1}literal2\n" + ""; StyledLayerDescriptor sld = Ysld.parse(yaml); FeatureTypeStyle fs = SLD.defaultStyle(sld).featureTypeStyles().get(0); TextSymbolizer symb = (TextSymbolizer) fs.rules().get(0).symbolizers().get(0); Expression label = symb.getLabel(); assertThat(label, instanceOf(ConcatenateFunction.class)); List<Expression> params = ((ConcatenateFunction) label).getParameters(); assertThat(params.size(), is(3)); assertThat(params.get(0), literal(equalTo("literal0"))); assertThat(params.get(1), attribute("attribute1")); assertThat(params.get(2), literal(equalTo("literal2"))); }
@Test public void testExpressionEmbeded() throws Exception { String yaml = "text: \n" + " geometry: literal0${attribute1}literal2\n" + ""; StyledLayerDescriptor sld = Ysld.parse(yaml); FeatureTypeStyle fs = SLD.defaultStyle(sld).featureTypeStyles().get(0); TextSymbolizer symb = (TextSymbolizer) fs.rules().get(0).symbolizers().get(0); Expression expr = symb.getGeometry(); assertThat(expr, instanceOf(ConcatenateFunction.class)); List<Expression> params = ((ConcatenateFunction) expr).getParameters(); assertThat(params.size(), is(3)); assertThat(params.get(0), literal(equalTo("literal0"))); assertThat(params.get(1), attribute("attribute1")); assertThat(params.get(2), literal(equalTo("literal2"))); }
@Test public void testLabelAttribute() throws Exception { String yaml = "text: \n" + " label: ${testAttribute}\n" + ""; StyledLayerDescriptor sld = Ysld.parse(yaml); FeatureTypeStyle fs = SLD.defaultStyle(sld).featureTypeStyles().get(0); TextSymbolizer symb = (TextSymbolizer) fs.rules().get(0).symbolizers().get(0); Expression label = symb.getLabel(); assertThat(label, attribute("testAttribute")); }
@Test public void testExpressionAttribute() throws Exception { String yaml = "text: \n" + " geometry: ${testAttribute}\n" + ""; StyledLayerDescriptor sld = Ysld.parse(yaml); FeatureTypeStyle fs = SLD.defaultStyle(sld).featureTypeStyles().get(0); TextSymbolizer symb = (TextSymbolizer) fs.rules().get(0).symbolizers().get(0); Expression expr = symb.getGeometry(); assertThat(expr, attribute("testAttribute")); }
private static Style createPointStyle() { StyleFactory sf = CommonFactoryFinder.getStyleFactory(); URL iconUrl = ScreenMapShapefileTest.class.getResource("icon.png"); ExternalGraphic icon = sf.createExternalGraphic(iconUrl, "image/png"); Graphic graphic = sf.createGraphic(new ExternalGraphic[] {icon}, null, null, null, null, null); PointSymbolizer symbolizer = sf.createPointSymbolizer(graphic, "the_geom"); Rule rule = sf.createRule(); rule.symbolizers().add(symbolizer); FeatureTypeStyle fts = sf.createFeatureTypeStyle(); fts.rules().add(rule); Style style = sf.createStyle(); style.featureTypeStyles().add(fts); return style; }