From d19e20198dad143ac2718ed375c7e03680576614 Mon Sep 17 00:00:00 2001
From: treydrake <treydrake@localhost>
Date: Tue, 25 Sep 2007 20:28:42 +0000
Subject: [PATCH] Fix for issue 2343. Migrated plugin to current logging/message API and added javadocs.
---
opends/resource/admin/example-plugin/ExamplePlugin.java | 74 ++++++++++++++++++++++++++-----------
1 files changed, 52 insertions(+), 22 deletions(-)
diff --git a/opends/resource/admin/example-plugin/ExamplePlugin.java b/opends/resource/admin/example-plugin/ExamplePlugin.java
index 31607e1..c3d59b1 100644
--- a/opends/resource/admin/example-plugin/ExamplePlugin.java
+++ b/opends/resource/admin/example-plugin/ExamplePlugin.java
@@ -26,35 +26,33 @@
*/
package com.example.opends;
-
-
import static org.opends.server.loggers.ErrorLogger.logError;
import java.util.List;
import java.util.Set;
-import org.opends.server.admin.server.ConfigurationChangeListener;
-import org.opends.server.api.plugin.DirectoryServerPlugin;
import org.opends.server.api.plugin.PluginType;
import org.opends.server.api.plugin.StartupPluginResult;
+import org.opends.server.api.plugin.DirectoryServerPlugin;
import org.opends.server.config.ConfigException;
import org.opends.server.types.ConfigChangeResult;
-
import org.opends.server.types.ResultCode;
-import org.opends.server.messages.Message;
+import org.opends.server.types.InitializationException;
+import org.opends.server.admin.server.ConfigurationChangeListener;
+import org.opends.messages.Message;
+import org.opends.messages.Category;
+import org.opends.messages.Severity;
import com.example.opends.server.ExamplePluginCfg;
-
-
/**
* The example plugin implementation class. This plugin will output
* the configured message to the error log during server start up.
*/
public class ExamplePlugin extends
- DirectoryServerPlugin<ExamplePluginCfg> implements
- ConfigurationChangeListener<ExamplePluginCfg> {
+ DirectoryServerPlugin<ExamplePluginCfg> implements
+ ConfigurationChangeListener<ExamplePluginCfg> {
// The current configuration.
private ExamplePluginCfg config;
@@ -69,14 +67,27 @@
}
-
/**
- * {@inheritDoc}
+ * Performs any initialization necessary for this plugin. This will
+ * be called as soon as the plugin has been loaded and before it is
+ * registered with the server.
+ *
+ * @param pluginTypes The set of plugin types that indicate the
+ * ways in which this plugin will be invoked.
+ * @param configuration The configuration for this plugin.
+ *
+ * @throws ConfigException If the provided entry does not contain
+ * a valid configuration for this plugin.
+ *
+ * @throws InitializationException If a problem occurs while
+ * initializing the plugin that is
+ * not related to the server
+ * configuration.
*/
@Override()
public void initializePlugin(Set<PluginType> pluginTypes,
ExamplePluginCfg configuration)
- throws ConfigException {
+ throws ConfigException, InitializationException {
// This plugin may only be used as a server startup plugin.
for (PluginType t : pluginTypes) {
switch (t) {
@@ -84,8 +95,8 @@
// This is fine.
break;
default:
- throw new ConfigException(-1, "Invalid plugin type " + t
- + " for the example plugin.");
+ throw new ConfigException(Message.raw("Invalid plugin type " + t
+ + " for the example plugin."));
}
}
@@ -100,20 +111,30 @@
/**
- * {@inheritDoc}
+ * Performs any processing that should be done when the Directory
+ * Server is in the process of starting. This method will be called
+ * after virtually all other initialization has been performed but
+ * before the connection handlers are started.
+ *
+ * @return The result of the startup plugin processing.
*/
@Override
public StartupPluginResult doStartup() {
// Log the provided message.
- logError(ErrorLogCategory.CONFIGURATION, ErrorLogSeverity.NOTICE,
- "Example plugin message '" + config.getMessage() + "'.", 9999);
+ logError(Message.raw(Category.CONFIG, Severity.NOTICE,
+ "Example plugin message '" + config.getMessage() + "'."));
return StartupPluginResult.SUCCESS;
}
/**
- * {@inheritDoc}
+ * Applies the configuration changes to this change listener.
+ *
+ * @param config
+ * The new configuration containing the changes.
+ * @return Returns information about the result of changing the
+ * configuration.
*/
public ConfigChangeResult applyConfigurationChange(
ExamplePluginCfg config) {
@@ -122,10 +143,10 @@
// Log a message to say that the configuration has changed. This
// isn't necessary, but we'll do it just to show that the change
// has taken effect.
- logError(ErrorLogCategory.CONFIGURATION, ErrorLogSeverity.NOTICE,
+ logError(Message.raw(Category.CONFIG, Severity.NOTICE,
"Example plugin message has been changed from '"
+ this.config.getMessage() + "' to '"
- + config.getMessage() + "'.", 9999);
+ + config.getMessage() + "'"));
// Update the configuration.
this.config = config;
@@ -137,7 +158,16 @@
/**
- * {@inheritDoc}
+ * Indicates whether the proposed change to the configuration is
+ * acceptable to this change listener.
+ *
+ * @param config
+ * The new configuration containing the changes.
+ * @param messages
+ * A list that can be used to hold messages about why the
+ * provided configuration is not acceptable.
+ * @return Returns <code>true</code> if the proposed change is
+ * acceptable, or <code>false</code> if it is not.
*/
public boolean isConfigurationChangeAcceptable(
ExamplePluginCfg config, List<Message> messages) {
--
Gitblit v1.10.0