Query query = new Query(roadType.getTypeName()); FeatureReader<SimpleFeatureType, SimpleFeature> featureReader = dataStore.getFeatureReader(query, Transaction.AUTO_COMMIT); assertTrue(featureReader != null); while (featureReader.hasNext()) {
public void testGetFeatureReaderFilterAutoCommit() throws NoSuchElementException, IOException { SimpleFeatureType type = data.getSchema("road"); FeatureReader<SimpleFeatureType, SimpleFeature> reader; reader = data.getFeatureReader(new Query("road"), Transaction.AUTO_COMMIT); assertFalse(reader instanceof FilteringFeatureReader); assertEquals(type, reader.getFeatureType()); assertEquals(roadFeatures.length, count(reader)); reader = data.getFeatureReader(new Query("road", Filter.EXCLUDE), Transaction.AUTO_COMMIT); assertEquals(type, reader.getFeatureType()); assertEquals(0, count(reader)); reader = data.getFeatureReader(new Query("road", rd1Filter), Transaction.AUTO_COMMIT); assertTrue(reader instanceof FilteringFeatureReader); assertEquals(type, reader.getFeatureType()); assertEquals(1, count(reader)); }
FeatureReader<SimpleFeatureType, SimpleFeature> reader; reader = data.getFeatureReader(new Query("road", Filter.EXCLUDE), defaultTransaction); assertEquals(type, reader.getFeatureType()); assertEquals(0, count(reader)); reader = data.getFeatureReader(new Query("road"), defaultTransaction); assertEquals(roadFeatures.length, count(reader)); reader = data.getFeatureReader(new Query("road", rd1Filter), defaultTransaction); reader = data.getFeatureReader(new Query("road", Filter.EXCLUDE), defaultTransaction); assertEquals(0, count(reader)); reader = data.getFeatureReader(new Query("road"), defaultTransaction); assertEquals(roadFeatures.length - 1, count(reader)); reader = data.getFeatureReader(new Query("road", rd1Filter), defaultTransaction); assertEquals(0, count(reader)); reader = data.getFeatureReader(new Query("road", Filter.EXCLUDE), defaultTransaction); assertEquals(0, count(reader)); reader = data.getFeatureReader(new Query("road"), defaultTransaction); assertEquals(roadFeatures.length, count(reader)); reader = data.getFeatureReader(new Query("road", rd1Filter), defaultTransaction);
public void testReaderIsNotBrokenWhileWritingFeatureDirectly() throws IOException { // a write should not "destroy" readers int expectedFeatureCount = roadFeatures.length; int currentFeatureCount = 0; FeatureReader<SimpleFeatureType, SimpleFeature> featureReader = memoryDataStore.getFeatureReader( new Query(roadType.getTypeName(), Filter.INCLUDE), transaction); // start iterating through content if (featureReader.hasNext()) { featureReader.next(); currentFeatureCount++; } SimpleFeature newFeature = SimpleFeatureBuilder.template(roadType, null); memoryDataStore.addFeature(newFeature); assertReaderHasFeatureCount(expectedFeatureCount, currentFeatureCount, featureReader); }
reader = data.getFeatureReader(new Query("road"), Transaction.AUTO_COMMIT); assertTrue(covers(reader, ORIGIONAL)); reader = data.getFeatureReader(new Query("road"), Transaction.AUTO_COMMIT); assertTrue(covers(reader, ORIGIONAL)); reader = data.getFeatureReader(new Query("road"), t1); assertTrue(covers(reader, REMOVE)); reader = data.getFeatureReader(new Query("road"), Transaction.AUTO_COMMIT); assertTrue(covers(reader, ORIGIONAL)); reader = data.getFeatureReader(new Query("road"), t1); assertTrue(covers(reader, REMOVE)); reader = data.getFeatureReader(new Query("road"), Transaction.AUTO_COMMIT); assertTrue(covers(reader, ORIGIONAL)); reader = data.getFeatureReader(new Query("road"), t2); assertTrue(coversLax(reader, ADD)); reader = data.getFeatureReader(new Query("road"), Transaction.AUTO_COMMIT); assertTrue(covers(reader, ORIGIONAL)); reader = data.getFeatureReader(new Query("road"), t2); assertTrue(coversLax(reader, ADD)); reader = data.getFeatureReader(new Query("road"), Transaction.AUTO_COMMIT); assertTrue(covers(reader, REMOVE)); reader = data.getFeatureReader(new Query("road"), t1); assertTrue(covers(reader, REMOVE)); reader = data.getFeatureReader(new Query("road"), t2); assertTrue(coversLax(reader, FINAL));
public void testReaderIsNotBrokenWhileWritingWithWriterAndTransaction() throws IOException { // a write should not "destroy" readers int expectedFeatureCount = roadFeatures.length; int currentFeatureCount = 0; FeatureReader<SimpleFeatureType, SimpleFeature> featureReader = memoryDataStore.getFeatureReader( new Query(roadType.getTypeName(), Filter.INCLUDE), transaction); // start iterating through content if (featureReader.hasNext()) { featureReader.next(); currentFeatureCount++; } FeatureWriter<SimpleFeatureType, SimpleFeature> featureWriter = memoryDataStore.getFeatureWriter(roadType.getTypeName(), transaction); while (featureWriter.hasNext()) { featureWriter.next(); } SimpleFeature newFeature = featureWriter.next(); assertNotNull(newFeature); transaction.commit(); assertReaderHasFeatureCount(expectedFeatureCount, currentFeatureCount, featureReader); }
data.getFeatureReader(new Query("road", rd1Filter), defaultTransaction); writer1.close(); reader = data.getFeatureReader(new Query("road", rd1Filter), defaultTransaction); filterFactory.id(Collections.singleton(filterFactory.featureId(feature.getID()))); reader = data.getFeatureReader(new Query("road", filter), defaultTransaction); writer1.close(); reader = data.getFeatureReader(new Query("road", filter), defaultTransaction); geom1 = (Geometry) reader.next().getDefaultGeometry(); reader.close();