public UniqueVisitor(int attributeTypeIndex, SimpleFeatureType type) throws IllegalFilterException { FilterFactory factory = CommonFactoryFinder.getFilterFactory(null); expr = factory.property(type.getDescriptor(attributeTypeIndex).getLocalName()); }
@Test public void testMaxVisitorDelegation() throws SchemaException, IOException { MaxVisitor visitor = new MaxVisitor(CommonFactoryFinder.getFilterFactory2().property("value")); assertOptimalVisit(visitor); }
@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; } });
public PropertyStyleHandler() { super("Property", FORMAT); styleFactory = CommonFactoryFinder.getStyleFactory(); filterFactory = CommonFactoryFinder.getFilterFactory(); }
Hints.putSystemDefault(Hints.FILTER_FACTORY, CommonFactoryFinder.getFilterFactory2(null)); Hints.putSystemDefault(Hints.STYLE_FACTORY, CommonFactoryFinder.getStyleFactory(null)); Hints.putSystemDefault(Hints.FEATURE_FACTORY, CommonFactoryFinder.getFeatureFactory(null));
@Test public void testFTSVendorOption() throws Exception { PointSymbolizer p = CommonFactoryFinder.getStyleFactory().createPointSymbolizer(); FeatureTypeStyle fts = fts(p); fts.getOptions().put("foo", "bar"); StringWriter out = new StringWriter(); Ysld.encode(sld(fts), out); System.out.append(out.toString()); YamlMap obj = new YamlMap(YamlUtil.getSafeYaml().load(out.toString())); YamlMap result = obj.seq("feature-styles").map(0); assertThat(result.str("x-foo"), equalTo("bar")); }
@Test public void testFilter() throws Exception { FilterFactory2 filterFactory = CommonFactoryFinder.getFilterFactory2(); StyleFactory styleFactory = CommonFactoryFinder.getStyleFactory(); StyledLayerDescriptor sld = styleFactory.createStyledLayerDescriptor(); UserLayer layer = styleFactory.createUserLayer(); sld.layers().add(layer); Style style = styleFactory.createStyle(); layer.userStyles().add(style); Rule rule = styleFactory.createRule(); rule.setFilter(filterFactory.less(filterFactory.property("foo"), filterFactory.literal(2))); style.featureTypeStyles().add(styleFactory.createFeatureTypeStyle()); style.featureTypeStyles().get(0).rules().add(rule); PointSymbolizer p = styleFactory.createPointSymbolizer(); rule.symbolizers().add((Symbolizer) p); StringWriter out = new StringWriter(); Ysld.encode(sld, out); YamlMap obj = new YamlMap(YamlUtil.getSafeYaml().load(out.toString())); YamlMap result = obj.seq("feature-styles").map(0).seq("rules").map(0); assertThat(result, yHasEntry("filter", equalTo("${foo < 2}"))); }
@Test public void testNonNameExpressionLiteral() throws Exception { PointSymbolizer p = CommonFactoryFinder.getStyleFactory().createPointSymbolizer(); Expression expression = CommonFactoryFinder.getFilterFactory2().literal("test"); p.setGeometry(expression); StringWriter out = new StringWriter(); Ysld.encode(sld(p), out); YamlMap obj = new YamlMap(YamlUtil.getSafeYaml().load(out.toString())); String result = obj.seq("feature-styles") .map(0) .seq("rules") .map(0) .seq("symbolizers") .map(0) .map("point") .str("geometry"); assertThat(result, equalTo("test")); }
@Test public void testEmptyColorMap() throws Exception { StyleFactory styleFactory = CommonFactoryFinder.getStyleFactory(); StyledLayerDescriptor sld = sld(styleFactory.createRasterSymbolizer()); StringWriter out = new StringWriter(); Ysld.encode(sld, out); YamlMap obj = new YamlMap(YamlUtil.getSafeYaml().load(out.toString())); YamlMap symbMap = obj.seq("feature-styles") .map(0) .seq("rules") .map(0) .seq("symbolizers") .map(0) .map("raster"); assertThat(symbMap, not(yHasEntry("color-map"))); }
@Test public void testNonNameExpressionAttribute() throws Exception { PointSymbolizer p = CommonFactoryFinder.getStyleFactory().createPointSymbolizer(); Expression expression = CommonFactoryFinder.getFilterFactory2().property("test"); p.setGeometry(expression); StringWriter out = new StringWriter(); Ysld.encode(sld(p), out); YamlMap obj = new YamlMap(YamlUtil.getSafeYaml().load(out.toString())); String result = obj.seq("feature-styles") .map(0) .seq("rules") .map(0) .seq("symbolizers") .map(0) .map("point") .str("geometry"); assertThat(result, equalTo("${test}")); }
@Test public void testTextSymbolizerPriority() throws Exception { StyleFactory styleFactory = CommonFactoryFinder.getStyleFactory(); FilterFactory filterFactory = CommonFactoryFinder.getFilterFactory(); TextSymbolizer symb = styleFactory.createTextSymbolizer(); symb.setPriority(filterFactory.property("foo")); StringWriter out = new StringWriter(); Ysld.encode(sld(symb), out); YamlMap obj = new YamlMap(YamlUtil.getSafeYaml().load(out.toString())); YamlMap text = obj.seq("feature-styles") .map(0) .seq("rules") .map(0) .seq("symbolizers") .map(0) .map("text"); assertEquals("${foo}", text.str("priority")); }
@Test public void testExpressionNil() throws Exception { PointSymbolizer p = CommonFactoryFinder.getStyleFactory().createPointSymbolizer(); p.getGraphic().setSize(Expression.NIL); StringWriter out = new StringWriter(); Ysld.encode(sld(p), out); // System.out.println(out.toString()); }
@Test public void testFeautureSourceFidFilter() throws Exception { // grab the last feature in the collection (there are more than one) SimpleFeatureSource fs = rts.getFeatureSource(RENAMED); // build a filter that will retrieve that feature only FilterFactory ff = CommonFactoryFinder.getFilterFactory(null); final String fid = RENAMED + ".1107531701011"; Filter fidFilter = ff.id(Collections.singleton(ff.featureId(fid))); SimpleFeatureCollection fc = fs.getFeatures(new Query(RENAMED, fidFilter)); assertEquals(RENAMED, fc.getSchema().getName().getLocalPart()); assertEquals(1, fc.size()); FeatureIterator<SimpleFeature> it = fc.features(); assertTrue(it.hasNext()); SimpleFeature sf = it.next(); assertFalse(it.hasNext()); it.close(); assertEquals(fid, sf.getID()); }
@Override public SimpleFeatureCollection subCollection(Filter filter) { if (filter == Filter.INCLUDE) { return this; } else if (filter == Filter.EXCLUDE || query.getFilter() == Filter.EXCLUDE) { return new EmptyFeatureCollection(getSchema()); } Query q = new Query(query); if (query.getFilter() == Filter.INCLUDE) { q.setFilter(filter); } else { FilterFactory ff = CommonFactoryFinder.getFilterFactory(); Filter combined = ff.and(filter, q.getFilter()); q.setFilter(combined); } return new TransformFeatureCollection(source, transformer, q); }
private Style createCoverageStyle(String bandName) { StyleFactory sf = CommonFactoryFinder.getStyleFactory(null); FilterFactory2 ff = CommonFactoryFinder.getFilterFactory2(null); ContrastEnhancement ce = sf.contrastEnhancement(ff.literal(1.0), ContrastMethod.NORMALIZE); SelectedChannelType sct = sf.createSelectedChannelType(bandName, ce); RasterSymbolizer sym = sf.getDefaultRasterSymbolizer(); ChannelSelection sel = sf.channelSelection(sct); sym.setChannelSelection(sel); return SLD.wrapSymbolizers(sym); }
private void fireAdded(final SimpleFeature addedFeature) { final String typeName = featureType.getTypeName(); final BoundingBox bounds = addedFeature.getBounds(); ReferencedEnvelope referencedEnvelope = ReferencedEnvelope.reference(bounds); String fid = addedFeature.getID(); FilterFactory2 ff = CommonFactoryFinder.getFilterFactory2(null); Filter filter = ff.id(Collections.singleton(ff.featureId(fid))); doFireFeaturesAdded(typeName, referencedEnvelope, filter); }
public void testGetFeatureInvalidFilter() throws Exception { FilterFactory ff = CommonFactoryFinder.getFilterFactory(null); PropertyIsEqualTo f = ff.equals(ff.property("invalidAttribute"), ff.literal(5)); Query q = new Query(tname("river")); q.setPropertyNames(new String[] {aname("geom")}); q.setFilter(f); // make sure a complaint related to the invalid filter is thrown here try (FeatureReader<SimpleFeatureType, SimpleFeature> reader = dataStore.getFeatureReader(q, Transaction.AUTO_COMMIT)) { fail("This query should have failed, it contains an invalid filter"); } catch (Exception e) { // good, it's supposed to fail } }
/** * Use the supplied StyleFactory when building styles * * @param styleFactory the StyleFactory to use in building Styles */ public StyleBuilder(StyleFactory styleFactory ) { this( styleFactory, CommonFactoryFinder.getFilterFactory( GeoTools.getDefaultHints() ) ); }