From 90e372637db76c6c9dd14a1206d28c1cb0298590 Mon Sep 17 00:00:00 2001
From: neil_a_wilson <neil_a_wilson@localhost>
Date: Sat, 11 Nov 2006 06:02:25 +0000
Subject: [PATCH] Update the plugin API to make the shutdown reason available to shutdown plugins.

---
 opends/src/server/org/opends/server/core/DirectoryServer.java                                             |    2 +-
 opends/src/server/org/opends/server/api/plugin/DirectoryServerPlugin.java                                 |    7 +++++--
 opends/tests/unit-tests-testng/src/server/org/opends/server/api/plugin/DirectoryServerPluginTestCase.java |    2 +-
 opends/src/server/org/opends/server/core/PluginConfigManager.java                                         |    9 ++++++---
 opends/tests/unit-tests-testng/src/server/org/opends/server/plugins/InvocationCounterPlugin.java          |    2 +-
 5 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/opends/src/server/org/opends/server/api/plugin/DirectoryServerPlugin.java b/opends/src/server/org/opends/server/api/plugin/DirectoryServerPlugin.java
index 7d325ec..cbd1193 100644
--- a/opends/src/server/org/opends/server/api/plugin/DirectoryServerPlugin.java
+++ b/opends/src/server/org/opends/server/api/plugin/DirectoryServerPlugin.java
@@ -204,10 +204,13 @@
    * method will be called early in the shutdown process after the
    * connection handlers are stopped but before other finalization is
    * performed.
+   *
+   * @param  reason  The human-readable reason for the shutdown.
    */
-  public void doShutdown()
+  public void doShutdown(String reason)
   {
-    assert debugEnter(CLASS_NAME, "doShutdown");
+    assert debugEnter(CLASS_NAME, "doShutdown",
+                      String.valueOf(reason));
 
     int    msgID   = MSGID_PLUGIN_TYPE_NOT_SUPPORTED;
     String message = getMessage(msgID, String.valueOf(pluginDN),
diff --git a/opends/src/server/org/opends/server/core/DirectoryServer.java b/opends/src/server/org/opends/server/core/DirectoryServer.java
index 3353c09..09f7bc0 100644
--- a/opends/src/server/org/opends/server/core/DirectoryServer.java
+++ b/opends/src/server/org/opends/server/core/DirectoryServer.java
@@ -6703,7 +6703,7 @@
     // the server.
     if (directoryServer.pluginConfigManager != null)
     {
-      directoryServer.pluginConfigManager.invokeShutdownPlugins();
+      directoryServer.pluginConfigManager.invokeShutdownPlugins(reason);
       directoryServer.pluginConfigManager.finalizePlugins();
     }
 
diff --git a/opends/src/server/org/opends/server/core/PluginConfigManager.java b/opends/src/server/org/opends/server/core/PluginConfigManager.java
index c6f69f7..130e695 100644
--- a/opends/src/server/org/opends/server/core/PluginConfigManager.java
+++ b/opends/src/server/org/opends/server/core/PluginConfigManager.java
@@ -1693,17 +1693,20 @@
   /**
    * Invokes the set of shutdown plugins that have been configured in the
    * Directory Server.
+   *
+   * @param  reason  The human-readable reason for the shutdown.
    */
-  public void invokeShutdownPlugins()
+  public void invokeShutdownPlugins(String reason)
   {
-    assert debugEnter(CLASS_NAME, "invokeShutdownPlugins");
+    assert debugEnter(CLASS_NAME, "invokeShutdownPlugins",
+                      String.valueOf(reason));
 
 
     for (DirectoryServerPlugin p : shutdownPlugins)
     {
       try
       {
-        p.doShutdown();
+        p.doShutdown(reason);
       }
       catch (Exception e)
       {
diff --git a/opends/tests/unit-tests-testng/src/server/org/opends/server/api/plugin/DirectoryServerPluginTestCase.java b/opends/tests/unit-tests-testng/src/server/org/opends/server/api/plugin/DirectoryServerPluginTestCase.java
index e149f83..8b05cf8 100644
--- a/opends/tests/unit-tests-testng/src/server/org/opends/server/api/plugin/DirectoryServerPluginTestCase.java
+++ b/opends/tests/unit-tests-testng/src/server/org/opends/server/api/plugin/DirectoryServerPluginTestCase.java
@@ -125,7 +125,7 @@
   @Test(expectedExceptions = { UnsupportedOperationException.class })
   public void testDoShutdown()
   {
-    new NullPlugin().doShutdown();
+    new NullPlugin().doShutdown("testDoShutdown");
   }
 
 
diff --git a/opends/tests/unit-tests-testng/src/server/org/opends/server/plugins/InvocationCounterPlugin.java b/opends/tests/unit-tests-testng/src/server/org/opends/server/plugins/InvocationCounterPlugin.java
index d92a482..04e3187 100644
--- a/opends/tests/unit-tests-testng/src/server/org/opends/server/plugins/InvocationCounterPlugin.java
+++ b/opends/tests/unit-tests-testng/src/server/org/opends/server/plugins/InvocationCounterPlugin.java
@@ -1035,7 +1035,7 @@
    * {@inheritDoc}
    */
   @Override()
-  public void doShutdown()
+  public void doShutdown(String reason)
   {
     shutdownCalled = true;
   }

--
Gitblit v1.10.0