From 461b1f6784e6cf1483dc29fdcbef14ccfe6bc849 Mon Sep 17 00:00:00 2001
From: neil_a_wilson <neil_a_wilson@localhost>
Date: Fri, 04 Aug 2006 23:17:58 +0000
Subject: [PATCH] Update the configuration and the associated code to be more consistent in the time and size units used for various purposes.  A new set of constants have been added to allow the same units to be used throughout the code, including providing both full and abbreviated unit names.

---
 opends/src/server/org/opends/server/plugins/profiler/ProfilerPlugin.java |   69 +++++++++++++++++++++++-----------
 1 files changed, 47 insertions(+), 22 deletions(-)

diff --git a/opends/src/server/org/opends/server/plugins/profiler/ProfilerPlugin.java b/opends/src/server/org/opends/server/plugins/profiler/ProfilerPlugin.java
index 428274f..89de951 100644
--- a/opends/src/server/org/opends/server/plugins/profiler/ProfilerPlugin.java
+++ b/opends/src/server/org/opends/server/plugins/profiler/ProfilerPlugin.java
@@ -30,6 +30,7 @@
 
 import java.io.File;
 import java.util.ArrayList;
+import java.util.LinkedHashMap;
 import java.util.LinkedHashSet;
 import java.util.LinkedList;
 import java.util.List;
@@ -43,7 +44,7 @@
 import org.opends.server.config.ConfigAttribute;
 import org.opends.server.config.ConfigEntry;
 import org.opends.server.config.ConfigException;
-import org.opends.server.config.IntegerConfigAttribute;
+import org.opends.server.config.IntegerWithUnitConfigAttribute;
 import org.opends.server.config.MultiChoiceConfigAttribute;
 import org.opends.server.config.ReadOnlyConfigAttribute;
 import org.opends.server.config.StringConfigAttribute;
@@ -61,6 +62,7 @@
 import static org.opends.server.loggers.Error.*;
 import static org.opends.server.messages.MessageHandler.*;
 import static org.opends.server.messages.PluginMessages.*;
+import static org.opends.server.util.ServerConstants.*;
 import static org.opends.server.util.StaticUtils.*;
 
 
@@ -117,6 +119,15 @@
 
 
 
+  /**
+   * The set of time units that will be used for expressing the task retention
+   * time.
+   */
+  private static final LinkedHashMap<String,Double> timeUnits =
+       new LinkedHashMap<String,Double>();
+
+
+
   // Indicates whether the profiler should be started automatically when the
   // Directory Server is started.
   private boolean autoStart;
@@ -139,6 +150,16 @@
 
 
 
+  static
+  {
+    timeUnits.put(TIME_UNIT_MILLISECONDS_ABBR, 1D);
+    timeUnits.put(TIME_UNIT_MILLISECONDS_FULL, 1D);
+    timeUnits.put(TIME_UNIT_SECONDS_ABBR, 1000D);
+    timeUnits.put(TIME_UNIT_SECONDS_FULL, 1000D);
+  }
+
+
+
   /**
    * Creates a new instance of this Directory Server plugin.  Every plugin must
    * implement a default constructor (it is the only one that will be used to
@@ -286,17 +307,18 @@
     sampleInterval = DEFAULT_PROFILE_INTERVAL;
 
     msgID = MSGID_PLUGIN_PROFILER_DESCRIPTION_INTERVAL;
-    IntegerConfigAttribute intervalStub =
-         new IntegerConfigAttribute(ATTR_PROFILE_INTERVAL, getMessage(msgID),
-                                    true, false, false, true, 1, false, 0);
+    IntegerWithUnitConfigAttribute intervalStub =
+         new IntegerWithUnitConfigAttribute(ATTR_PROFILE_INTERVAL,
+                                            getMessage(msgID), false, timeUnits,
+                                            true, 1, false, 0);
     try
     {
-      IntegerConfigAttribute intervalAttr =
-           (IntegerConfigAttribute)
+      IntegerWithUnitConfigAttribute intervalAttr =
+           (IntegerWithUnitConfigAttribute)
            configEntry.getConfigAttribute(intervalStub);
       if (intervalAttr != null)
       {
-        sampleInterval = intervalAttr.activeValue();
+        sampleInterval = intervalAttr.activeCalculatedValue();
       }
     }
     catch (Exception e)
@@ -417,10 +439,11 @@
 
 
     int msgID = MSGID_PLUGIN_PROFILER_DESCRIPTION_INTERVAL;
-    IntegerConfigAttribute intervalAttr =
-         new IntegerConfigAttribute(ATTR_PROFILE_INTERVAL, getMessage(msgID),
-                                    true,false, false, true, 1, false, 0,
-                                    sampleInterval);
+    IntegerWithUnitConfigAttribute intervalAttr =
+         new IntegerWithUnitConfigAttribute(ATTR_PROFILE_INTERVAL,
+                                            getMessage(msgID), false, timeUnits,
+                                            true, 1, false, 0, sampleInterval,
+                                            TIME_UNIT_MILLISECONDS_FULL);
     attrList.add(intervalAttr);
 
 
@@ -482,13 +505,14 @@
 
     // See if there is an acceptable value for the sample interval.
     int msgID = MSGID_PLUGIN_PROFILER_DESCRIPTION_INTERVAL;
-    IntegerConfigAttribute intervalStub =
-         new IntegerConfigAttribute(ATTR_PROFILE_INTERVAL, getMessage(msgID),
-                                    true, false, false, true, 1, false, 0);
+    IntegerWithUnitConfigAttribute intervalStub =
+         new IntegerWithUnitConfigAttribute(ATTR_PROFILE_INTERVAL,
+                                            getMessage(msgID), false, timeUnits,
+                                            true, 1, false, 0);
     try
     {
-      IntegerConfigAttribute intervalAttr =
-           (IntegerConfigAttribute)
+      IntegerWithUnitConfigAttribute intervalAttr =
+           (IntegerWithUnitConfigAttribute)
            configEntry.getConfigAttribute(intervalStub);
     }
     catch (Exception e)
@@ -620,17 +644,18 @@
     // Check to see if the sample interval needs to change and apply it as
     // necessary.
     int msgID = MSGID_PLUGIN_PROFILER_DESCRIPTION_INTERVAL;
-    IntegerConfigAttribute intervalStub =
-         new IntegerConfigAttribute(ATTR_PROFILE_INTERVAL, getMessage(msgID),
-                                    true, false, false, true, 1, false, 0);
+    IntegerWithUnitConfigAttribute intervalStub =
+         new IntegerWithUnitConfigAttribute(ATTR_PROFILE_INTERVAL,
+                                            getMessage(msgID), false, timeUnits,
+                                            true, 1, false, 0);
     try
     {
-      IntegerConfigAttribute intervalAttr =
-           (IntegerConfigAttribute)
+      IntegerWithUnitConfigAttribute intervalAttr =
+           (IntegerWithUnitConfigAttribute)
            configEntry.getConfigAttribute(intervalStub);
       if (intervalAttr != null)
       {
-        long newInterval = intervalAttr.pendingValue();
+        long newInterval = intervalAttr.pendingCalculatedValue();
         if (newInterval != sampleInterval)
         {
           sampleInterval = newInterval;

--
Gitblit v1.10.0