From 1072d2b5948211a94881d418f6f56af9775c9dbc Mon Sep 17 00:00:00 2001
From: fguigues <fguigues@localhost>
Date: Mon, 23 Feb 2009 16:06:56 +0000
Subject: [PATCH] Fix 3687 : SNMP: incorrect value for dsApplIfProtocol entry after server restart Fix 3690 : SNMP: incorrect value for dsServerDescription entry
---
opends/src/snmp/src/org/opends/server/snmp/DsTableEntryImpl.java | 9 +++++----
opends/src/snmp/src/org/opends/server/snmp/DsMIBImpl.java | 18 +++++++++++-------
2 files changed, 16 insertions(+), 11 deletions(-)
diff --git a/opends/src/snmp/src/org/opends/server/snmp/DsMIBImpl.java b/opends/src/snmp/src/org/opends/server/snmp/DsMIBImpl.java
index dd1c92b..970f6b6 100644
--- a/opends/src/snmp/src/org/opends/server/snmp/DsMIBImpl.java
+++ b/opends/src/snmp/src/org/opends/server/snmp/DsMIBImpl.java
@@ -22,7 +22,7 @@
* CDDL HEADER END
*
*
- * Copyright 2008 Sun Microsystems, Inc.
+ * Copyright 2008-2009 Sun Microsystems, Inc.
*/
package org.opends.server.snmp;
@@ -341,12 +341,16 @@
* @return true if the MBean is a Connection Handler else false
*/
private boolean isAConnectionHandler(ObjectName name) {
- String canonicalName = name.getCanonicalName();
- if ((canonicalName.contains("Connection_Handler")) &&
- (!(canonicalName.endsWith("_Statistics")))) {
- return true;
- } else {
- return false;
+ // First level
+ String Rdn2 = name.getKeyProperty("Rdn2");
+ // Second level
+ String Rdn3 = name.getKeyProperty("Rdn3");
+ if ((Rdn3==null) || (Rdn3.length()==0)) {
+ if ((Rdn2.contains("Connection_Handler")) &&
+ (!(Rdn2.endsWith("_Statistics")))) {
+ return true;
+ }
}
+ return false;
}
}
diff --git a/opends/src/snmp/src/org/opends/server/snmp/DsTableEntryImpl.java b/opends/src/snmp/src/org/opends/server/snmp/DsTableEntryImpl.java
index b78f2d5..dec8180 100644
--- a/opends/src/snmp/src/org/opends/server/snmp/DsTableEntryImpl.java
+++ b/opends/src/snmp/src/org/opends/server/snmp/DsTableEntryImpl.java
@@ -22,15 +22,17 @@
* CDDL HEADER END
*
*
- * Copyright 2008 Sun Microsystems, Inc.
+ * Copyright 2008-2009 Sun Microsystems, Inc.
*/
package org.opends.server.snmp;
import com.sun.management.snmp.agent.SnmpMib;
+import java.io.File;
import java.util.Iterator;
import java.util.Set;
import javax.management.MBeanServer;
import javax.management.ObjectName;
+import org.opends.server.core.DirectoryServer;
import org.opends.server.loggers.debug.DebugLogger;
import org.opends.server.loggers.debug.DebugTracer;
import org.opends.server.types.DebugLogLevel;
@@ -178,9 +180,8 @@
public String getDsServerDescription() {
String result = null;
try {
- result = (String) this.monitor.getAttribute(
- SNMPConnectionHandlerDefinitions.MONITOR_SYSTEM_INFORMATION_OBJECTNAME,
- "workingDirectory");
+ result = DirectoryServer.getServerRoot() +
+ File.separatorChar + "bin";
} catch (Exception ex) {
if (DebugLogger.debugEnabled()) {
TRACER.debugCaught(DebugLogLevel.ERROR, ex);
--
Gitblit v1.10.0