/** Checks if creating a Graphic with an ExternalGraphics works. */ public void testWithExternalGraphics() throws Exception { StyleBuilder sb = new StyleBuilder(); URL urlExternal = getClass().getResource("/data/sld/blob.gif"); ExternalGraphic extg = sb.createExternalGraphic(urlExternal, "image/svg+xml"); Graphic graphic = sb.createGraphic(extg, null, null); assertEquals(1, graphic.graphicalSymbols().size()); }
@Test public void testUnreachableExternalGraphic() throws Exception { File file = new File(TestData.getResource(this, "draw.png").toURI()); URL resource = new File(file.getParent(), "draw-not-there.png").toURI().toURL(); PointSymbolizer ps = sb.createPointSymbolizer( sb.createGraphic( null, null, sb.createExternalGraphic(resource, "image/png"))); ps.getGraphic().setSize(sb.literalExpression(null)); Style style = sb.createStyle(ps); MetaBufferEstimator rbe = new MetaBufferEstimator(); rbe.visit(style); assertEquals(0, rbe.getBuffer()); assertFalse(rbe.isEstimateAccurate()); }
@Test public void testResizeExternalGraphic() throws IOException { File imageFile = new File("./src/test/resources/org/geotools/renderer/lite/test-data/draw.png") .getCanonicalFile(); assertTrue(imageFile.exists()); String fileUrl = URLs.fileToUrl(imageFile).toExternalForm(); PointSymbolizer ps = sb.createPointSymbolizer( sb.createGraphic( null, null, sb.createExternalGraphic(fileUrl, "image/png"))); GraphicsAwareDpiRescaleStyleVisitor visitor = new GraphicsAwareDpiRescaleStyleVisitor(2); ps.accept(visitor); PointSymbolizer resized = (PointSymbolizer) visitor.getCopy(); Expression size = resized.getGraphic().getSize(); assertTrue(size instanceof Literal); // original image height was 22 assertEquals(44, size.evaluate(null, Integer.class).intValue()); }
public void testPointSymbolizer() throws Exception { URL urlExternal = getClass().getResource("/data/sld/blob.gif"); ExternalGraphic extg = sb.createExternalGraphic(urlExternal, "image/svg+xml"); Graphic graphic = sb.createGraphic(extg, null, null); PointSymbolizer pointSymb = sb.createPointSymbolizer(graphic); pointSymb.accept(visitor); PointSymbolizer clone = (PointSymbolizer) visitor.getCopy(); assertCopy(pointSymb, clone); assertEqualsContract(pointSymb, clone); PointSymbolizer notEq = sf.getDefaultPointSymbolizer(); notEq.setGeometryPropertyName("something_else"); assertEqualsContract(clone, notEq, pointSymb); }
public void testPointSymbolizerWithGeomFunction() throws Exception { URL urlExternal = getClass().getResource("/data/sld/blob.gif"); ExternalGraphic extg = sb.createExternalGraphic(urlExternal, "image/svg+xml"); Graphic graphic = sb.createGraphic(extg, null, null); PointSymbolizer pointSymb = sb.createPointSymbolizer(graphic); // Set a function as geometry Function geomFunc = ff.function("centroid", ff.property("thr_geom")); pointSymb.setGeometry(geomFunc); pointSymb.accept(visitor); PointSymbolizer copy = (PointSymbolizer) visitor.getCopy(); assertEquals( "Any Expression set as Geometry must be correctly replicated", geomFunc, copy.getGeometry()); }
public ExternalGraphic getEdited() { if (external == null) { try { StyleBuilder sb = new StyleBuilder(); external = sb.createExternalGraphic(new URL(""), "png"); } catch (MalformedURLException ex) { ex.printStackTrace(); } } apply(); return external; }
public void newExternalGraphic() { StyleBuilder sb = new StyleBuilder(); ExternalGraphic m = sb.createExternalGraphic("", ""); externals.add(m); int last = externals.size() - 1; fireTableRowsInserted(last, last); }
@Test public void testReachableExternalGraphic() { URL resource = TestData.getResource(this, "draw.png"); PointSymbolizer ps = sb.createPointSymbolizer( sb.createGraphic( null, null, sb.createExternalGraphic(resource, "image/png"))); ps.getGraphic().setSize(sb.literalExpression(null)); Style style = sb.createStyle(ps); MetaBufferEstimator rbe = new MetaBufferEstimator(); rbe.visit(style); assertEquals(24, rbe.getBuffer()); assertTrue(rbe.isEstimateAccurate()); }
@Test public void testDynamicSymbolizerStrokeLineSymbolizer() { ExternalGraphic dynamicSymbolizer = sb.createExternalGraphic("file://./${myAttribute}.jpeg", "image/jpeg"); Graphic graphic = sb.createGraphic(dynamicSymbolizer, null, null); LineSymbolizer ls = sb.createLineSymbolizer(); ls.getStroke().setGraphicStroke(graphic); Style style = sb.createStyle(ls); checkSingleSymbolizer(style, ls); }
@Test public void testStaticGraphicLineSymbolizer() { ExternalGraphic dynamicSymbolizer = sb.createExternalGraphic("file://./hello.jpeg", "image/jpeg"); Graphic graphic = sb.createGraphic(dynamicSymbolizer, null, null); LineSymbolizer ls = sb.createLineSymbolizer(); ls.getStroke().setGraphicStroke(graphic); Style style = sb.createStyle(ls); style.accept(visitor); Style copy = (Style) visitor.getCopy(); assertNull(copy); }