public FeatureReader<SimpleFeatureType, SimpleFeature> getFeatureReader( Query query, Transaction transaction) throws IOException { FeatureTypeMap map = getTypeMapBackwards(query.getTypeName(), true); updateMap(map, false); FeatureReader<SimpleFeatureType, SimpleFeature> reader; reader = wrapped.getFeatureReader(retypeQuery(query, map), transaction); if (map.isUnchanged()) return reader; return new RetypingFeatureCollection.RetypingFeatureReader( reader, map.getFeatureType(query)); }
public FeatureReader<SimpleFeatureType, SimpleFeature> getFeatureReader( Query query, Transaction transaction) throws IOException { return delegate.getFeatureReader(query, transaction); }
@Override public FeatureReader<SimpleFeatureType, SimpleFeature> getFeatureReader( Query query, Transaction transaction) throws IOException { return delegate.getFeatureReader(query, transaction); }
FeatureReader<SimpleFeatureType, SimpleFeature> ilReader; DataStore inlineFeatureDatastore = ul.getInlineFeatureDatastore(); ilReader = inlineFeatureDatastore.getFeatureReader(q, Transaction.AUTO_COMMIT); CoordinateReferenceSystem crs = (fallbackCrs == null) ? DefaultGeographicCRS.WGS84 : fallbackCrs;
public FeatureReader<SimpleFeatureType, SimpleFeature> getFeatureReader( Query query, Transaction transaction) throws IOException { String typeName = query.getTypeName(); return getDataStore(typeName).getFeatureReader(query, transaction); }
/** * Retrieve a FeatureReader<SimpleFeatureType, SimpleFeature> for the geometry attributes only, * designed for bounds computation */ protected FeatureReader<SimpleFeatureType, SimpleFeature> boundsReader() throws IOException { List attributes = new ArrayList(); SimpleFeatureType schema = featureSource.getSchema(); for (int i = 0; i < schema.getAttributeCount(); i++) { AttributeDescriptor at = schema.getDescriptor(i); if (at instanceof GeometryDescriptorImpl) attributes.add(at.getLocalName()); } DefaultQuery q = new DefaultQuery(query); q.setPropertyNames(attributes); FeatureReader<SimpleFeatureType, SimpleFeature> reader = ((DataStore) featureSource.getDataStore()).getFeatureReader(q, getTransaction()); int maxFeatures = query.getMaxFeatures(); if (maxFeatures == Integer.MAX_VALUE) { return reader; } else { return new MaxFeatureReader<SimpleFeatureType, SimpleFeature>(reader, maxFeatures); } }
/** * Retrieve a FeatureReader<SimpleFeatureType, SimpleFeature> for this Query * * @return FeatureReader<SimpleFeatureType, SimpleFeature> for this Query * @throws IOException If results could not be obtained */ public FeatureReader<SimpleFeatureType, SimpleFeature> reader() throws IOException { FeatureReader<SimpleFeatureType, SimpleFeature> reader; reader = ((DataStore) featureSource.getDataStore()) .getFeatureReader(query, getTransaction()); int maxFeatures = query.getMaxFeatures(); if (maxFeatures != Integer.MAX_VALUE) { reader = new MaxFeatureReader<SimpleFeatureType, SimpleFeature>(reader, maxFeatures); } if (transform != null) { reader = new ReprojectFeatureReader(reader, getSchema(), transform); } return reader; }
public void testMaxfeaturesHandCount() throws Exception { DefaultQuery q = new DefaultQuery("roads"); q.setMaxFeatures(1); // mock up the feature source so that it'll return a count of -1 (too // expensive) // and then will return a reader FeatureReader<SimpleFeatureType, SimpleFeature> fr = createNiceMock(FeatureReader.class); expect(fr.hasNext()).andReturn(true).times(2).andReturn(false); replay(fr); DataStore ds = createMock(DataStore.class); expect(ds.getFeatureReader(q, Transaction.AUTO_COMMIT)).andReturn(fr); replay(ds); SimpleFeatureType type = DataUtilities.createType("roads", "_=the_geom:Point,FID:String,NAME:String"); SimpleFeatureSource fs = createMock(SimpleFeatureSource.class); expect(fs.getSchema()).andReturn(type).anyTimes(); expect(fs.getCount(q)).andReturn(-1); expect(fs.getDataStore()).andReturn(ds); replay(fs); DefaultFeatureResults results = new DefaultFeatureResults(fs, q); assertEquals(1, results.size()); } }
@Override public FeatureReader<SimpleFeatureType, SimpleFeature> getFeatureReader( Query query, Transaction transaction) throws IOException { return delegate.getFeatureReader(query, transaction); }
public FeatureReader<SimpleFeatureType, SimpleFeature> getFeatureReader( Query query, Transaction transaction) throws IOException { SimpleFeatureSource fs = getFeatureSourceFor(query); Query newQuery = getProxyObject(query, fs); DataAccess<SimpleFeatureType, SimpleFeature> access = fs.getDataStore(); if (access instanceof DataStore) { FeatureReader<SimpleFeatureType, SimpleFeature> backendReader = ((DataStore) access).getFeatureReader(newQuery, transaction); String backendGeometryPropertyName = getBackendGeometryName(fs); Generalization di = info.getGeneralizationForDistance(getRequestedDistance(query)); if (di != null) logDistanceInfo(di); return new PreGeneralizedFeatureReader( getSchema(), indexMapping.get(di == null ? 0.0 : di.getDistance()), backendReader, info.getGeomPropertyName(), backendGeometryPropertyName); } return null; }
public static FeatureReader<SimpleFeatureType, SimpleFeature> getFeatureReader(DataStore store, String typeName) throws IOException { DefaultQuery query = new DefaultQuery(typeName); return store.getFeatureReader(query, Transaction.AUTO_COMMIT); }
public FeatureReader<SimpleFeatureType, SimpleFeature> getFeatureReader( Query query, Transaction transaction) throws IOException { String typeName = query.getTypeName(); return getDataStore(typeName).getFeatureReader(query, transaction); }
public FeatureReader<SimpleFeatureType, SimpleFeature> getFeatureReader( Query query, Transaction transaction) throws IOException { String typeName = query.getTypeName(); return getDataStore(typeName).getFeatureReader(query, transaction); }
private void assertReaderOrderSame(SimpleFeature[] features, DataStore store) throws IOException { FeatureReader<SimpleFeatureType, SimpleFeature> r1 = store.getFeatureReader( new Query(features[0].getFeatureType().getTypeName()), Transaction.AUTO_COMMIT); FeatureReader<SimpleFeatureType, SimpleFeature> r2 = DataUtilities.reader(features); while (r1.hasNext() && r2.hasNext()) { SimpleFeature f1 = r1.next(); SimpleFeature f2 = r2.next(); assertEquals(f1, f2); } assertEquals(r1.hasNext(), r2.hasNext()); r1.close(); r2.close(); }
@Override public FeatureReader read(ImportData data, ImportTask task) throws IOException { FeatureReader reader = getDataStore(data, task) .getFeatureReader( new Query(task.getOriginalLayerName()), Transaction.AUTO_COMMIT); return reader; }
@Override public FeatureReader read(ImportData data, ImportTask task) throws IOException { FeatureReader reader = getDataStore(data, task).getFeatureReader( new Query(task.getOriginalLayerName()), Transaction.AUTO_COMMIT); return reader; }
public void testGetFeatureReader() throws IOException, IllegalAttributeException { Query query = new DefaultQuery(roadType.getTypeName()); FeatureReader<SimpleFeatureType, SimpleFeature> reader = data.getFeatureReader(query, Transaction.AUTO_COMMIT); assertCovered(roadFeatures, reader); assertEquals(false, reader.hasNext()); }
public void testGetFeatureReader() throws IOException, IllegalAttributeException { Query query = new DefaultQuery(roadType.getTypeName()); FeatureReader reader = data.getFeatureReader(query, Transaction.AUTO_COMMIT); assertCovered(roadFeatures, reader); assertEquals(false, reader.hasNext()); }
/** * Retrieve a FeatureReader for this Query * * @return FeatureReader for this Query * * @throws IOException If results could not be obtained */ public FeatureReader reader() throws IOException { FeatureReader reader = featureSource.getDataStore().getFeatureReader(query, getTransaction()); int maxFeatures = query.getMaxFeatures(); if (maxFeatures != Integer.MAX_VALUE) { reader = new MaxFeatureReader(reader, maxFeatures); } if( transform != null ){ reader = new ReprojectFeatureReader( reader, schema, transform ); } return reader; }
/** * Retrieve a FeatureReader<SimpleFeatureType, SimpleFeature> for this Query * * @return FeatureReader<SimpleFeatureType, SimpleFeature> for this Query * * @throws IOException If results could not be obtained */ public FeatureReader<SimpleFeatureType, SimpleFeature> reader() throws IOException { FeatureReader<SimpleFeatureType, SimpleFeature> reader; reader = ((DataStore) featureSource.getDataStore()).getFeatureReader(query, getTransaction()); int maxFeatures = query.getMaxFeatures(); if (maxFeatures != Integer.MAX_VALUE) { reader = new MaxFeatureReader<SimpleFeatureType, SimpleFeature>(reader, maxFeatures); } if( transform != null ){ reader = new ReprojectFeatureReader( reader, getSchema(), transform ); } return reader; }