You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by ga...@apache.org on 2004/11/29 23:28:15 UTC
cvs commit: ws-axis/java/src/org/apache/axis/utils LockableHashtable.java
gawor 2004/11/29 14:28:15
Modified: java/src/org/apache/axis/utils LockableHashtable.java
Log:
allocated the vector only when needed
Revision Changes Path
1.13 +12 -5 ws-axis/java/src/org/apache/axis/utils/LockableHashtable.java
Index: LockableHashtable.java
===================================================================
RCS file: /home/cvs/ws-axis/java/src/org/apache/axis/utils/LockableHashtable.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- LockableHashtable.java 25 Feb 2004 14:02:48 -0000 1.12
+++ LockableHashtable.java 29 Nov 2004 22:28:15 -0000 1.13
@@ -41,7 +41,7 @@
/**
* Stores the keys of the locked entries
*/
- Vector lockedEntries = new Vector();
+ Vector lockedEntries;
/** Place to look for properties which we don't find locally. */
private Hashtable parent = null;
@@ -111,10 +111,17 @@
* items added to the hashtable as locked.
*/
public synchronized Object put(Object p1, Object p2, boolean locked) {
- if (this.containsKey(p1) && lockedEntries.contains(p1)) {
+ if (lockedEntries != null &&
+ this.containsKey(p1) &&
+ lockedEntries.contains(p1)) {
return null;
}
- if (locked) lockedEntries.add(p1);
+ if (locked) {
+ if (lockedEntries == null) {
+ lockedEntries = new Vector();
+ }
+ lockedEntries.add(p1);
+ }
return super.put(p1, p2);
}
@@ -129,7 +136,7 @@
* Checks to see if an item is locked before it is removed.
*/
public synchronized Object remove(Object p1) {
- if (lockedEntries.contains(p1)) {
+ if (lockedEntries != null && lockedEntries.contains(p1)) {
return null;
}
return super.remove(p1);
@@ -140,6 +147,6 @@
*/
public boolean isKeyLocked(Object key)
{
- return lockedEntries.contains(key);
+ return lockedEntries != null && lockedEntries.contains(key);
}
}