From 09484dd10bba52e2bc2c7bc2ce742e4a8e58a8be Mon Sep 17 00:00:00 2001
From: Jean-Noël Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Thu, 10 Mar 2016 08:40:41 +0000
Subject: [PATCH] Added MonitorData class to simplify writing monitored objects
---
opendj-server-legacy/src/main/java/org/opends/server/extensions/EntryCacheCommon.java | 69 +++++++---------------------------
1 files changed, 15 insertions(+), 54 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/extensions/EntryCacheCommon.java b/opendj-server-legacy/src/main/java/org/opends/server/extensions/EntryCacheCommon.java
index 7ffa102..bb06b58 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/extensions/EntryCacheCommon.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/extensions/EntryCacheCommon.java
@@ -16,11 +16,8 @@
*/
package org.opends.server.extensions;
-
-import org.forgerock.i18n.slf4j.LocalizedLogger;
import static org.opends.server.util.StaticUtils.*;
-import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@@ -28,18 +25,14 @@
import org.forgerock.i18n.LocalizableMessage;
import org.forgerock.i18n.LocalizableMessageDescriptor;
-import org.opends.server.types.Attribute;
-import org.opends.server.types.Attributes;
import org.forgerock.opendj.ldap.DN;
import org.opends.server.types.DirectoryException;
+import org.forgerock.i18n.slf4j.LocalizedLogger;
import org.forgerock.opendj.ldap.ResultCode;
+import org.opends.server.api.MonitorData;
import org.opends.server.types.SearchFilter;
-
-
-/**
- * This class provides some common tools to all entry cache implementations.
- */
+/** This class provides some common tools to all entry cache implementations. */
public class EntryCacheCommon
{
@@ -53,19 +46,11 @@
*/
public static enum ConfigPhase
{
- /**
- * Indicates that entry cache is in initialization check phase.
- */
+ /** Indicates that entry cache is in initialization check phase. */
PHASE_INIT,
-
- /**
- * Indicates that entry cache is in configuration check phase.
- */
+ /** Indicates that entry cache is in configuration check phase. */
PHASE_ACCEPTABLE,
-
- /**
- * Indicates that entry cache is applying its configuration.
- */
+ /** Indicates that entry cache is applying its configuration. */
PHASE_APPLY
}
@@ -360,7 +345,7 @@
*
* @return A set of generic attributes containing monitor data.
*/
- public static List<Attribute> getGenericMonitorData(
+ public static MonitorData getGenericMonitorData(
Long cacheHits,
Long cacheMisses,
Long cacheSize,
@@ -368,54 +353,30 @@
Long cacheCount,
Long maxCacheCount)
{
- List<Attribute> attrs = new ArrayList<>();
+ MonitorData attrs = new MonitorData();
if (cacheHits != null)
{
- attrs
- .add(Attributes.create("entryCacheHits", cacheHits.toString()));
+ attrs.add("entryCacheHits", cacheHits);
// Cache misses is required to get cache tries and hit ratio.
if (cacheMisses != null)
{
Long cacheTries = cacheHits + cacheMisses;
- attrs.add(Attributes.create("entryCacheTries", cacheTries
- .toString()));
+ attrs.add("entryCacheTries", cacheTries);
Double hitRatioRaw = cacheTries > 0 ? cacheHits.doubleValue()
/ cacheTries.doubleValue() : cacheHits.doubleValue() / 1;
Double hitRatio = hitRatioRaw * 100D;
- attrs.add(Attributes.create("entryCacheHitRatio", Long
- .toString(hitRatio.longValue())));
+ attrs.add("entryCacheHitRatio", hitRatio);
}
}
- if (cacheSize != null)
- {
- attrs.add(Attributes.create("currentEntryCacheSize", cacheSize
- .toString()));
- }
-
- if (maxCacheSize != null)
- {
- attrs.add(Attributes.create("maxEntryCacheSize", maxCacheSize
- .toString()));
- }
-
- if (cacheCount != null)
- {
- attrs.add(Attributes.create("currentEntryCacheCount", cacheCount
- .toString()));
- }
-
- if (maxCacheCount != null)
- {
- attrs.add(Attributes.create("maxEntryCacheCount", maxCacheCount
- .toString()));
- }
+ attrs.addIfNotNull("currentEntryCacheSize", cacheSize);
+ attrs.addIfNotNull("maxEntryCacheSize", maxCacheSize);
+ attrs.addIfNotNull("currentEntryCacheCount", cacheCount);
+ attrs.addIfNotNull("maxEntryCacheCount", maxCacheCount);
return attrs;
}
-
}
-
--
Gitblit v1.10.0