Added support to removeNotEmptyContext from which is needed to remove nested contexts which are not empty.


git-svn-id: https://svn.apache.org/repos/asf/geronimo/xbean/branches/colossus@451401 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/xbean-naming/src/main/java/org/apache/xbean/naming/context/AbstractContext.java b/xbean-naming/src/main/java/org/apache/xbean/naming/context/AbstractContext.java
index bcded6e..122ace6 100644
--- a/xbean-naming/src/main/java/org/apache/xbean/naming/context/AbstractContext.java
+++ b/xbean-naming/src/main/java/org/apache/xbean/naming/context/AbstractContext.java
@@ -364,13 +364,17 @@
     protected abstract boolean removeBinding(String name, boolean removeNotEmptyContext) throws NamingException;

 

     protected void removeDeepBinding(Name name, boolean pruneEmptyContexts) throws NamingException {

+        removeDeepBinding(name, pruneEmptyContexts, false);

+    }

+

+    protected void removeDeepBinding(Name name, boolean pruneEmptyContexts, boolean removeNotEmptyContext) throws NamingException {

         if (name == null) throw new NullPointerException("name is null");

         if (name.isEmpty()) {

             throw new InvalidNameException("Name is empty");

         }

 

         if (name.size() == 1) {

-            removeBinding(name.get(0), false);

+            removeBinding(name.get(0), removeNotEmptyContext);

             return;

         }