public void testAddInTransaction() throws IOException {
SimpleFeatureBuilder b = new SimpleFeatureBuilder(featureStore.getSchema());
DefaultFeatureCollection collection =
new DefaultFeatureCollection(null, featureStore.getSchema());
b.set(aname("intProperty"), Integer.valueOf(3));
b.set(aname("geometry"), new GeometryFactory().createPoint(new Coordinate(3, 3)));
collection.add(b.buildFeature(null));
FeatureEventWatcher watcher = new FeatureEventWatcher();
try (Transaction t = new DefaultTransaction()) {
featureStore.setTransaction(t);
featureStore.addFeatureListener(watcher);
JDBCFeatureStore featureStore2 =
(JDBCFeatureStore)
dataStore.getFeatureSource(featureStore.getName().getLocalPart());
List<FeatureId> fids = featureStore.addFeatures((SimpleFeatureCollection) collection);
assertEquals(1, fids.size());
assertEquals(4, featureStore.getFeatures().size());
assertEquals(3, featureStore2.getFeatures().size());
t.commit();
assertEquals(4, featureStore.getFeatures().size());
assertEquals(4, featureStore2.getFeatures().size());
}
}