@Test public void testLockUnlockFilter() throws Exception { SimpleFeatureLocking fl; fl = (SimpleFeatureLocking) rts.getFeatureSource(RENAMED); final FeatureLock lock = FeatureLockFactory.generate(10 * 60 * 1000); Transaction t = new DefaultTransaction(); t.addAuthorization(lock.getAuthorization()); fl.setTransaction(t); fl.setFeatureLock(lock); SimpleFeatureLocking fl2; fl2 = (SimpleFeatureLocking) rts.getFeatureSource(RENAMED); fl.setFeatureLock(lock); fl2.setTransaction(new DefaultTransaction()); assertEquals(1, fl.lockFeatures(fidFilter)); assertEquals(0, fl2.lockFeatures(fidFilter)); fl.unLockFeatures(fidFilter); assertEquals(1, fl2.lockFeatures(fidFilter)); }
@Test public void testLockUnlockFilter() throws Exception { SimpleFeatureLocking fl; fl = (SimpleFeatureLocking) rts.getFeatureSource(RENAMED); final FeatureLock lock = FeatureLockFactory.generate(10 * 60 * 1000); Transaction t = new DefaultTransaction(); t.addAuthorization(lock.getAuthorization()); fl.setTransaction(t); fl.setFeatureLock(lock); SimpleFeatureLocking fl2; fl2 = (SimpleFeatureLocking) rts.getFeatureSource(RENAMED); fl.setFeatureLock(lock); fl2.setTransaction(new DefaultTransaction()); assertEquals(1, fl.lockFeatures(fidFilter)); assertEquals(0, fl2.lockFeatures(fidFilter)); fl.unLockFeatures(fidFilter); assertEquals(1, fl2.lockFeatures(fidFilter)); }
@Test public void testLockUnlockQuery() throws Exception { SimpleFeatureLocking fl; fl = (SimpleFeatureLocking) rts.getFeatureSource(RENAMED); final FeatureLock lock = FeatureLockFactory.generate(10 * 60 * 1000); Transaction t = new DefaultTransaction(); t.addAuthorization(lock.getAuthorization()); fl.setTransaction(t); fl.setFeatureLock(lock); SimpleFeatureLocking fl2; fl2 = (SimpleFeatureLocking) rts.getFeatureSource(RENAMED); fl.setFeatureLock(lock); fl2.setTransaction(new DefaultTransaction()); Query q = new Query(RENAMED, fidFilter); assertEquals(1, fl.lockFeatures(q)); assertEquals(0, fl2.lockFeatures(q)); fl.unLockFeatures(q); assertEquals(1, fl2.lockFeatures(q)); }
@Test public void testLockUnlockQuery() throws Exception { SimpleFeatureLocking fl; fl = (SimpleFeatureLocking) rts.getFeatureSource(RENAMED); final FeatureLock lock = FeatureLockFactory.generate(10 * 60 * 1000); Transaction t = new DefaultTransaction(); t.addAuthorization(lock.getAuthorization()); fl.setTransaction(t); fl.setFeatureLock(lock); SimpleFeatureLocking fl2; fl2 = (SimpleFeatureLocking) rts.getFeatureSource(RENAMED); fl.setFeatureLock(lock); fl2.setTransaction(new DefaultTransaction()); Query q = new Query(RENAMED, fidFilter); assertEquals(1, fl.lockFeatures(q)); assertEquals(0, fl2.lockFeatures(q)); fl.unLockFeatures(q); assertEquals(1, fl2.lockFeatures(q)); } }
public void testUnLockFeatures() throws IOException { FeatureLock lock = FeatureLockFactory.generate("test", LOCK_DURATION); FeatureLocking<SimpleFeatureType, SimpleFeature> road = (FeatureLocking<SimpleFeatureType, SimpleFeature>) dataStore.getFeatureSource(tname("road")); road.setFeatureLock(lock); road.lockFeatures(); try { road.unLockFeatures(); fail("unlock should fail due on AUTO_COMMIT"); } catch (IOException expected) { } try (Transaction t = new DefaultTransaction()) { road.setTransaction(t); try { road.unLockFeatures(); fail("unlock should fail due lack of authorization"); } catch (IOException expected) { } t.addAuthorization(lock.getAuthorization()); road.unLockFeatures(); } }
public void testDeleteLockedFeatures() throws Exception { FeatureLock lock = FeatureLockFactory.generate(tname("ft1"), 60 * 60 * 1000); try (Transaction tx = new DefaultTransaction()) { store.setTransaction(tx); store.setFeatureLock(lock); tx.addAuthorization(lock.getAuthorization()); FilterFactory ff = dataStore.getFilterFactory(); Filter f1 = ff.id(Collections.singleton(ff.featureId(tname("ft1") + ".1"))); assertEquals(1, store.lockFeatures(f1)); try (Transaction tx1 = new DefaultTransaction()) { store.setTransaction(tx1); try { store.removeFeatures(f1); fail("Locked feature should not be deleted."); } catch (FeatureLockException e) { } } store.setTransaction(tx); store.removeFeatures(f1); tx.commit(); } }
public void testUnLockFeatures() throws IOException { FeatureLock lock = new FeatureLock("test", 3600); @SuppressWarnings("unchecked") FeatureLocking<SimpleFeatureType, SimpleFeature> road = (FeatureLocking<SimpleFeatureType, SimpleFeature>) data.getFeatureSource("road"); road.setFeatureLock(lock); road.lockFeatures(); try { road.unLockFeatures(); fail("unlock should fail due on AUTO_COMMIT"); } catch (IOException expected) { } Transaction t = new DefaultTransaction(); road.setTransaction(t); try { road.unLockFeatures(); fail("unlock should fail due lack of authorization"); } catch (IOException expected) { } t.addAuthorization(lock.getAuthorization()); road.unLockFeatures(); t.close(); }
tx.addAuthorization(lock.getAuthorization()); store.unLockFeatures();
public void testUnlockFeaturesInvalidFilter() throws Exception { FeatureLock lock = FeatureLockFactory.generate(tname("ft1"), 60 * 60 * 1000); try (Transaction tx = new DefaultTransaction()) { store.setTransaction(tx); store.setFeatureLock(lock); tx.addAuthorization(lock.getAuthorization()); store.lockFeatures(); // uhnlock features FilterFactory ff = dataStore.getFilterFactory(); PropertyIsEqualTo f = ff.equals(ff.property(aname("invalidProperty")), ff.literal(1)); try { store.unLockFeatures(new Query(store.getSchema().getTypeName(), f)); fail("Should have failed with an exception, the filter is not valid"); } catch (Exception e) { // fine } store.unLockFeatures(); } }
store.setTransaction(tx); store.setFeatureLock(lock); tx.addAuthorization(lock.getAuthorization());
tx.addAuthorization(lock.getAuthorization()); try (FeatureWriter<SimpleFeatureType, SimpleFeature> writer = dataStore.getFeatureWriter(tname("ft1"), tx)) {
t.addAuthorization(lockId);
t.addAuthorization(lockId);
} catch (IOException expected) { t1.addAuthorization(lockA.getAuthorization()); try { road1.unLockFeatures(rd2Filter); assertFalse(isLocked("road", "road.rd3")); t2.addAuthorization(lockB.getAuthorization()); road2.unLockFeatures(rd2Filter); assertFalse(isLocked("road", "road.rd1"));
t1.addAuthorization(lockA.getAuthorization()); assertFalse(isLocked(tname("road"), tname("road") + "." + (td.initialFidValue + 2))); t2.addAuthorization(lockB.getAuthorization()); road2.unLockFeatures(td.rd2Filter); assertFalse(isLocked(tname("road"), tname("road") + "." + (td.initialFidValue)));
public void testUnLockFeatures() throws IOException { FeatureLock lock = FeatureLockFactory.generate("test", 360000); FeatureLocking<SimpleFeatureType, SimpleFeature> road = (FeatureLocking<SimpleFeatureType, SimpleFeature>) data.getFeatureSource("ROAD"); road.setFeatureLock(lock); road.lockFeatures(); try { road.unLockFeatures(); fail("unlock should fail due on AUTO_COMMIT"); } catch (IOException expected) { } Transaction t = new DefaultTransaction(); road.setTransaction(t); try { road.unLockFeatures(); fail("unlock should fail due lack of authorization"); } catch (IOException expected) { } t.addAuthorization(lock.getAuthorization()); road.unLockFeatures(); }
public void testUnLockFeatures() throws IOException { FeatureLock lock = FeatureLockFactory.generate("test", 360000); FeatureLocking road = (FeatureLocking) data.getFeatureSource("ROAD"); road.setFeatureLock(lock); road.lockFeatures(); try { road.unLockFeatures(); fail("unlock should fail due on AUTO_COMMIT"); } catch (IOException expected) { } Transaction t = new DefaultTransaction(); road.setTransaction(t); try { road.unLockFeatures(); fail("unlock should fail due lack of authorization"); } catch (IOException expected) { } t.addAuthorization(lock.getAuthorization()); road.unLockFeatures(); }
t.addAuthorization(fLock.getAuthorization()); DataStore dataStore = (DataStore) source.getDataStore(); dataStore.getLockingManager().refresh(fLock.getAuthorization(), t);
t1.addAuthorization(lockA.getAuthorization()); assertFalse(isLocked("ROAD", roadFeatures[2].getID())); t2.addAuthorization(lockB.getAuthorization()); road2.unLockFeatures(rd2Filter); assertFalse(isLocked("ROAD", roadFeatures[0].getID()));
t1.addAuthorization(lockA.getAuthorization()); assertFalse(isLocked("ROAD", roadFeatures[2].getID())); t2.addAuthorization(lockB.getAuthorization()); road2.unLockFeatures(rd2Filter); assertFalse(isLocked("ROAD", roadFeatures[0].getID()));