protected void assertFids(Set fids) throws FeatureLockException { InProcessLockingManager lockingManager = getInProcessLockingManager(); if (lockingManager == null) { return; // subclass is doing its own thing } Transaction t = getTransaction(); String typeName = getSchema().getTypeName(); String fid; for (Iterator i = fids.iterator(); i.hasNext(); ) { fid = (String) i.next(); lockingManager.assertAccess(typeName, fid, transaction); } }
/** * Release indicated featureID, must have correct authroization. * * @param typeName * @param featureID * @param transaction * @param featureLock * @throws IOException If lock could not be released */ public synchronized void unLockFeatureID( String typeName, String featureID, Transaction transaction, FeatureLock featureLock) throws IOException { assertAccess(typeName, featureID, transaction); locks(typeName).remove(featureID); }