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/backends/MonitorBackend.java | 20 ++++++++++++--------
1 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/backends/MonitorBackend.java b/opendj-server-legacy/src/main/java/org/opends/server/backends/MonitorBackend.java
index 561edc3..66a5c70 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/backends/MonitorBackend.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/backends/MonitorBackend.java
@@ -51,6 +51,7 @@
import org.opends.server.admin.server.ConfigurationChangeListener;
import org.opends.server.admin.std.server.MonitorBackendCfg;
import org.opends.server.api.Backend;
+import org.opends.server.api.MonitorData;
import org.opends.server.api.MonitorProvider;
import org.opends.server.config.ConfigEntry;
import org.opends.server.core.AddOperation;
@@ -781,31 +782,34 @@
final ObjectClass monitorOC = monitorProvider.getMonitorObjectClass();
final HashMap<ObjectClass, String> monitorClasses = newObjectClasses(monitorOC, monitorOC.getPrimaryName());
- final List<Attribute> monitorAttrs = monitorProvider.getMonitorData();
- final HashMap<AttributeType, List<Attribute>> attrMap = new LinkedHashMap<>(monitorAttrs.size() + 1);
+ final MonitorData monitorAttrs = monitorProvider.getMonitorData();
+ final Map<AttributeType, List<Attribute>> attrMap = asMap(monitorAttrs);
// Make sure to include the RDN attribute.
final AVA ava = entryDN.rdn().getFirstAVA();
final AttributeType rdnType = ava.getAttributeType();
final ByteString rdnValue = ava.getAttributeValue();
-
attrMap.put(rdnType, Attributes.createAsList(rdnType, rdnValue));
- // Take the rest of the information from the monitor data.
+ return newEntry(entryDN, monitorClasses, attrMap, new HashMap<AttributeType, List<Attribute>>(0));
+ }
+
+ private Map<AttributeType, List<Attribute>> asMap(MonitorData monitorAttrs)
+ {
+ final Map<AttributeType, List<Attribute>> results = new LinkedHashMap<>(monitorAttrs.size() + 1);
for (final Attribute a : monitorAttrs)
{
final AttributeType type = a.getAttributeDescription().getAttributeType();
- List<Attribute> attrs = attrMap.get(type);
+ List<Attribute> attrs = results.get(type);
if (attrs == null)
{
attrs = new ArrayList<>();
- attrMap.put(type, attrs);
+ results.put(type, attrs);
}
attrs.add(a);
}
-
- return newEntry(entryDN, monitorClasses, attrMap, new HashMap<AttributeType, List<Attribute>>(0));
+ return results;
}
private HashMap<ObjectClass, String> newObjectClasses(ObjectClass objectClass, String objectClassName)
--
Gitblit v1.10.0