From 94bbd5bb7c20a490558d8ec97d1be7e3dc492a42 Mon Sep 17 00:00:00 2001
From: neil_a_wilson <neil_a_wilson@localhost>
Date: Sun, 09 Sep 2007 23:08:09 +0000
Subject: [PATCH] Update the server to provide a basic framework for controlling when plugins will be invoked.  There are two basic changes:

---
 opends/src/admin/defn/org/opends/server/admin/std/PluginConfiguration.xml |   54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 54 insertions(+), 0 deletions(-)

diff --git a/opends/src/admin/defn/org/opends/server/admin/std/PluginConfiguration.xml b/opends/src/admin/defn/org/opends/server/admin/std/PluginConfiguration.xml
index 1194f54..cc13da3 100644
--- a/opends/src/admin/defn/org/opends/server/admin/std/PluginConfiguration.xml
+++ b/opends/src/admin/defn/org/opends/server/admin/std/PluginConfiguration.xml
@@ -31,6 +31,7 @@
   package="org.opends.server.admin.std" abstract="false"
   xmlns:adm="http://www.opends.org/admin"
   xmlns:ldap="http://www.opends.org/admin-ldap">
+
   <adm:synopsis>
     <adm:user-friendly-plural-name />
     provide a mechanism for executing custom code at specified points in
@@ -38,7 +39,9 @@
     establishment and termination, server startup and shutdown, and LDIF import
     and export.
   </adm:synopsis>
+
   <adm:tag name="core"/>
+
   <adm:profile name="ldap">
     <ldap:object-class>
       <ldap:oid>1.3.6.1.4.1.26027.1.2.37</ldap:oid>
@@ -46,6 +49,7 @@
       <ldap:superior>top</ldap:superior>
     </ldap:object-class>
   </adm:profile>
+
   <adm:property name="enabled" mandatory="true">
     <adm:synopsis>
       Indicate whether the
@@ -62,6 +66,7 @@
       </ldap:attribute>
     </adm:profile>
   </adm:property>
+
   <adm:property name="plugin-class" mandatory="true">
     <adm:synopsis>
       The fully-qualified name of the Java class that provides the
@@ -82,6 +87,7 @@
       </ldap:attribute>
     </adm:profile>
   </adm:property>
+
   <adm:property name="plugin-type" mandatory="true" multi-valued="true">
     <adm:synopsis>
       The plugin types, which define the conditions under which this plugin
@@ -308,6 +314,30 @@
             Invoked after sending the search result done message to the client.
           </adm:synopsis>
         </adm:value>
+        <adm:value name="postsynchronizationadd">
+          <adm:synopsis>
+            Invoked after completing post-synchronization processing for an add
+            operation.
+          </adm:synopsis>
+        </adm:value>
+        <adm:value name="postsynchronizationdelete">
+          <adm:synopsis>
+            Invoked after completing post-synchronization processing for a
+            delete operation.
+          </adm:synopsis>
+        </adm:value>
+        <adm:value name="postsynchronizationmodify">
+          <adm:synopsis>
+            Invoked after completing post-synchronization processing for a
+            modify operation.
+          </adm:synopsis>
+        </adm:value>
+        <adm:value name="postsynchronizationmodifydn">
+          <adm:synopsis>
+            Invoked after completing post-synchronization processing for a
+            modify DN operation.
+          </adm:synopsis>
+        </adm:value>
         <adm:value name="searchresultentry">
           <adm:synopsis>
             Invoked before sending a search result entry to the client.
@@ -339,5 +369,29 @@
       </ldap:attribute>
     </adm:profile>
   </adm:property>
+
+  <adm:property name="invoke-for-internal-operations" mandatory="false">
+    <adm:synopsis>
+      Indicates whether the plugin should be invoked for internal operations.
+      Note that any plugin which may be invoked for internal operations should
+      be careful to ensure that they do not create any new internal operatons
+      that can cause the same plugin to be re-invoked.
+    </adm:synopsis>
+    <adm:default-behavior>
+      <adm:defined>
+        <adm:value>true</adm:value>
+      </adm:defined>
+    </adm:default-behavior>
+    <adm:syntax>
+      <adm:boolean />
+    </adm:syntax>
+    <adm:profile name="ldap">
+      <ldap:attribute>
+        <ldap:oid>1.3.6.1.4.1.26027.1.1.495</ldap:oid>
+        <ldap:name>ds-cfg-invoke-for-internal-operations</ldap:name>
+      </ldap:attribute>
+    </adm:profile>
+  </adm:property>
+
 </adm:managed-object>
 

--
Gitblit v1.10.0