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