* 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;
import javax.naming.InitialContext;
import javax.naming.Name;
+import javax.naming.NameNotFoundException;
import javax.naming.NamingException;
public class StubInitialContext extends InitialContext {
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 aName) throws NamingException {
- return bindings.get(aName);
+ 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 aName) throws NamingException {
- return super.lookup(aName.toString());
+ return lookup(aName.toString());
}
}