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/core/CoreConfigManager.java | 90 +++++++++++++++++++++++++++++---------------
1 files changed, 59 insertions(+), 31 deletions(-)
diff --git a/opends/src/server/org/opends/server/core/CoreConfigManager.java b/opends/src/server/org/opends/server/core/CoreConfigManager.java
index 5817c50..45c5f55 100644
--- a/opends/src/server/org/opends/server/core/CoreConfigManager.java
+++ b/opends/src/server/org/opends/server/core/CoreConfigManager.java
@@ -30,6 +30,7 @@
import java.util.ArrayList;
import java.util.HashSet;
+import java.util.LinkedHashMap;
import java.util.LinkedList;
import java.util.List;
@@ -41,6 +42,7 @@
import org.opends.server.config.ConfigException;
import org.opends.server.config.DNConfigAttribute;
import org.opends.server.config.IntegerConfigAttribute;
+import org.opends.server.config.IntegerWithUnitConfigAttribute;
import org.opends.server.config.MultiChoiceConfigAttribute;
import org.opends.server.types.AcceptRejectWarn;
import org.opends.server.types.ConfigChangeResult;
@@ -76,11 +78,35 @@
+ /**
+ * The set of time units that will be used for the appropriate attributes.
+ */
+ private static final LinkedHashMap<String,Double> timeUnits =
+ new LinkedHashMap<String,Double>();
+
+
+
// The DN of the associated configuration entry.
private DN configEntryDN;
+ static
+ {
+ timeUnits.put(TIME_UNIT_SECONDS_ABBR, 1D);
+ timeUnits.put(TIME_UNIT_SECONDS_FULL, 1D);
+ timeUnits.put(TIME_UNIT_MINUTES_ABBR, 60D);
+ timeUnits.put(TIME_UNIT_MINUTES_FULL, 60D);
+ timeUnits.put(TIME_UNIT_HOURS_ABBR, (double) (60 * 60));
+ timeUnits.put(TIME_UNIT_HOURS_FULL, (double) (60 * 60));
+ timeUnits.put(TIME_UNIT_DAYS_ABBR, (double) (60 * 60 * 24));
+ timeUnits.put(TIME_UNIT_DAYS_FULL, (double) (60 * 60 * 24));
+ timeUnits.put(TIME_UNIT_WEEKS_ABBR, (double) (60 * 60 * 24 * 7));
+ timeUnits.put(TIME_UNIT_WEEKS_FULL, (double) (60 * 60 * 24 * 7));
+ }
+
+
+
/**
* Creates a new instance of this core config manager.
*/
@@ -507,7 +533,7 @@
msgID = MSGID_CONFIG_CORE_DESCRIPTION_SIZE_LIMIT;
IntegerConfigAttribute sizeLimitStub =
new IntegerConfigAttribute(ATTR_SIZE_LIMIT, getMessage(msgID), true,
- false, false, true, -1, true,
+ false, false, true, 0, true,
Integer.MAX_VALUE);
try
{
@@ -539,14 +565,14 @@
// Determine the default server time limit.
msgID = MSGID_CONFIG_CORE_DESCRIPTION_TIME_LIMIT;
- IntegerConfigAttribute timeLimitStub =
- new IntegerConfigAttribute(ATTR_TIME_LIMIT, getMessage(msgID), true,
- false, false, true, -1, true,
- Integer.MAX_VALUE);
+ IntegerWithUnitConfigAttribute timeLimitStub =
+ new IntegerWithUnitConfigAttribute(ATTR_TIME_LIMIT, getMessage(msgID),
+ false, timeUnits, true, 0, true,
+ Integer.MAX_VALUE);
try
{
- IntegerConfigAttribute timeLimitAttr =
- (IntegerConfigAttribute)
+ IntegerWithUnitConfigAttribute timeLimitAttr =
+ (IntegerWithUnitConfigAttribute)
configRoot.getConfigAttribute(timeLimitStub);
if (timeLimitAttr == null)
{
@@ -554,7 +580,8 @@
}
else
{
- DirectoryServer.setTimeLimit(timeLimitAttr.activeIntValue());
+ DirectoryServer.setTimeLimit(
+ (int) timeLimitAttr.activeCalculatedValue());
}
}
catch (Exception e)
@@ -1045,7 +1072,7 @@
msgID = MSGID_CONFIG_CORE_DESCRIPTION_SIZE_LIMIT;
IntegerConfigAttribute sizeLimitStub =
new IntegerConfigAttribute(ATTR_SIZE_LIMIT, getMessage(msgID), false,
- false, false, true, -1, true,
+ false, false, true, 0, true,
Integer.MAX_VALUE);
try
{
@@ -1073,18 +1100,19 @@
// Add the server time limit.
msgID = MSGID_CONFIG_CORE_DESCRIPTION_TIME_LIMIT;
- IntegerConfigAttribute timeLimitStub =
- new IntegerConfigAttribute(ATTR_TIME_LIMIT, getMessage(msgID), false,
- false, false, true, -1, true,
- Integer.MAX_VALUE);
+ IntegerWithUnitConfigAttribute timeLimitStub =
+ new IntegerWithUnitConfigAttribute(ATTR_TIME_LIMIT, getMessage(msgID),
+ false, timeUnits, true, 0, true,
+ Integer.MAX_VALUE);
try
{
- IntegerConfigAttribute timeLimitAttr =
- (IntegerConfigAttribute)
+ IntegerWithUnitConfigAttribute timeLimitAttr =
+ (IntegerWithUnitConfigAttribute)
configEntry.getConfigAttribute(timeLimitStub);
if (timeLimitAttr == null)
{
- timeLimitStub.setValue(DirectoryServer.getTimeLimit());
+ timeLimitStub.setValue(DirectoryServer.getTimeLimit(),
+ TIME_UNIT_SECONDS_FULL);
timeLimitAttr = timeLimitStub;
}
@@ -1479,7 +1507,7 @@
msgID = MSGID_CONFIG_CORE_DESCRIPTION_SIZE_LIMIT;
IntegerConfigAttribute sizeLimitStub =
new IntegerConfigAttribute(ATTR_SIZE_LIMIT, getMessage(msgID), false,
- false, false, true, -1, true,
+ false, false, true, 0, true,
Integer.MAX_VALUE);
try
{
@@ -1502,14 +1530,14 @@
// See if the entry specifies the server time limit. If so, them make sure
// it's valid.
msgID = MSGID_CONFIG_CORE_DESCRIPTION_TIME_LIMIT;
- IntegerConfigAttribute timeLimitStub =
- new IntegerConfigAttribute(ATTR_TIME_LIMIT, getMessage(msgID), false,
- false, false, true, -1, true,
- Integer.MAX_VALUE);
+ IntegerWithUnitConfigAttribute timeLimitStub =
+ new IntegerWithUnitConfigAttribute(ATTR_TIME_LIMIT, getMessage(msgID),
+ false,timeUnits, true, 0, true,
+ Integer.MAX_VALUE);
try
{
- IntegerConfigAttribute timeLimitAttr =
- (IntegerConfigAttribute)
+ IntegerWithUnitConfigAttribute timeLimitAttr =
+ (IntegerWithUnitConfigAttribute)
configEntry.getConfigAttribute(timeLimitStub);
}
catch (Exception e)
@@ -2044,7 +2072,7 @@
msgID = MSGID_CONFIG_CORE_DESCRIPTION_SIZE_LIMIT;
IntegerConfigAttribute sizeLimitStub =
new IntegerConfigAttribute(ATTR_SIZE_LIMIT, getMessage(msgID), false,
- false, false, true, -1, true,
+ false, false, true, 0, true,
Integer.MAX_VALUE);
try
{
@@ -2076,18 +2104,18 @@
// Get the server time limit.
int timeLimit = DEFAULT_TIME_LIMIT;
msgID = MSGID_CONFIG_CORE_DESCRIPTION_TIME_LIMIT;
- IntegerConfigAttribute timeLimitStub =
- new IntegerConfigAttribute(ATTR_TIME_LIMIT, getMessage(msgID), false,
- false, false, true, -1, true,
- Integer.MAX_VALUE);
+ IntegerWithUnitConfigAttribute timeLimitStub =
+ new IntegerWithUnitConfigAttribute(ATTR_TIME_LIMIT, getMessage(msgID),
+ false, timeUnits, true, 0, true,
+ Integer.MAX_VALUE);
try
{
- IntegerConfigAttribute timeLimitAttr =
- (IntegerConfigAttribute)
+ IntegerWithUnitConfigAttribute timeLimitAttr =
+ (IntegerWithUnitConfigAttribute)
configEntry.getConfigAttribute(timeLimitStub);
if (timeLimitAttr != null)
{
- timeLimit = timeLimitAttr.pendingIntValue();
+ timeLimit = (int) timeLimitAttr.pendingCalculatedValue();
}
}
catch (Exception e)
--
Gitblit v1.10.0