org.geotools.data.Transaction.addAuthorization()方法的使用及代码示例

x33g5p2x  于2022-01-29 转载在 其他  
字(9.8k)|赞(0)|评价(0)|浏览(105)

本文整理了Java中org.geotools.data.Transaction.addAuthorization()方法的一些代码示例,展示了Transaction.addAuthorization()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Transaction.addAuthorization()方法的具体详情如下:
包路径:org.geotools.data.Transaction
类名称:Transaction
方法名:addAuthorization

Transaction.addAuthorization介绍

[英]Provides an Authorization ID for this Transaction.

All proceeding modifyFeatures,removeFeature, unLockFeatures, refreshLock and ReleaseLock operations will make use of the provided authorization.

Authorization is only maintained until the this Transaction is commited or rolledback.

That is operations will only succeed if affected features either:

  • not locked
  • locked with the provided authID

Authorization ID is provided as a String, rather than a FeatureLock, to account for across process lock use.
[中]提供此事务的授权ID。
所有正在进行的modifyFeatures、removeFeature、unLockFeatures、refreshLock和ReleaseLock操作都将使用提供的授权。
只有在提交或回滚此事务之前,才会维护授权。
也就是说,只有当受影响的功能:
*没有上锁
*使用提供的authID锁定
授权ID以字符串而不是FeatureLock的形式提供,以说明跨进程锁的使用。

代码示例

代码示例来源:origin: geoserver/geoserver

@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));
}

代码示例来源:origin: geoserver/geoserver

@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));
}

代码示例来源:origin: geoserver/geoserver

@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));
}

代码示例来源:origin: geoserver/geoserver

@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));
  }
}

代码示例来源:origin: geotools/geotools

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();
  }
}

代码示例来源:origin: geotools/geotools

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();
  }
}

代码示例来源:origin: geotools/geotools

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();
}

代码示例来源:origin: geotools/geotools

tx.addAuthorization(lock.getAuthorization());
store.unLockFeatures();

代码示例来源:origin: geotools/geotools

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();
  }
}

代码示例来源:origin: geotools/geotools

store.setTransaction(tx);
store.setFeatureLock(lock);
tx.addAuthorization(lock.getAuthorization());

代码示例来源:origin: geotools/geotools

tx.addAuthorization(lock.getAuthorization());
try (FeatureWriter<SimpleFeatureType, SimpleFeature> writer =
    dataStore.getFeatureWriter(tname("ft1"), tx)) {

代码示例来源:origin: org.geoserver/gs-wfs

t.addAuthorization(lockId);

代码示例来源:origin: org.geoserver/gs-wfs

t.addAuthorization(lockId);

代码示例来源:origin: geotools/geotools

} 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"));

代码示例来源:origin: geotools/geotools

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)));

代码示例来源:origin: org.geotools/gt-main

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();
}

代码示例来源:origin: org.geotools/gt2-main

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();
}

代码示例来源:origin: org.geoserver/gs-wfs

t.addAuthorization(fLock.getAuthorization());
DataStore dataStore = (DataStore) source.getDataStore();
dataStore.getLockingManager().refresh(fLock.getAuthorization(), t);

代码示例来源:origin: org.geotools/gt2-main

t1.addAuthorization(lockA.getAuthorization());
assertFalse(isLocked("ROAD", roadFeatures[2].getID()));
t2.addAuthorization(lockB.getAuthorization());
road2.unLockFeatures(rd2Filter);
assertFalse(isLocked("ROAD", roadFeatures[0].getID()));

代码示例来源:origin: org.geotools/gt-main

t1.addAuthorization(lockA.getAuthorization());
assertFalse(isLocked("ROAD", roadFeatures[2].getID()));
t2.addAuthorization(lockB.getAuthorization());
road2.unLockFeatures(rd2Filter);
assertFalse(isLocked("ROAD", roadFeatures[0].getID()));

相关文章