mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

ludovicp
31.20.2010 dbdd02be3af7e5cb39bcf2eab4090086c86a7753
Notify subentry manager listeners on backend initial/final stages when related subentries are added/deleted.
1 files modified
53 ■■■■■ changed files
opends/src/server/org/opends/server/core/SubentryManager.java 53 ●●●●● patch | view | raw | blame | history
opends/src/server/org/opends/server/core/SubentryManager.java
@@ -380,6 +380,23 @@
          try
          {
            addSubEntry(entry);
            // Notify change listeners.
            for (SubentryChangeListener changeListener :
              changeListeners)
            {
              try
              {
                changeListener.handleSubentryAdd(entry);
              }
              catch (Exception e)
              {
                if (debugEnabled())
                {
                  TRACER.debugCaught(DebugLogLevel.ERROR, e);
                }
              }
            }
          }
          catch (Exception e)
          {
@@ -633,6 +650,24 @@
          if (backend.handlesEntry(subEntry.getDN()))
          {
            listIterator.remove();
            // Notify change listeners.
            for (SubentryChangeListener changeListener :
              changeListeners)
            {
              try
              {
                changeListener.handleSubentryDelete(
                        subEntry.getEntry());
              }
              catch (Exception e)
              {
                if (debugEnabled())
                {
                  TRACER.debugCaught(DebugLogLevel.ERROR, e);
                }
              }
            }
          }
        }
        if (subList.isEmpty())
@@ -652,6 +687,24 @@
          if (backend.handlesEntry(subEntry.getDN()))
          {
            listIterator.remove();
            // Notify change listeners.
            for (SubentryChangeListener changeListener :
              changeListeners)
            {
              try
              {
                changeListener.handleSubentryDelete(
                        subEntry.getEntry());
              }
              catch (Exception e)
              {
                if (debugEnabled())
                {
                  TRACER.debugCaught(DebugLogLevel.ERROR, e);
                }
              }
            }
          }
        }
        if (subList.isEmpty())