/** * Parses fid filters * * @param fid */ protected List readFidFilter(String fid) { List filters = new ArrayList(); List unparsed; ListIterator i; LOGGER.finest("reading fid filter: " + fid); unparsed = readNested(fid); i = unparsed.listIterator(); HashSet set = new HashSet(); while (i.hasNext()) { List ids = (List) i.next(); ListIterator innerIterator = ids.listIterator(); while (innerIterator.hasNext()) { set.add(factory.featureId((String) innerIterator.next())); } } Id fidFilter = factory.id(set); filters.add(fidFilter); LOGGER.finest("added fid filter: " + fidFilter); return filters; }
@Before public void setUp() throws Exception { data = File.createTempFile("retype", "data", new File("./target")); data.delete(); data.mkdir(); final String fileName = MockData.BUILDINGS.getLocalPart() + ".properties"; URL properties = MockData.class.getResource(fileName); IOUtils.copy(properties.openStream(), new File(data, fileName)); PropertyDataStore pds = new PropertyDataStore(data); rts = new RetypingDataStore(pds) { @Override protected String transformFeatureTypeName(String originalName) { if (originalName.equals(MockData.BUILDINGS.getLocalPart())) return RENAMED; else return super.transformFeatureTypeName(originalName); } }; // build a filter that will retrieve one feature only FilterFactory ff = CommonFactoryFinder.getFilterFactory(null); fid = RENAMED + ".1107531701011"; fidFilter = ff.id(Collections.singleton(ff.featureId(fid))); }
fidFilter = ff.id(Collections.singleton(ff.featureId(fid)));
public AndBuilder<P> fid(List<String> fids) { for (String fid : fids) { ids.add(ff.featureId(fid)); } return this; }
public IdBuilder<P> fid(List<String> fids) { for (String fid : fids) { ids.add(ff.featureId(fid)); } return this; }
public IdBuilder<P> featureId(String fid) { ids.add(ff.featureId(fid)); return this; }
/** * Extracts a set of FeatureId objects from the locks Map. * * @param locks * @return */ private Set<FeatureId> getLockedIds(Map locks) { Set<FeatureId> ids = new HashSet<FeatureId>(); for (Object lock : locks.keySet()) { ids.add(getFilterFactory().featureId(lock.toString())); } return ids; }
private Identifier featureId(final String rid) { final FilterFactory ff = dataStore.getFilterFactory(); String fid = rid; String featureVersion = null; int versionSeparatorIdx = rid.indexOf(FeatureId.VERSION_SEPARATOR); if (-1 != versionSeparatorIdx) { fid = rid.substring(0, versionSeparatorIdx); featureVersion = rid.substring(versionSeparatorIdx + 1); } FeatureId featureId = ff.featureId(fid, featureVersion); return featureId; }
public SimpleFeature getFeatureMember(String id) throws NoSuchElementException { int position = index.indexOf(ff.featureId(id)); if (position == -1) { throw new NoSuchElementException(id); } return new FeatureIdAccessor(false).getFeature(id); }
/** Lazy create a filter based on index */ protected Filter createFilter() { FilterFactory ff = CommonFactoryFinder.getFilterFactory(null); Set<FeatureId> featureIds = new HashSet<FeatureId>(); for (Iterator<FeatureId> it = index.iterator(); it.hasNext(); ) { FeatureId fid = it.next(); featureIds.add(ff.featureId(fid.getID())); } Id fids = ff.id(featureIds); return fids; }
/** Deletes an existing feature in the database for a particular feature type / fid. */ protected void delete(SimpleFeatureType featureType, String fid, Connection cx) throws IOException { Filter filter = filterFactory.id(Collections.singleton(filterFactory.featureId(fid))); delete(featureType, filter, cx); }
Filter fidFilter = ff.id(Collections.singleton(ff.featureId(fid)));
@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()); }
@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 + ".f001"; 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()); }
/** * builds the filter id * * @param token <character> * @return String without the quotes */ public FeatureId buildFeatureID(IToken token) { String strId = removeQuotes(token.toString()); FeatureId id = getFilterFactory().featureId(strId); return id; }
public Filter getUpdateFilter(String attributePath) { if (attributePath.equals("eventtype")) { HashSet ids = new HashSet(); ids.add(ff.featureId("fid")); return ff.id(ids); } return null; } });
public void testIdFilterMulti() throws Exception { Set<FeatureId> fids = new LinkedHashSet<FeatureId>(); fids.add(filterFac.featureId("fid1")); fids.add(filterFac.featureId("fid2")); Id id = filterFac.id(fids); encoder.encode(id); assertEquals("WHERE ((id = 'fid1') OR (id = 'fid2'))", output.toString()); }
public void testIdFilterSingle() throws Exception { Set<FeatureId> fids = new LinkedHashSet<FeatureId>(); fids.add(filterFac.featureId("fid1")); Id id = filterFac.id(fids); encoder.encode(id); assertEquals("WHERE (id = 'fid1')", output.toString()); }
public void testVisitFidFilter() throws Exception { HashSet ids = new HashSet(); ids.add(ff.featureId("david")); Filter filter = ff.id(ids); visitor = newVisitor(new FilterCapabilities(Id.class)); filter.accept(visitor, null); assertEquals(Filter.INCLUDE, visitor.getFilterPost()); assertEquals(filter, visitor.getFilterPre()); }
@Test public void testVisitFidFilter() throws Exception { HashSet ids = new HashSet(); ids.add(ff.featureId("david")); Filter filter = ff.id(ids); visitor = newVisitor(newCapabilities(Id.class)); filter.accept(visitor, null); assertEquals(Filter.INCLUDE, visitor.getFilterPost()); assertEquals(filter, visitor.getFilterPre()); }