From e71e0ffed59f29c3b36a97abd949b0b434fae080 Mon Sep 17 00:00:00 2001
From: neil_a_wilson <neil_a_wilson@localhost>
Date: Mon, 12 Mar 2007 16:36:07 +0000
Subject: [PATCH] Provide a mechanism for the server to notify the synchronization service about any schema changes that occur. The synchronization service can already handle schema changes that occur over protocol with the server online, but this set of changes adds support for detecting schema changes made by directly editing the schema configuration files with the server offline, as well as new schema elements added through the add schema file task.
---
opendj-sdk/opends/src/server/org/opends/server/api/SynchronizationProvider.java | 22 ++++++++++++++++++++++
1 files changed, 22 insertions(+), 0 deletions(-)
diff --git a/opendj-sdk/opends/src/server/org/opends/server/api/SynchronizationProvider.java b/opendj-sdk/opends/src/server/org/opends/server/api/SynchronizationProvider.java
index 4b92ab3..3305807 100644
--- a/opendj-sdk/opends/src/server/org/opends/server/api/SynchronizationProvider.java
+++ b/opendj-sdk/opends/src/server/org/opends/server/api/SynchronizationProvider.java
@@ -28,6 +28,8 @@
+import java.util.List;
+
import org.opends.server.config.ConfigEntry;
import org.opends.server.config.ConfigException;
import org.opends.server.core.AddOperation;
@@ -36,6 +38,7 @@
import org.opends.server.core.ModifyDNOperation;
import org.opends.server.types.DirectoryException;
import org.opends.server.types.InitializationException;
+import org.opends.server.types.Modification;
import org.opends.server.types.SynchronizationProviderResult;
@@ -368,5 +371,24 @@
public abstract void doPostOperation(
ModifyDNOperation modifyDNOperation)
throws DirectoryException;
+
+ /**
+ * Performs any processing that may be required whenever the server
+ * schema has been updated. This may be invoked for schema
+ * modifications made with the server online, and it may also be
+ * called if the server detects that there were any scheam changes
+ * made with the server offline (e.g., by directly editing the
+ * schema configuration files).
+ * <BR><BR>
+ * At the time this method is called, the schema changes will have
+ * already been applied to the server. As such, this method must
+ * make a best effort attempt to process the associated schema
+ * changes, and is not allowed to throw any exceptions.
+ *
+ * @param modifications The set of modifications that have been
+ * made to the server schema.
+ */
+ public abstract void processSchemaChange(List<Modification>
+ modifications);
}
--
Gitblit v1.10.0