@Override protected Iterator openIterator() { List features; synchronized (CachingFeatureSource.this) { try { if (index == null || dirty || !isSubQuery(query)) { fillCache(query); } if (queryBounds != null) { features = index.query(queryBounds); } else { features = index.query((Envelope) index.getRoot().getBounds()); } } catch (Exception e) { throw new RuntimeException("Failed to get data", e); } } Iterator it = features.iterator(); if (query.getFilter() != null && Filter.INCLUDE.equals(query.getFilter())) { it = new FilteringIterator<Feature>(it, query.getFilter()); } if (targetSchema != sourceSchema) { it = new ReTypingIterator(it, sourceSchema, targetSchema); } return it; }
public void close(Iterator<SimpleFeature> close) { FilteringIterator<SimpleFeature> filtering = (FilteringIterator<SimpleFeature>) close; delegate.close( filtering.getDelegate() ); }
public void close(Iterator close) { FilteringIterator filtering = (FilteringIterator) close; delegate.close( filtering.getDelegate() ); }
public Iterator iterator() { return new FilteringIterator( delegate.iterator(), filter ); }
public void close(Iterator<F> close) { FilteringIterator<F> filtering = (FilteringIterator<F>) close; delegate.close( filtering.getDelegate() ); }
public Iterator<F> iterator() { return new FilteringIterator<F>( delegate.iterator(), filter ); }
public Iterator<SimpleFeature> iterator() { return new FilteringIterator<SimpleFeature>( delegate.iterator(), filter ); }
@Override protected Iterator openIterator() { List features; synchronized (CachingFeatureSource.this) { try { if (index == null || dirty || !isSubQuery(query)) { fillCache(query); } if(queryBounds != null) { features = index.query(queryBounds); } else { features = index.query((Envelope) index.getRoot().getBounds()); } } catch(Exception e) { throw new RuntimeException("Failed to get data", e); } } Iterator it = features.iterator(); if(query.getFilter() != null && Filter.INCLUDE.equals(query.getFilter())) { it = new FilteringIterator<Feature>(it, query.getFilter()); } if(targetSchema != sourceSchema) { it = new ReTypingIterator(it, sourceSchema, targetSchema); } return it; }