Refine search
@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); }
@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; } });
fts.rules().add(r); s.featureTypeStyles().add(fts);
@Test public void testZOrderComposite() throws Exception { Style roadsStyle = RendererBaseTest.loadStyle(this, "zorder/zroads.sld"); forceSortBy(roadsStyle, "z"); forceSortByGroup(roadsStyle, "theGroup"); FeatureTypeStyle fts = roadsStyle.featureTypeStyles().get(0); fts.getOptions().put(FeatureTypeStyle.COMPOSITE_BASE, "true"); fts.getOptions().put(FeatureTypeStyle.COMPOSITE, "destination-in"); Style buildingsStyle = RendererBaseTest.loadStyle(this, "zorder/zbuildings.sld"); MapContent mc = new MapContent(); mc.addLayer(new FeatureLayer(zbuildings, buildingsStyle)); mc.addLayer(new FeatureLayer(zroads, roadsStyle)); runImageComparison("zorder-composite.png", mc); } }
private static Composite getComposite(List<Layer> layers) { Layer layer = layers.get(0); if (layer instanceof ZGroupLayer) { return ((ZGroupLayer) layer).getComposite(); } Style styles = layer.getStyle(); List<FeatureTypeStyle> featureTypeStyles = styles.featureTypeStyles(); if (featureTypeStyles.size() > 0) { FeatureTypeStyle firstFts = featureTypeStyles.get(0); Composite composite = SLDStyleFactory.getComposite(firstFts.getOptions()); return composite; } else { return null; } }
@Test public void testLabelLinePlacement() throws IOException { StyleFactory sf = CommonFactoryFinder.getStyleFactory(); layer.userStyles().add(style); FeatureTypeStyle featureStyle = sf.createFeatureTypeStyle(); style.featureTypeStyles().add(featureStyle); Rule rule = sf.createRule(); featureStyle.rules().add(rule);
@Test public void testRenderingTransformation() throws IOException { style.featureTypeStyles().add(featureStyle);
@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()); }
"A orange generic style", style.getDescription().getTitle().toString()); assertEquals(1, style.featureTypeStyles().size()); FeatureTypeStyle fts = style.featureTypeStyles().get(0); assertEquals("first", fts.getOptions().get("ruleEvaluation")); assertEquals(4, fts.rules().size()); assertEquals( "raster", fts.rules().get(0).getDescription().getTitle().toString()); assertEquals( "orange polygon", fts.rules().get(1).getDescription().getTitle().toString()); assertEquals( "orange line",
@Test public void testRenderingTransformationAlternateInputParam() throws IOException { String yaml = "feature-styles: \n" + "- transform:\n" + " input: foo\n" + " name: ras:Contour\n" + " params:\n" + " levels:\n" + " - 1000\n" + " - 1100\n" + " - 1200\n"; StyledLayerDescriptor sld = Ysld.parse(yaml); FeatureTypeStyle fs = SLD.defaultStyle(sld).featureTypeStyles().get(0); Expression tx = fs.getTransformation(); assertNotNull(tx); ProcessFunction pf = (ProcessFunction) tx; assertThat( pf, hasProperty( "parameters", containsInAnyOrder( rtParam("foo"), rtParam("levels", literal(1000), literal(1100), literal(1200))))); }
private static Style getStyle() { StyleBuilder sb = new StyleBuilder(); Style rasterstyle = sb.createStyle(); RasterSymbolizer raster = sb.createRasterSymbolizer(); rasterstyle.featureTypeStyles().add(sb.createFeatureTypeStyle(raster)); rasterstyle.featureTypeStyles().get(0).setName("GridCoverage"); return rasterstyle; }
@Test public void testLabelShield() throws IOException { StyleFactory sf = CommonFactoryFinder.getStyleFactory(); layer.userStyles().add(style); FeatureTypeStyle featureStyle = sf.createFeatureTypeStyle(); style.featureTypeStyles().add(featureStyle); Rule rule = sf.createRule(); featureStyle.rules().add(rule); Stroke stroke = sf.stroke(ff.literal("#555555"), null, null, null, null, null, null); rule.symbolizers().add(sf.lineSymbolizer("line", null, null, null, stroke, null));
@Test public void testRenderingTransformationInput() throws IOException { style.featureTypeStyles().add(featureStyle);
/** * Retrieves all rules defined in a style * * @param style the style * @return an array of unique rules */ public static Rule[] rules(Style style) { Set<Rule> ruleSet = new HashSet<Rule>(); for (FeatureTypeStyle fts : style.featureTypeStyles()) { ruleSet.addAll(fts.rules()); } if (ruleSet.size() > 0) { return ruleSet.toArray(new Rule[0]); } else { return new Rule[0]; } }
@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); }
return; for (FeatureTypeStyle featureTypeStyle : style.featureTypeStyles()) { for (int i = 0; i < featureTypeStyle.rules().size(); i++) { Rule rule = featureTypeStyle.rules().get(i); DuplicatingStyleVisitor update = new DuplicatingStyleVisitor() { rule.accept(update); Rule updatedRule = (Rule) update.getCopy(); featureTypeStyle.rules().set(i, updatedRule);
@Test public void testRenderingTransformation() throws IOException { String yaml = "feature-styles: \n" + "- transform:\n" + " name: ras:Contour\n" + " params:\n" + " levels:\n" + " - 1000\n" + " - 1100\n" + " - 1200\n"; StyledLayerDescriptor sld = Ysld.parse(yaml); FeatureTypeStyle fs = SLD.defaultStyle(sld).featureTypeStyles().get(0); Expression tx = fs.getTransformation(); assertNotNull(tx); ProcessFunction pf = (ProcessFunction) tx; assertThat( pf, hasProperty( "parameters", containsInAnyOrder( rtParam("data"), rtParam("levels", literal(1000), literal(1100), literal(1200))))); }
private static FeatureLayer buildNewFeatureLayer(Layer layer, Style style) { FeatureLayer singleGroupLayer = new FeatureLayer(layer.getFeatureSource(), style); SortBy[] sortBy = SLDStyleFactory.getSortBy(style.featureTypeStyles().get(0).getOptions()); Query nativeQuery = layer.getQuery(); Query query = ensureSortProperties(nativeQuery, sortBy); singleGroupLayer.setQuery(query); singleGroupLayer.setTitle(layer.getTitle()); return singleGroupLayer; }
@Test public void testLabelDisplacement() throws IOException { StyleFactory sf = CommonFactoryFinder.getStyleFactory(); layer.userStyles().add(style); FeatureTypeStyle featureStyle = sf.createFeatureTypeStyle(); style.featureTypeStyles().add(featureStyle); Rule rule = sf.createRule(); featureStyle.rules().add(rule);
@Test public void testRenderingTransformationNested() throws IOException { style.featureTypeStyles().add(featureStyle);