public void testGetFeatureWriterFilter() throws NoSuchElementException, IOException { FeatureWriter<SimpleFeatureType, SimpleFeature> writer; writer = data.getFeatureWriter("road", Filter.EXCLUDE, Transaction.AUTO_COMMIT); assertEquals(0, count(writer)); writer = data.getFeatureWriter("road", Filter.INCLUDE, Transaction.AUTO_COMMIT); assertEquals(roadFeatures.length, count(writer)); writer = data.getFeatureWriter("road", rd1Filter, Transaction.AUTO_COMMIT); assertEquals(1, count(writer)); }
data.getFeatureWriter("road", rd1Filter, defaultTransaction); writer1.next() .setDefaultGeometry( assertEquals(new Coordinate(0, 1), geom1.getCoordinates()[1]); writer1 = data.getFeatureWriter("road", rd1Filter, defaultTransaction); writer1.next() .setDefaultGeometry( assertEquals(new Coordinate(20, 1), geom1.getCoordinates()[1]); writer1 = data.getFeatureWriter("road", filter, defaultTransaction); writer1.next() .setDefaultGeometry(
public void testGetFeatureWriterTypeNameTransaction() throws NoSuchElementException, IOException { FeatureWriter<SimpleFeatureType, SimpleFeature> writer; writer = data.getFeatureWriter("road", Transaction.AUTO_COMMIT); assertEquals(roadFeatures.length, count(writer)); writer.close(); }
data.getFeatureWriter("road", rd1Filter, t1); FeatureWriter<SimpleFeatureType, SimpleFeature> writer2 = data.getFeatureWriterAppend("road", t2);
static void loadData(MemoryDataStore mem, String name) throws Exception { WKTReader wkt = new WKTReader(); FeatureWriter w = mem.getFeatureWriter(name, Transaction.AUTO_COMMIT); BufferedReader r = new BufferedReader( new InputStreamReader( LabelObstacleTest.class.getResourceAsStream( "test-data/obstacles/" + name + ".txt"))); String line = null; while ((line = r.readLine()) != null) { String[] values = line.split(";"); SimpleFeature f = (SimpleFeature) w.next(); for (int i = 0; i < f.getAttributeCount(); i++) { AttributeDescriptor ad = f.getType().getDescriptor(i); if (ad instanceof GeometryDescriptor) { f.setAttribute(i, wkt.read(values[i])); } else { f.setAttribute(i, values[i]); } } w.write(); } r.close(); }
public void testGetFeatureWriterRemove() throws IOException { FeatureWriter<SimpleFeatureType, SimpleFeature> writer = data.getFeatureWriter("road", Transaction.AUTO_COMMIT); SimpleFeature feature; while (writer.hasNext()) { feature = writer.next(); if (feature.getID().equals("road.rd1")) { writer.remove(); } } assertEquals(roadFeatures.length - 1, data.entry("road").getMemory().size()); }
public void testGetFeaturesWriterModify() throws IOException { FeatureWriter<SimpleFeatureType, SimpleFeature> writer = data.getFeatureWriter("road", Transaction.AUTO_COMMIT); SimpleFeature feature; while (writer.hasNext()) { feature = writer.next(); if (feature.getID().equals("road.rd1")) { feature.setAttribute("name", "changed"); writer.write(); } } feature = data.entry("road").getMemory().get("road.rd1"); assertEquals("changed", feature.getAttribute("name")); }
public void testGetFeatureWriter() throws NoSuchElementException, IOException { FeatureWriter<SimpleFeatureType, SimpleFeature> writer = data.getFeatureWriter("road", Transaction.AUTO_COMMIT); assertEquals(roadFeatures.length, count(writer)); assertFalse(writer.hasNext()); try { writer.next(); fail("Should not be able to use a closed writer"); } catch (IOException expected) { } }
public void testGetFeaturesWriterAdd() throws IOException { FeatureWriter<SimpleFeatureType, SimpleFeature> writer = data.getFeatureWriter("road", Transaction.AUTO_COMMIT); SimpleFeature feature; while (writer.hasNext()) { feature = (SimpleFeature) writer.next(); } assertFalse(writer.hasNext()); feature = (SimpleFeature) writer.next(); feature.setAttributes(newRoad.getAttributes()); writer.write(); assertFalse(writer.hasNext()); assertEquals(roadFeatures.length + 1, data.entry("road").getMemory().size()); }
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); }