You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by oz...@apache.org on 2005/02/11 20:42:33 UTC
svn commit: r153448 -
jakarta/commons/proper/transaction/trunk/src/java/org/apache/commons/transaction/locking/GenericLockManager.java
Author: ozeigermann
Date: Fri Feb 11 11:42:32 2005
New Revision: 153448
URL: http://svn.apache.org/viewcvs?view=rev&rev=153448
Log:
Made #checkLock, #hasLock, #release only check on existing locks
as creating a new lock was silly in that scenario
Modified:
jakarta/commons/proper/transaction/trunk/src/java/org/apache/commons/transaction/locking/GenericLockManager.java
Modified: jakarta/commons/proper/transaction/trunk/src/java/org/apache/commons/transaction/locking/GenericLockManager.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/transaction/trunk/src/java/org/apache/commons/transaction/locking/GenericLockManager.java?view=diff&r1=153447&r2=153448
==============================================================================
--- jakarta/commons/proper/transaction/trunk/src/java/org/apache/commons/transaction/locking/GenericLockManager.java (original)
+++ jakarta/commons/proper/transaction/trunk/src/java/org/apache/commons/transaction/locking/GenericLockManager.java Fri Feb 11 11:42:32 2005
@@ -139,11 +139,14 @@
*/
public boolean checkLock(Object ownerId, Object resourceId, int targetLockLevel, boolean reentrant) {
timeoutCheck(ownerId);
+ boolean possible = true;
- GenericLock lock = (GenericLock) atomicGetOrCreateLock(resourceId);
- boolean possible = lock.test(ownerId, targetLockLevel,
- reentrant ? GenericLock.COMPATIBILITY_REENTRANT : GenericLock.COMPATIBILITY_NONE);
-
+ GenericLock lock = (GenericLock) getLock(resourceId);
+ if (lock != null) {
+ possible = lock.test(ownerId, targetLockLevel,
+ reentrant ? GenericLock.COMPATIBILITY_REENTRANT
+ : GenericLock.COMPATIBILITY_NONE);
+ }
return possible;
}
@@ -153,10 +156,12 @@
*/
public boolean hasLock(Object ownerId, Object resourceId, int lockLevel) {
timeoutCheck(ownerId);
+ boolean owned = false;
- GenericLock lock = (GenericLock) atomicGetOrCreateLock(resourceId);
- boolean owned = lock.has(ownerId, lockLevel);
-
+ GenericLock lock = (GenericLock) getLock(resourceId);
+ if (lock != null) {
+ owned = lock.has(ownerId, lockLevel);
+ }
return owned;
}
@@ -290,9 +295,13 @@
*/
public boolean release(Object ownerId, Object resourceId) {
timeoutCheck(ownerId);
- GenericLock lock = (GenericLock) atomicGetOrCreateLock(resourceId);
- boolean released = lock.release(ownerId);
- removeOwner(ownerId, lock);
+ boolean released = false;
+
+ GenericLock lock = (GenericLock) getLock(resourceId);
+ if (lock != null) {
+ released = lock.release(ownerId);
+ removeOwner(ownerId, lock);
+ }
return released;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org