FeatureWriter<SimpleFeatureType, SimpleFeature> writer(String typeName) throws IOException { return dataStore.getFeatureWriter(typeName, Transaction.AUTO_COMMIT); }
dataStore.getFeatureWriter(tname("road"), td.rd1Filter, t1); FeatureWriter<SimpleFeatureType, SimpleFeature> writer2 = dataStore.getFeatureWriterAppend(tname("road"), t2)) {
public void testGetFeatureWriterTypeNameTransaction() throws NoSuchElementException, IOException { try (FeatureWriter<SimpleFeatureType, SimpleFeature> writer = dataStore.getFeatureWriter(tname("road"), Transaction.AUTO_COMMIT)) { assertEquals(td.roadFeatures.length, count(writer)); } }
public void testGetFeatureWriterFilter() throws NoSuchElementException, IOException { try (FeatureWriter<SimpleFeatureType, SimpleFeature> writer = dataStore.getFeatureWriter( tname("road"), Filter.EXCLUDE, Transaction.AUTO_COMMIT)) { // see task above // assertTrue(writer instanceof EmptyFeatureWriter); assertEquals(0, count(writer)); } try (FeatureWriter<SimpleFeatureType, SimpleFeature> writer = dataStore.getFeatureWriter( tname("road"), Filter.INCLUDE, Transaction.AUTO_COMMIT)) { // assertFalse(writer instanceof FilteringFeatureWriter); assertEquals(td.roadFeatures.length, count(writer)); } try (FeatureWriter<SimpleFeatureType, SimpleFeature> writer = dataStore.getFeatureWriter(tname("road"), td.rd1Filter, Transaction.AUTO_COMMIT)) { // assertTrue(writer instanceof FilteringFeatureWriter); assertEquals(1, count(writer)); } }
public void testGetFeatureWriterInvalidFilter() { FilterFactory ff = CommonFactoryFinder.getFilterFactory(null); PropertyIsEqualTo f = ff.equals(ff.property("invalidAttribute"), ff.literal(5)); // make sure a complaint related to the invalid filter is thrown here try (FeatureWriter<SimpleFeatureType, SimpleFeature> writer = dataStore.getFeatureWriter("river", f, Transaction.AUTO_COMMIT)) { fail("This query should have failed, it contains an invalid filter"); } catch (Exception e) { // fine } }
/** * Subclasses may want to override this in case the database has a native way, other than the * pk, to identify a row * * @throws Exception */ public void testReadOnly() throws Exception { try { dataStore.getFeatureWriter(tname(LAKE), Transaction.AUTO_COMMIT); fail("Should not be able to pick a writer without a pk"); } catch (Exception e) { // ok, fine } assertFalse(dataStore.getFeatureSource(tname(LAKE)) instanceof FeatureStore); } }
/** * Subclasses may want to override this in case the database has a native way, other than the * pk, to identify a row * * @throws Exception */ public void testReadOnly() throws Exception { try { dataStore.getFeatureWriter(tname(LAKESVIEW), Transaction.AUTO_COMMIT); fail("Should not be able to pick a writer without a pk"); } catch (Exception e) { // ok, fine } assertFalse(dataStore.getFeatureSource(tname(LAKESVIEW)) instanceof FeatureStore); } }
dataStore.getFeatureWriter(tname("road"), td.rd1Filter, t1)) { assertTrue(writer1.hasNext()); SimpleFeature f1 = (SimpleFeature) writer1.next(); dataStore.getFeatureWriter(tname("road"), td.rd1Filter, t2)) { assertTrue(writer2.hasNext()); SimpleFeature f2 = (SimpleFeature) writer2.next();
public void testModifyFeatures() throws Exception { try (FeatureWriter<SimpleFeatureType, SimpleFeature> w = dataStore.getFeatureWriter(tname("guid"), Transaction.AUTO_COMMIT)) { w.hasNext(); SimpleFeature f = w.next(); f.setAttribute(aname("uuidProperty"), uuid2); assertEquals(uuid2, f.getAttribute(aname("uuidProperty"))); w.write(); } }
public void testGetFeatureWriterClose() throws Exception { try (FeatureWriter<SimpleFeatureType, SimpleFeature> writer = dataStore.getFeatureWriter( tname("road"), Filter.INCLUDE, Transaction.AUTO_COMMIT)) { writer.close(); try { assertFalse(writer.hasNext()); fail("Should not be able to use a closed writer"); } catch (Exception expected) { } try { assertNull(writer.next()); fail("Should not be able to use a closed writer"); } catch (Exception expected) { } } }
dataStore.getFeatureWriter(tname("ft1"), tx)) { while (writer.hasNext()) { SimpleFeature feature = (SimpleFeature) writer.next();
dataStore.getFeatureWriter(tname("ft1"), tx)) { assertTrue(writer.hasNext()); SimpleFeature feature = writer.next(); dataStore.getFeatureWriter(tname("ft1"), tx)) { assertTrue(writer.hasNext());
public void testGetFeaturesWriterAdd() throws IOException { try (FeatureWriter<SimpleFeatureType, SimpleFeature> writer = dataStore.getFeatureWriter(tname("road"), Transaction.AUTO_COMMIT)) { SimpleFeature feature; while (writer.hasNext()) { feature = (SimpleFeature) writer.next(); } assertFalse(writer.hasNext()); feature = (SimpleFeature) writer.next(); feature.setAttributes(td.newRoad.getAttributes()); writer.write(); assertFalse(writer.hasNext()); assertEquals(td.roadFeatures.length + 1, count(tname("road"))); } }
dataStore.getFeatureWriter(tname("ft1"), tx)) { assertTrue(writer.hasNext()); SimpleFeature feature = writer.next(); dataStore.getFeatureWriter(tname("ft1"), tx)) { assertTrue(writer.hasNext()); SimpleFeature feature = writer.next();
public void testGetFeatureWriter() throws IOException { try (FeatureWriter<SimpleFeatureType, SimpleFeature> writer = dataStore.getFeatureWriter(tname("ft1"), Transaction.AUTO_COMMIT)) { while (writer.hasNext()) { SimpleFeature feature = writer.next(); feature.setAttribute(aname("stringProperty"), "foo"); writer.write(); } } Query query = new Query(tname("ft1")); try (FeatureReader<SimpleFeatureType, SimpleFeature> reader = dataStore.getFeatureReader(query, Transaction.AUTO_COMMIT)) { assertTrue(reader.hasNext()); while (reader.hasNext()) { SimpleFeature feature = reader.next(); assertEquals("foo", feature.getAttribute(aname("stringProperty"))); } } }
dataStore.getFeatureWriter(tname("ft2"), Transaction.AUTO_COMMIT)) { w.hasNext();
public void testUpdate() throws Exception { if (!isGeographySupportAvailable()) { return; } Point p = gf.createPoint(new Coordinate(1, 1)); try (FeatureWriter fw = dataStore.getFeatureWriter(tname("geopoint"), Transaction.AUTO_COMMIT)) { assertTrue(fw.hasNext()); while (fw.hasNext()) { SimpleFeature f = (SimpleFeature) fw.next(); f.setDefaultGeometry(p); fw.write(); } } try (FeatureReader fr = dataStore.getFeatureReader(new Query(tname("geopoint")), Transaction.AUTO_COMMIT)) { while (fr.hasNext()) { SimpleFeature f = (SimpleFeature) fr.next(); assertEquals(p, f.getDefaultGeometry()); } } }
public void testGetFeatureWriterWithFilter() throws IOException { FilterFactory ff = dataStore.getFilterFactory(); Filter f = ff.equals(ff.property(aname("intProperty")), ff.literal(100)); SimpleFeatureCollection features = dataStore.getFeatureSource(tname("ft1")).getFeatures(f); assertEquals(0, features.size()); f = ff.equals(ff.property(aname("intProperty")), ff.literal(1)); try (FeatureWriter<SimpleFeatureType, SimpleFeature> writer = dataStore.getFeatureWriter(tname("ft1"), f, Transaction.AUTO_COMMIT)) { while (writer.hasNext()) { SimpleFeature feature = writer.next(); feature.setAttribute(aname("intProperty"), Integer.valueOf(100)); writer.write(); } } f = ff.equals(ff.property(aname("intProperty")), ff.literal(100)); features = dataStore.getFeatureSource(tname("ft1")).getFeatures(f); assertEquals(1, features.size()); }
public void testCreateSchemaUTMCRS() throws Exception { SimpleFeatureTypeBuilder builder = new SimpleFeatureTypeBuilder(); builder.setName(tname("ft2")); builder.setNamespaceURI(dataStore.getNamespaceURI()); builder.setCRS(getUTMCRS()); builder.add(aname("geometry"), Point.class); builder.add(aname("intProperty"), Integer.class); builder.add(aname("stringProperty"), String.class); SimpleFeatureType featureType = builder.buildFeatureType(); dataStore.createSchema(featureType); SimpleFeatureType ft2 = dataStore.getSchema(tname("ft2")); assertNotNull(ft2); try (FeatureWriter w = dataStore.getFeatureWriter(tname("ft2"), Transaction.AUTO_COMMIT)) { w.hasNext(); // write out a feature with a geomety in teh srs, basically accomodate databases that // have // to query the first feature in order to get the srs for the feature type SimpleFeature f = (SimpleFeature) w.next(); Geometry g = new WKTReader().read("POINT(593493 4914730)"); g.setSRID(26713); f.setAttribute(0, g); f.setAttribute(1, Integer.valueOf(0)); f.setAttribute(2, "hello"); w.write(); } // clear out the feature type cache dataStore.getEntry(new NameImpl(dataStore.getNamespaceURI(), tname("ft2"))).dispose(); ft2 = dataStore.getSchema(tname("ft2")); assertTrue(CRS.equalsIgnoreMetadata(getUTMCRS(), ft2.getCoordinateReferenceSystem())); }
dataStore.getFeatureWriter(tname("road"), Filter.INCLUDE, t)) { SimpleFeature feature;