(no commit message)
[utils] / test / enterprise / src / main / java / org / wamblee / support / jndi / StubInitialContext.java
index 8fd8494679bf290cb09469a3364d1794c11b6ce9..e0fd8079fb8919e5d82a0ab6ff511747260f9149 100644 (file)
@@ -12,7 +12,7 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
- */ 
+ */
 package org.wamblee.support.jndi;
 
 import java.util.HashMap;
@@ -20,9 +20,15 @@ import java.util.Map;
 
 import javax.naming.InitialContext;
 import javax.naming.Name;
+import javax.naming.NameNotFoundException;
 import javax.naming.NamingException;
 
-public class StubInitialContext extends InitialContext {
+/**
+ * Initial context implementation. 
+ * 
+ * @author Erik Brakkee
+ */
+class StubInitialContext extends InitialContext {
     private Map<String, Object> bindings = new HashMap<String, Object>();
 
     public StubInitialContext() throws NamingException {
@@ -30,17 +36,36 @@ public class StubInitialContext extends InitialContext {
     }
 
     @Override
-    public void bind(String name, Object obj) throws NamingException {
-        bindings.put(name, obj);
+    public void bind(String aName, Object aObj) throws NamingException {
+        bindings.put(aName, aObj);
+    }
+    
+    @Override
+    public void unbind(String aName) throws NamingException {
+        bindings.remove(aName);
     }
 
     @Override
-    public Object lookup(String name) throws NamingException {
-        return bindings.get(name);
+    public Object lookup(String aName) throws NamingException {
+        Object value = bindings.get(aName);
+        if (value == null) {
+            throw new NameNotFoundException(aName);
+        }
+        return value;
+    }
+    
+    @Override
+    public void bind(Name aName, Object aObj) throws NamingException {
+        bind(aName.toString(), aObj);
+    }
+    
+    @Override
+    public void unbind(Name aName) throws NamingException {
+        unbind(aName.toString());
     }
 
     @Override
-    public Object lookup(Name name) throws NamingException {
-        return super.lookup(name.toString());
+    public Object lookup(Name aName) throws NamingException {
+        return lookup(aName.toString());
     }
 }