@Override public void visit(LineSymbolizer sym) { this.defaultUnit = sym.getUnitOfMeasure(); try { super.visit(sym); LineSymbolizer copy = (LineSymbolizer) pages.peek(); copy.setPerpendicularOffset(rescale(copy.getPerpendicularOffset())); } finally { this.defaultUnit = null; } }
/** * * <!-- begin-user-doc --> * <!-- end-user-doc --> * * @generated modifiable */ public Object parse(ElementInstance instance, Node node, Object value) throws Exception { LineSymbolizer sym = (LineSymbolizer) super.parse(instance, node, value); // <xsd:element minOccurs="0" ref="se:PerpendicularOffset"/> if (node.hasChild("PerpendicularOffset")) { sym.setPerpendicularOffset((Expression) node.getChildValue("PerpendicularOffset")); } return sym; } }
} else if (childName.equalsIgnoreCase(PerpendicularOffsetString)) { final Expression offsetValue = parseCssParameter(child); symbol.setPerpendicularOffset(offsetValue);
public void visit(LineSymbolizer line) { LineSymbolizer copy = sf.getDefaultLineSymbolizer(); copy.setGeometry(copy(line.getGeometry())); copy.setUnitOfMeasure(line.getUnitOfMeasure()); copy.setStroke(copy(line.getStroke())); copy.getOptions().putAll(line.getOptions()); copy.setPerpendicularOffset(line.getPerpendicularOffset()); if (STRICT && !copy.equals(line)) { throw new IllegalStateException( "Was unable to duplicate provided LineSymbolizer:" + line); } pages.push(copy); }
@Override public void visit(LineSymbolizer line) { super.visit(line); LineSymbolizer copy = (LineSymbolizer) pages.peek(); Unit<Length> uom = copy.getUnitOfMeasure(); Stroke copyStroke = copy.getStroke(); rescaleStroke(copyStroke, uom); copy.setPerpendicularOffset(rescale(copy.getPerpendicularOffset(), uom)); copy.setUnitOfMeasure(Units.PIXEL); }
public LineSymbolizer build() { if (unset) { return null; // builder was constructed but never used } Stroke stroke = strokeBuilder.build(); if (stroke == null) { stroke = Stroke.DEFAULT; } LineSymbolizer ls = sf.createLineSymbolizer(stroke, null); if (geometry != null) { ls.setGeometry(geometry); } if (uom != null) { ls.setUnitOfMeasure(uom); } if (perpendicularOffset != null) { ls.setPerpendicularOffset(perpendicularOffset); } ls.getOptions().putAll(options); if (parent == null) { reset(); } return ls; }
@Override public void handle(YamlObject<?> obj, YamlParseContext context) { super.handle(obj, context); YamlMap map = obj.map(); context.push( new StrokeParser(factory) { @Override protected void stroke(Stroke stroke) { sym.setStroke(stroke); } }); if (map.has("offset")) { sym.setPerpendicularOffset(Util.expression(map.str("offset"), factory)); } } }
public void testLineSymbolizerWithPerpendicularOffset() { LineSymbolizer ls = sf.createLineSymbolizer(); ls.setPerpendicularOffset(ff.literal(0.88)); // copy LineSymbolizer copy = (LineSymbolizer) visitor.copy(ls); // compare assertEquals( "PerpendicularOffset of LineSymbolizer has not been correctly duplicated", ls.getPerpendicularOffset(), copy.getPerpendicularOffset()); }
@Test public void testLineSymbolizer() { // Try with property Expression expression = ff.property("attribute"); LineSymbolizer lineSymbolizer = sb.createLineSymbolizer(); lineSymbolizer.setPerpendicularOffset(expression); Rule r = sb.createRule(lineSymbolizer); StyleAttributeExtractor extractor = new StyleAttributeExtractor(); r.accept(extractor); Set<String> atts = extractor.getAttributeNameSet(); assertTrue(atts.contains("attribute")); assertEquals(1, atts.size()); // Try without property but with a literal value lineSymbolizer.setPerpendicularOffset(ff.literal(34.12)); extractor = new StyleAttributeExtractor(); r.accept(extractor); atts = extractor.getAttributeNameSet(); assertEquals(0, atts.size()); } }
public void testCreateLineStyle() { LineSymbolizer ls = sf.createLineSymbolizer(); ls.setPerpendicularOffset(ff.literal(5)); NumberRange<Double> scaleRange = NumberRange.create(1.0, 50000.0); LineStyle2D style = (LineStyle2D) sld.createLineStyle(null, ls, scaleRange); assertNotNull(style); assertEquals(5, style.getPerpendicularOffset(), 0d); }
@Test public void testRescalePerpendicularOffset() throws Exception { Stroke stroke = sb.createStroke(Color.RED, 2, new float[] {5, 10}); LineSymbolizer ls = sb.createLineSymbolizer(stroke); ls.setPerpendicularOffset(ff.literal(2)); ls.accept(visitor); LineSymbolizer clone = (LineSymbolizer) visitor.getCopy(); assertEquals("4", clone.getPerpendicularOffset().evaluate(null, String.class)); }
public void testDefaultLineSymbolizerWithColor() throws Exception { LineSymbolizer symb = sf.createLineSymbolizer(); symb.setStroke(sf.createStroke(ff.literal("#0000FF"), ff.literal(1.0))); symb.setPerpendicularOffset(ff.literal(10)); Style2D s = sld.createLineStyle(feature, symb, range); assertNotNull(s); DynamicLineStyle2D s2 = (DynamicLineStyle2D) sld.createDynamicLineStyle(feature, symb, range); assertNotNull(s2); assertEquals(Color.BLUE, s2.getContour()); assertNotNull(s2.getStroke()); assertEquals(10, s2.getPerpendicularOffset(), 0d); }
/** * <!-- begin-user-doc --> <!-- end-user-doc --> * * @generated modifiable */ public Object parse(ElementInstance instance, Node node, Object value) throws Exception { LineSymbolizer sym = (LineSymbolizer) super.parse(instance, node, value); //<xsd:element minOccurs="0" ref="se:PerpendicularOffset"/> if (node.hasChild("PerpendicularOffset")) { sym.setPerpendicularOffset((Expression) node.getChildValue("PerpendicularOffset")); } return sym; }
} else if (childName.equalsIgnoreCase(PerpendicularOffsetString)) { final String offsetValue = getFirstChildValue(child); symbol.setPerpendicularOffset((ff.literal(Double.parseDouble(offsetValue))));
public void visit(LineSymbolizer line) { LineSymbolizer copy = sf.getDefaultLineSymbolizer(); copy.setGeometry(copy(line.getGeometry())); copy.setUnitOfMeasure(line.getUnitOfMeasure()); copy.setStroke( copy( line.getStroke())); copy.getOptions().putAll(line.getOptions()); copy.setPerpendicularOffset(line.getPerpendicularOffset()); if( STRICT && !copy.equals( line )){ throw new IllegalStateException("Was unable to duplicate provided LineSymbolizer:"+line ); } pages.push(copy); }
/** * (non-Javadoc) * * @see * org.geotools.styling.visitor.DuplicatingStyleVisitor#visit(org.geotools.styling.LineSymbolizer) */ public void visit(LineSymbolizer line) { LineSymbolizer copy = sf.getDefaultLineSymbolizer(); copy.setGeometry(copy(line.getGeometry())); copy.setUnitOfMeasure(line.getUnitOfMeasure()); copy.setStroke(copy(line.getStroke())); copy.getOptions().putAll(line.getOptions()); copy.setPerpendicularOffset(line.getPerpendicularOffset()); if (STRICT && !copy.equals(line)) { throw new IllegalStateException( "Was unable to duplicate provided LineSymbolizer:" + line); } pages.push(copy); }
/** * (non-Javadoc) * * @see * org.geotools.styling.visitor.DuplicatingStyleVisitor#visit(org.geotools.styling.LineSymbolizer) */ @Override public void visit(LineSymbolizer line) { LineSymbolizer copy = sf.getDefaultLineSymbolizer(); copy.setGeometry(copy(LineString.class, line.getGeometry())); copy.setUnitOfMeasure(line.getUnitOfMeasure()); copy.setStroke(copy(line.getStroke())); copy.getOptions().putAll(line.getOptions()); copy.setPerpendicularOffset(line.getPerpendicularOffset()); if (STRICT && !copy.equals(line)) { throw new IllegalStateException( "Was unable to duplicate provided LineSymbolizer:" + line); } pages.push(copy); }
@Override public void handle(YamlObject<?> obj, YamlParseContext context) { super.handle(obj, context); YamlMap map = obj.map(); context.push( new StrokeParser(factory) { @Override protected void stroke(Stroke stroke) { sym.setStroke(stroke); } }); if (map.has("offset")) { sym.setPerpendicularOffset(Util.expression(map.str("offset"), factory)); } } }
/** Update symbol. */ private void updateSymbol() { if (!Controller.getInstance().isPopulating()) { Expression perpendicularOffset = fieldConfigVisitor.getExpression(FieldIdEnum.PERPENDICULAR_OFFSET); Expression geometryField = ExtractGeometryField.getGeometryField(fieldConfigVisitor); StandardData standardData = getStandardData(); LineSymbolizer lineSymbolizer = (LineSymbolizer) SelectedSymbol.getInstance().getSymbolizer(); if (lineSymbolizer != null) { lineSymbolizer.setName(standardData.getName()); lineSymbolizer.setDescription(standardData.getDescription()); lineSymbolizer.setUnitOfMeasure( (standardData.getUnit() != null) ? standardData.getUnit().getUnit() : null); lineSymbolizer.setGeometry(geometryField); lineSymbolizer.setPerpendicularOffset(perpendicularOffset); this.fireUpdateSymbol(); } } }