@Override public Object visit(Id filter, Object extraData) { Set<Identifier> identifiers = filter.getIdentifiers(); Set<Identifier> renamedIdentifiers = identifiers .stream() .map( id -> { String name = id.getID().toString(); if (name.startsWith(prefix)) { name = name.substring(prefix.length()); } return getFactory(extraData).featureId(name); }) .collect(Collectors.toSet()); return getFactory(extraData).id(renamedIdentifiers); } }
/** * Construct a feature id, or return null if the string is null. * * @param id * @return null if id is null */ private FeatureId buildSafeFeatureId(String id) { if (id == null) { return null; } else { return ff.featureId(id); } }
@Override @SuppressWarnings({"unchecked", "rawtypes"}) public Feature createFeature(Collection value, FeatureType type, String id) { return new FeatureImpl(value, type, MUTABLE_FIDS_FILTER_FACTORY.featureId(id)); }
@Override @SuppressWarnings({"unchecked", "rawtypes"}) public Feature createFeature(Collection value, AttributeDescriptor descriptor, String id) { return new FeatureImpl(value, descriptor, MUTABLE_FIDS_FILTER_FACTORY.featureId(id)); }
public Feature createFeature(Collection value, FeatureType type, String id) { return new FeatureImpl(value, type, ff.featureId(id)); }
static FeatureId featureId() { return f.featureId("foo"); }
public Feature createFeature(Collection value, AttributeDescriptor descriptor, String id) { return new FeatureImpl(value, descriptor, ff.featureId(id)); }
public SimpleFeature createSimpleFeature(Object[] array, SimpleFeatureType type, String id) { if (type.isAbstract()) { throw new IllegalArgumentException( "Cannot create an feature of an abstract FeatureType " + type.getTypeName()); } return new SimpleFeatureImpl(array, type, ff.featureId(id), validating); }
@Override public SimpleFeature createSimpleFeature(Object[] array, SimpleFeatureType type, String id) { if (type.isAbstract()) { throw new IllegalArgumentException( "Cannot create an feature of an abstract FeatureType " + type.getTypeName()); } return new SimpleFeatureImpl(array, type, MUTABLE_FIDS_FILTER_FACTORY.featureId(id), false); } }
public void testFid() { Id filter = fac.id(Collections.singleton(fac.featureId("fakeId"))); assertAttributeName(filter, new String[0]); }
private void fireRemoved(final SimpleFeature removedFeature) { String typeName = featureType.getTypeName(); BoundingBox bounds = removedFeature.getBounds(); ReferencedEnvelope referencedEnvelope = ReferencedEnvelope.reference(bounds); String fid = removedFeature.getID(); FilterFactory2 ff = CommonFactoryFinder.getFilterFactory2(null); Filter filter = ff.id(Collections.singleton(ff.featureId(fid))); doFireFeaturesRemoved(typeName, referencedEnvelope, filter); }
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); }
private void fireChanged(final SimpleFeature changedFeature) { final String typeName = featureType.getTypeName(); final BoundingBox bounds = changedFeature.getBounds(); ReferencedEnvelope referencedEnvelope = ReferencedEnvelope.reference(bounds); String fid = changedFeature.getID(); FilterFactory2 ff = CommonFactoryFinder.getFilterFactory2(null); Filter filter = ff.id(Collections.singleton(ff.featureId(fid))); doFireFeaturesChanged(typeName, referencedEnvelope, filter); }
/** Example located on the wiki */ public void testDefaultFilterVisitorFeatureIdExample() { Filter myFilter = ff.id(Collections.singleton(ff.featureId("fred"))); FilterVisitor allFids = new DefaultFilterVisitor() { public Object visit(Id filter, Object data) { Set set = (Set) data; set.addAll(filter.getIDs()); return set; } }; Set set = (Set) myFilter.accept(allFids, new HashSet()); assertEquals(1, set.size()); } /** Example located on the wiki */
public void testIdCollector() { Filter filter = ff.isNull(ff.property("name")); Set fids = (Set) filter.accept(IdCollectorFilterVisitor.ID_COLLECTOR, new HashSet()); assertTrue(fids.isEmpty()); assertFalse(fids.contains("eclesia")); filter = ff.id(Collections.singleton(ff.featureId("eclesia"))); fids = (Set) filter.accept(IdCollectorFilterVisitor.ID_COLLECTOR, new HashSet()); assertFalse(fids.isEmpty()); assertTrue(fids.contains("eclesia")); } }
/** Make sure it does not break with non spatial filters */ public void testNoProjection() { Filter idFilter = ff.id(Collections.singleton(ff.featureId("testType:1"))); Filter clone = (Filter) idFilter.accept(reprojector, null); assertNotSame(idFilter, clone); assertEquals(idFilter, clone); }
public static Id resourceId() { ResourceIdImpl resourceId = new ResourceIdImpl("foo.4", "", new Version(Version.Action.NEXT)); resourceId.setPreviousRid("previousRid"); resourceId.setStartTime(new Date(1000)); resourceId.setEndTime(new Date(2000)); Integer testInt = Integer.valueOf(1234567890); return f.id( new LinkedHashSet<Identifier>( Arrays.asList( f.featureId("foo.1", "v1"), f.resourceId("foo.2", "", new Version(new Date(1000))), // f.resourceId("foo.3", "", new Version(testInt)), // resourceId))); }
public void testFid() { Id ff = fac.id(new HashSet<FeatureId>()); assertFalse(ff.evaluate(testFeature)); ff = fac.id(Collections.singleton(fac.featureId(testFeature.getID()))); assertTrue(ff.evaluate(testFeature)); assertFalse(ff.evaluate(null)); assertFalse(ff.evaluate(new Object())); }
public void testIdFinderFilterVisitor() { Filter filter = ff.isNull(ff.property("name")); boolean found = (Boolean) filter.accept(new IdFinderFilterVisitor(), null); assertFalse(found); filter = ff.id(Collections.singleton(ff.featureId("eclesia"))); found = (Boolean) filter.accept(new IdFinderFilterVisitor(), null); assertTrue(found); }