use of org.polymap.core.style.model.FeatureStyle in project polymap4-core by Polymap4.
the class FilterTest method visiblePoint.
@Test
public void visiblePoint() throws Exception {
FeatureStyle fs = repo.newFeatureStyle();
// point
PointStyle point = fs.members().createElement(PointStyle.defaults);
assertTrue(point.visibleIf.get() instanceof ConstantFilter);
point.visibleIf.createValue(initializeFilter(ff.equals(ff.property("prop"), ff.literal("literal"))));
point.diameter.createValue(ConstantNumber.defaults(23.0));
fs.store();
log.info("SLD: " + repo.serializedFeatureStyle(fs.id(), String.class));
org.geotools.styling.Style style = repo.serializedFeatureStyle(fs.id(), org.geotools.styling.Style.class).get();
Rule rule = style.featureTypeStyles().get(0).rules().get(0);
assertTrue(rule.getFilter() instanceof PropertyIsEqualTo);
PropertyIsEqualTo filter = (PropertyIsEqualTo) rule.getFilter();
assertTrue(filter.getExpression1() instanceof PropertyName);
assertEquals("prop", ((PropertyName) filter.getExpression1()).getPropertyName());
assertTrue(filter.getExpression2() instanceof Literal);
assertEquals("literal", ((Literal) filter.getExpression2()).getValue());
PointSymbolizer sym = (PointSymbolizer) rule.getSymbolizers()[0];
assertEquals(SLDSerializer2.ff.literal(23.0), sym.getGraphic().getSize());
}
use of org.polymap.core.style.model.FeatureStyle in project polymap4-core by Polymap4.
the class StyleModelTest method testSimpleText.
@Test
public void testSimpleText() throws Exception {
FeatureStyle fs = repo.newFeatureStyle();
TextStyle style = fs.members().createElement(TextStyle.defaults);
style.color.createValue(ConstantColor.defaults(0, 0, 0));
style.opacity.createValue(ConstantNumber.defaults(0.0));
style.font.createValue(Font.defaults);
fs.store();
log.info("SLD: " + repo.serializedFeatureStyle(fs.id(), String.class));
Style result = repo.serializedFeatureStyle(fs.id(), Style.class).get();
assertEquals(1, result.featureTypeStyles().size());
FeatureTypeStyle fts = result.featureTypeStyles().get(0);
assertEquals(1, fts.rules().size());
Rule rule = fts.rules().get(0);
assertEquals(0, rule.getMinScaleDenominator(), 0);
assertEquals(Double.POSITIVE_INFINITY, rule.getMaxScaleDenominator(), 0);
assertEquals(1, rule.symbolizers().size());
assertNull(rule.getFilter());
TextSymbolizer text = (TextSymbolizer) rule.symbolizers().get(0);
// assertEqualsLiteral( 0.5, text.getStroke().getOpacity() );
// assertEqualsLiteral( 5.0, text.getStroke().getWidth() );
assertEqualsLiteral(0.0, text.getFill().getOpacity());
}
use of org.polymap.core.style.model.FeatureStyle in project polymap4-core by Polymap4.
the class StyleModelTest method testText.
@Ignore
@Test
public void testText() throws Exception {
FeatureStyle fs = repo.newFeatureStyle();
// point
TextStyle text = fs.members().createElement(TextStyle.defaults);
text.property.createValue(ConstantString.defaults("constant"));
// text.halo.createValue( Halo.defaults );
text.halo.get().color.createValue(ConstantColor.defaults(1, 2, 3));
fs.store();
log.info("SLD: " + repo.serializedFeatureStyle(fs.id(), String.class));
text.property.createValue(AttributeValue.defaults("featureproperty", null, null));
fs.store();
log.info("SLD: " + repo.serializedFeatureStyle(fs.id(), String.class));
}
use of org.polymap.core.style.model.FeatureStyle in project polymap4-core by Polymap4.
the class StyleModelTest method propertyMappedColors.
@Ignore
@Test
public void propertyMappedColors() {
FeatureStyle fs = repo.newFeatureStyle();
// point
PointStyle point = fs.members().createElement(PointStyle.defaults);
point.diameter.createValue(ConstantNumber.defaults(5.0));
point.fill.get().color.createValue(new ValueInitializer<FilterMappedColors>() {
@Override
public FilterMappedColors initialize(FilterMappedColors proto) throws Exception {
proto.add(ff.equals(ff.property("foo"), ff.literal("big")), new Color(255, 0, 0));
proto.add(ff.equals(ff.property("foo"), ff.literal("bigger")), new Color(0, 0, 255));
proto.add(ff.and(ff.notEqual(ff.property("foo"), ff.literal("big")), ff.notEqual(ff.property("foo"), ff.literal("bigger"))), new Color(0, 0, 255));
return proto;
}
});
fs.store();
log.info("SLD: " + repo.serializedFeatureStyle(fs.id(), String.class));
Style style = repo.serializedFeatureStyle(fs.id(), Style.class, OutputFormat.GEOSERVER).get();
List<FeatureTypeStyle> featureTypeStyles = style.featureTypeStyles();
assertEquals(1, featureTypeStyles.size());
assertEquals(Filter.INCLUDE, featureTypeStyles.get(0).rules().get(0).getFilter());
log.info("SLD: " + repo.serializedFeatureStyle(fs.id(), String.class, OutputFormat.OGC));
style = repo.serializedFeatureStyle(fs.id(), Style.class, OutputFormat.OGC).get();
featureTypeStyles = style.featureTypeStyles();
assertEquals(1, featureTypeStyles.size());
assertEquals("[ foo = big ]", featureTypeStyles.get(0).rules().get(0).getFilter().toString());
assertEquals("[ foo = bigger ]", featureTypeStyles.get(0).rules().get(1).getFilter().toString());
assertEquals("[[ foo != big ] AND [ foo != bigger ]]", featureTypeStyles.get(0).rules().get(2).getFilter().toString());
}
use of org.polymap.core.style.model.FeatureStyle in project polymap4-core by Polymap4.
the class StyleModelTest method testPolygon.
@Ignore
@Test
public void testPolygon() throws Exception {
FeatureStyle fs = repo.newFeatureStyle();
// point
PolygonStyle polygon = fs.members().createElement(PolygonStyle.defaults);
assertTrue(polygon.visibleIf.get() instanceof ConstantFilter);
polygon.fill.get().color.createValue(ConstantColor.defaults(1, 2, 3));
polygon.stroke.get().color.createValue(ConstantColor.defaults(100, 100, 100));
polygon.stroke.get().width.createValue(ConstantNumber.defaults(5.0));
polygon.stroke.get().opacity.createValue(FilterMappedPrimitives.defaults()).add(ff.equals(ff.literal(1), ff.literal(1)), 0.1).add(ff.equals(ff.literal(2), ff.literal(2)), 0.2);
polygon.stroke.get().strokeStyle.get().capStyle.createValue(ConstantStrokeCapStyle.defaults());
polygon.stroke.get().strokeStyle.get().dashStyle.createValue(ConstantStrokeDashStyle.defaults());
polygon.stroke.get().strokeStyle.get().joinStyle.createValue(ConstantStrokeJoinStyle.defaults());
fs.store();
log.info("SLD: " + repo.serializedFeatureStyle(fs.id(), String.class));
}
Aggregations