public SimpleFeatureFigure createSimpleFeatureFigure(SimpleFeature simpleFeature, String defaultStyleCss) { final String css = getStyleCss(simpleFeature, defaultStyleCss); final FigureStyle normalStyle = DefaultFigureStyle.createFromCss(css); final FigureStyle selectedStyle = deriveSelectedStyle(normalStyle); final Object geometry = simpleFeature.getDefaultGeometry(); if (geometry instanceof Point) { return new SimpleFeaturePointFigure(simpleFeature, sceneTransformProvider, normalStyle, selectedStyle); } else { return new SimpleFeatureShapeFigure(simpleFeature, sceneTransformProvider, normalStyle, selectedStyle); } }
@Test public void testGetStyleCss_EmptyDefault() throws Exception { simpleFeature.setAttribute(PlainFeatureFactory.ATTRIB_NAME_STYLE_CSS, "symbol:cross;fill:100,100,100"); final String styleCss = SimpleFeatureFigureFactory.getStyleCss(simpleFeature, ""); assertEquals("symbol:cross;fill:100,100,100", styleCss); } }
@Test public void testGetStyleCss_WithOverrideAndDefaultValue() throws Exception { simpleFeature.setAttribute(PlainFeatureFactory.ATTRIB_NAME_STYLE_CSS, "fill:120,120,120;stroke:0,10,0"); final String styleCss = SimpleFeatureFigureFactory.getStyleCss(simpleFeature, "symbol:pin;fill:0,0,0"); assertEquals("fill:120,120,120;stroke:0,10,0;symbol:pin", styleCss); }
@Test public void testGetStyleCss_KeepDefault() throws Exception { simpleFeature.setAttribute(PlainFeatureFactory.ATTRIB_NAME_STYLE_CSS, ""); final String styleCss = SimpleFeatureFigureFactory.getStyleCss(simpleFeature, "symbol:pin;fill:0,0,0"); assertEquals("symbol:pin;fill:0,0,0", styleCss); }
@Test public void testGetStyleCss_WithAdditionalStyles() throws Exception { simpleFeature.setAttribute(PlainFeatureFactory.ATTRIB_NAME_STYLE_CSS, "fill:120,120,120;stroke:0,10,0"); final String styleCss = SimpleFeatureFigureFactory.getStyleCss(simpleFeature, "symbol:pin"); assertEquals("fill:120,120,120;stroke:0,10,0;symbol:pin", styleCss); }
@Test public void testGetStyleCss_WithOverride() throws Exception { simpleFeature.setAttribute(PlainFeatureFactory.ATTRIB_NAME_STYLE_CSS, "symbol:cross;fill:100,100,100"); final String styleCss = SimpleFeatureFigureFactory.getStyleCss(simpleFeature, "symbol:pin;fill:0,0,0"); assertEquals("symbol:cross;fill:100,100,100", styleCss); }