public void testGetFeatureTypes() throws IOException { String[] names = data.getTypeNames(); assertEquals(2, names.length); assertTrue(contains(names, "road")); assertTrue(contains(names, "river")); }
public void testGetFeatureLockingExpire() throws Exception { FeatureLock lock = new FeatureLock("Timed", 500); @SuppressWarnings("unchecked") FeatureLocking<SimpleFeatureType, SimpleFeature> road = (FeatureLocking<SimpleFeatureType, SimpleFeature>) data.getFeatureSource("road"); road.setFeatureLock(lock); assertFalse(isLocked("road", "road.rd1")); road.lockFeatures(rd1Filter); assertTrue(isLocked("road", "road.rd1")); long then = System.currentTimeMillis(); do { Thread.sleep(15); } while (then > System.currentTimeMillis() - 515); assertFalse(isLocked("road", "road.rd1")); }
void assertCovered( SimpleFeature[] features, FeatureReader<SimpleFeatureType, SimpleFeature> reader) throws NoSuchElementException, IOException { int count = 0; try { while (reader.hasNext()) { assertTrue(contains(features, reader.next())); count++; } } finally { reader.close(); } assertEquals(features.length, count); }
public void testLockFeatures() throws IOException { FeatureLock lock = new FeatureLock("test", 3600); SimpleFeatureLocking road = (SimpleFeatureLocking) data.getFeatureSource("road"); road.setFeatureLock(lock); assertFalse(isLocked("road", "road.rd1")); road.lockFeatures(); assertTrue(isLocked("road", "road.rd1")); }
assertTrue(covers(road.getFeatures().features(), ORIGIONAL)); assertTrue(covers(road.getFeatures().features(), ORIGIONAL)); assertTrue(covers(road1.getFeatures().features(), REMOVE)); assertTrue(covers(road.getFeatures().features(), ORIGIONAL)); assertTrue(covers(road1.getFeatures().features(), REMOVE)); assertTrue(coversLax(road2.getFeatures().features(), ADD)); assertTrue(covers(road.getFeatures().features(), REMOVE)); assertTrue(covers(road1.getFeatures().features(), REMOVE)); assertTrue(coversLax(road2.getFeatures().features(), FINAL)); assertTrue(coversLax(road.getFeatures().features(), FINAL)); assertTrue(coversLax(road1.getFeatures().features(), FINAL)); assertTrue(coversLax(road2.getFeatures().features(), FINAL));
assertTrue(covers(reader, ORIGIONAL)); assertTrue(covers(reader, ORIGIONAL)); reader = data.getFeatureReader(new Query("road"), t1); assertTrue(covers(reader, REMOVE)); assertTrue(covers(reader, ORIGIONAL)); reader = data.getFeatureReader(new Query("road"), t1); assertTrue(covers(reader, REMOVE)); assertTrue(covers(reader, ORIGIONAL)); reader = data.getFeatureReader(new Query("road"), t2); assertTrue(coversLax(reader, ADD)); assertTrue(covers(reader, ORIGIONAL)); reader = data.getFeatureReader(new Query("road"), t2); assertTrue(coversLax(reader, ADD)); 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)); assertTrue(coversLax(reader, FINAL)); reader = data.getFeatureReader(new Query("road"), t1); assertTrue(coversLax(reader, FINAL)); reader = data.getFeatureReader(new Query("road"), t2); assertTrue(coversLax(reader, FINAL));
void assertCovers(String msg, SimpleFeatureCollection c1, SimpleFeatureCollection c2) { if (c1 == c2) { return; } assertNotNull(msg, c1); assertNotNull(msg, c2); assertEquals(msg + " size", c1.size(), c2.size()); SimpleFeature f; for (SimpleFeatureIterator i = c1.features(); i.hasNext(); ) { f = i.next(); assertTrue(msg + " " + f.getID(), c2.contains(f)); } }
assertTrue(contains(roadFeatures, reader1.next())); assertTrue(contains(roadFeatures, reader2.next())); assertTrue(contains(riverFeatures, reader3.next()));
public void testGetFeatureSourceRiver() throws NoSuchElementException, IOException { SimpleFeatureSource river = data.getFeatureSource("river"); assertSame(riverType, river.getSchema()); assertSame(data, river.getDataStore()); SimpleFeatureCollection all = river.getFeatures(); assertEquals(2, all.size()); assertEquals(riverBounds, all.getBounds()); assertTrue("rivers", covers(all.features(), riverFeatures)); SimpleFeatureCollection expected = DataUtilities.collection(riverFeatures); assertCovers("all", expected, all); assertEquals(riverBounds, all.getBounds()); }
assertTrue(isLocked("road", "road.rd1")); assertFalse(isLocked("road", "road.rd2")); assertFalse(isLocked("road", "road.rd3")); assertTrue(isLocked("road", "road.rd1")); assertTrue(isLocked("road", "road.rd2")); assertFalse(isLocked("road", "road.rd3")); assertTrue(isLocked("road", "road.rd2")); assertFalse(isLocked("road", "road.rd3"));
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)); }
assertTrue(reader instanceof DiffFeatureReader); assertEquals(type, reader.getFeatureType()); assertEquals(roadFeatures.length, count(reader));