}
assertNotNull(key);
Object keyValue = null;
FeatureReader r = fs.getReader();
try {
assertTrue(r.hasNext());
SimpleFeature f = (SimpleFeature) r.next();
keyValue = f.getAttribute(key);
}
finally {
r.close();
}
assertNotNull(keyValue);
FilterFactory ff = CommonFactoryFinder.getFilterFactory();
Filter filter = ff.equal(ff.property(key), ff.literal(keyValue), false);
assertEquals(1, fs.getCount(new Query(tname("nonfirst"), filter)));
try {
fs.modifyFeatures(key, 10, filter);
fail("expected exception");
}
catch(IllegalArgumentException e) {
}
fs.modifyFeatures(new String[]{aname("name"), key, aname("geom")}, new Object[]{"foo", 10, null}, filter);
try {
r = fs.getReader(ff.equal(ff.property(key), ff.literal(keyValue), true));
assertTrue(r.hasNext());
SimpleFeature f = (SimpleFeature) r.next();
assertEquals("foo", f.getAttribute(aname("name")));
}
finally {
r.close();
}
}