You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by du...@apache.org on 2006/01/12 02:28:29 UTC

svn commit: r368210 - /webservices/axis/trunk/java/src/org/apache/axis/utils/LockableHashtable.java

Author: dug
Date: Wed Jan 11 17:28:24 2006
New Revision: 368210

URL: http://svn.apache.org/viewcvs?rev=368210&view=rev
Log:
User-defined properties on the msgContext are not carried
all the way thru the engine w/o looking up the chain of
property sets.

Modified:
    webservices/axis/trunk/java/src/org/apache/axis/utils/LockableHashtable.java

Modified: webservices/axis/trunk/java/src/org/apache/axis/utils/LockableHashtable.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/src/org/apache/axis/utils/LockableHashtable.java?rev=368210&r1=368209&r2=368210&view=diff
==============================================================================
--- webservices/axis/trunk/java/src/org/apache/axis/utils/LockableHashtable.java (original)
+++ webservices/axis/trunk/java/src/org/apache/axis/utils/LockableHashtable.java Wed Jan 11 17:28:24 2006
@@ -16,6 +16,7 @@
 package org.apache.axis.utils ;
 
 import java.util.Hashtable;
+import java.util.Iterator;
 import java.util.Vector;
 import java.util.Set;
 import java.util.HashSet;
@@ -106,6 +107,25 @@
         }
         return ret;
     }
+
+    public Set keySet() {
+      Hashtable p = this ;
+      HashSet   v = new HashSet();
+      Set       s = super.keySet();
+      while ( p != null ) {
+        if ( s == null ) s = p.keySet();
+        Iterator i = s.iterator();
+        while ( i.hasNext() )
+          v.add( i.next() );
+        s = null ;
+        if ( p instanceof LockableHashtable )
+          p = ((LockableHashtable)p).parent ;
+        else
+          p = null ;
+      }
+      return v;
+    }
+
     /**
      * New version of the put() method that allows for explicitly marking
      * items added to the hashtable as locked.