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/config/JMXMBean.java | 48 +++++-------------------------------------------
1 files changed, 5 insertions(+), 43 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/server/config/JMXMBean.java b/opendj-server-legacy/src/main/java/org/opends/server/config/JMXMBean.java
index e94cbd9..4450df7 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/config/JMXMBean.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/config/JMXMBean.java
@@ -42,6 +42,7 @@
import org.forgerock.opendj.ldap.ByteString;
import org.forgerock.opendj.ldap.ResultCode;
import org.forgerock.opendj.ldap.SearchScope;
+import org.forgerock.opendj.ldap.schema.AttributeType;
import org.opends.server.admin.std.server.MonitorProviderCfg;
import org.opends.server.api.AlertGenerator;
import org.opends.server.api.ClientConnection;
@@ -54,7 +55,6 @@
import org.opends.server.protocols.internal.SearchRequest;
import org.opends.server.protocols.jmx.Credential;
import org.opends.server.protocols.jmx.JmxClientConnection;
-import org.forgerock.opendj.ldap.schema.AttributeType;
import org.forgerock.opendj.ldap.DN;
import org.opends.server.types.DirectoryException;
import org.opends.server.types.InvokableMethod;
@@ -413,8 +413,7 @@
stringValues.add(value.toString());
}
- String[] valueArray = new String[stringValues.size()];
- stringValues.toArray(valueArray);
+ String[] valueArray = stringValues.toArray(new String[stringValues.size()]);
return new Attribute(name, valueArray);
}
else
@@ -568,47 +567,10 @@
{
logger.traceException(e);
}
-
- // It's possible that this is a monitor attribute rather than a
- // configurable one. Check all of those.
- AttributeType attrType = DirectoryServer.getAttributeType(name);
-
-monitorLoop:
- for (MonitorProvider<? extends MonitorProviderCfg> monitor :
- monitorProviders)
+ Attribute attr = getJmxAttribute(name);
+ if (attr != null)
{
- for (org.opends.server.types.Attribute a : monitor.getMonitorData())
- {
- if (attrType.equals(a.getAttributeDescription().getAttributeType()))
- {
- if (a.isEmpty())
- {
- continue;
- }
-
- Iterator<ByteString> iterator = a.iterator();
- ByteString value = iterator.next();
-
- if (iterator.hasNext())
- {
- List<String> stringValues = newArrayList(value.toString());
- while (iterator.hasNext())
- {
- value = iterator.next();
- stringValues.add(value.toString());
- }
-
- String[] valueArray = new String[stringValues.size()];
- stringValues.toArray(valueArray);
- attrList.add(new Attribute(name, valueArray));
- }
- else
- {
- attrList.add(new Attribute(name, value.toString()));
- }
- break monitorLoop;
- }
- }
+ attrList.add(attr);
}
}
--
Gitblit v1.10.0