From 80a3f6364ea92609b94c48593090de26394dc8b7 Mon Sep 17 00:00:00 2001
From: Jean-Noël Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Tue, 16 Aug 2016 09:03:18 +0000
Subject: [PATCH] OPENDJ-3255 Hit NPE when choose Entry Cache in control-panel
---
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/RootMonitoringPanel.java | 5 +++--
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/DatabaseMonitoringTableModel.java | 7 ++++---
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ServerDescriptor.java | 7 ++++---
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/JavaInformationMonitoringPanel.java | 3 ++-
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ConnectionHandlersMonitoringTableModel.java | 3 ++-
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ControlPanelInfo.java | 7 ++++---
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/EntryCachesMonitoringPanel.java | 3 ++-
7 files changed, 21 insertions(+), 14 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ConnectionHandlersMonitoringTableModel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ConnectionHandlersMonitoringTableModel.java
index 6294ab0..0d37c02 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ConnectionHandlersMonitoringTableModel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ConnectionHandlersMonitoringTableModel.java
@@ -16,6 +16,7 @@
*/
package org.opends.guitools.controlpanel.datamodel;
+import static org.opends.admin.ads.util.ConnectionUtils.*;
import static org.opends.messages.AdminToolMessages.*;
import java.net.InetAddress;
@@ -144,7 +145,7 @@
{
for (SearchResultEntry sr : cch.getMonitoringEntries())
{
- String cn = sr.getAttribute("cn").firstValueAsString();
+ String cn = firstValueAsString(sr, "cn");
if (cn != null)
{
if (address == null)
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ControlPanelInfo.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ControlPanelInfo.java
index 42cc3a8..f84b415 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ControlPanelInfo.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ControlPanelInfo.java
@@ -18,6 +18,7 @@
import static com.forgerock.opendj.util.OperatingSystem.*;
+import static org.opends.admin.ads.util.ConnectionUtils.*;
import static org.opends.admin.ads.util.PreferredConnection.Type.*;
import static org.opends.server.tools.ConfigureWindowsService.*;
@@ -519,13 +520,13 @@
desc.setJvmMemoryUsageMonitor(rCtx.getJvmMemoryUsage());
desc.setSystemInformationMonitor(rCtx.getSystemInformation());
desc.setWorkQueueMonitor(rCtx.getWorkQueue());
- desc.setOpenDJVersion(rCtx.getVersionMonitor().getAttribute("fullVersion").firstValueAsString());
- String installPath = rCtx.getSystemInformation().getAttribute("installPath").firstValueAsString();
+ desc.setOpenDJVersion(firstValueAsString(rCtx.getVersionMonitor(), "fullVersion"));
+ String installPath = firstValueAsString(rCtx.getSystemInformation(), "installPath");
if (installPath != null)
{
desc.setInstallPath(installPath);
}
- String instancePath = rCtx.getSystemInformation().getAttribute("instancePath").firstValueAsString();
+ String instancePath = firstValueAsString(rCtx.getSystemInformation(), "instancePath");
if (instancePath != null)
{
desc.setInstancePath(instancePath);
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/DatabaseMonitoringTableModel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/DatabaseMonitoringTableModel.java
index 0872679..9b205cc 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/DatabaseMonitoringTableModel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/DatabaseMonitoringTableModel.java
@@ -16,6 +16,7 @@
*/
package org.opends.guitools.controlpanel.datamodel;
+import static org.opends.admin.ads.util.ConnectionUtils.*;
import static org.opends.guitools.controlpanel.util.Utilities.*;
import static org.opends.messages.AdminToolMessages.*;
import static org.opends.server.util.CollectionUtils.*;
@@ -284,8 +285,8 @@
/**
* Returns the monitoring entry associated with the provided backend.
* @param backend the backend.
- * @return the monitoring entry associated with the provided backend. Returns
- * <CODE>null</CODE> if there is no monitoring entry associated.
+ * @return the monitoring entry associated with the provided backend,
+ * or {@code null} if there is no monitoring entry associated.
*/
private SearchResultEntry getMonitoringEntry(BackendDescriptor backend)
{
@@ -300,7 +301,7 @@
SearchResultEntry monitoringEntry = getMonitoringEntry(backend);
for (String attr : attributes)
{
- String o = monitoringEntry.getAttribute(attr).firstValueAsString();
+ String o = firstValueAsString(monitoringEntry, attr);
line[i] = o != null ? o : NO_VALUE_SET.toString();
i++;
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ServerDescriptor.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ServerDescriptor.java
index 9672920..006b93c 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ServerDescriptor.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/datamodel/ServerDescriptor.java
@@ -16,6 +16,7 @@
*/
package org.opends.guitools.controlpanel.datamodel;
+import static org.opends.admin.ads.util.ConnectionUtils.*;
import static org.opends.guitools.controlpanel.datamodel.BasicMonitoringAttributes.*;
import static org.opends.server.util.SchemaUtils.*;
@@ -508,7 +509,7 @@
{
return false;
}
- String os = sr.getAttribute("operatingSystem").firstValueAsString();
+ String os = firstValueAsString(sr, "operatingSystem");
return os != null && OperatingSystem.WINDOWS.equals(OperatingSystem.forName(os));
}
@@ -692,8 +693,8 @@
{
try
{
- String start = rootMonitor.getAttribute(START_DATE.getAttributeName()).firstValueAsString();
- String current = rootMonitor.getAttribute(CURRENT_DATE.getAttributeName()).firstValueAsString();
+ String start = firstValueAsString(rootMonitor, START_DATE.getAttributeName());
+ String current = firstValueAsString(rootMonitor, CURRENT_DATE.getAttributeName());
Date startTime = ConfigFromConnection.utcParser.parse(start);
Date currentTime = ConfigFromConnection.utcParser.parse(current);
return currentTime.getTime() - startTime.getTime();
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/EntryCachesMonitoringPanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/EntryCachesMonitoringPanel.java
index f168654..07557df 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/EntryCachesMonitoringPanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/EntryCachesMonitoringPanel.java
@@ -30,6 +30,7 @@
import org.opends.guitools.controlpanel.util.Utilities;
import org.opends.server.util.CollectionUtils;
+import static org.opends.admin.ads.util.ConnectionUtils.*;
import static org.opends.guitools.controlpanel.datamodel.BasicMonitoringAttributes.*;
import static org.opends.messages.AdminToolMessages.*;
@@ -133,7 +134,7 @@
int index = 0;
for (MonitoringAttributes attr : ngOperations)
{
- if (sr.getAttribute(attr.getAttributeName()).firstValueAsString() == null)
+ if (firstValueAsString(sr, attr.getAttributeName()) == null)
{
monitoringLabels.get(index).setVisible(false);
labels.get(index).setVisible(false);
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/JavaInformationMonitoringPanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/JavaInformationMonitoringPanel.java
index aa91e38..3dd5d7d 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/JavaInformationMonitoringPanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/JavaInformationMonitoringPanel.java
@@ -42,6 +42,7 @@
import org.opends.guitools.controlpanel.util.Utilities;
import org.opends.server.util.CollectionUtils;
+import static org.opends.admin.ads.util.ConnectionUtils.*;
import static org.opends.messages.AdminToolMessages.*;
import static org.opends.server.util.ServerConstants.*;
@@ -367,7 +368,7 @@
for (int i=0; i<memoryAttributes.size() ; i++)
{
- String value = csrMemory.getAttribute(memoryAttributes.get(i)).firstValueAsString();
+ String value = firstValueAsString(csrMemory, memoryAttributes.get(i));
if (value != null)
{
memoryLabels.get(i).setText(value);
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/RootMonitoringPanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/RootMonitoringPanel.java
index ae6aa01..13012a2 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/RootMonitoringPanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/RootMonitoringPanel.java
@@ -30,6 +30,7 @@
import org.opends.guitools.controlpanel.util.ConfigFromConnection;
import org.opends.guitools.controlpanel.util.Utilities;
+import static org.opends.admin.ads.util.ConnectionUtils.*;
import static org.opends.guitools.controlpanel.datamodel.BasicMonitoringAttributes.*;
import static org.opends.messages.AdminToolMessages.*;
import static org.opends.messages.BackendMessages.*;
@@ -154,8 +155,8 @@
version.setText(server.getOpenDSVersion());
try
{
- String start = sr.getAttribute(START_DATE.getAttributeName()).firstValueAsString();
- String current = sr.getAttribute(CURRENT_DATE.getAttributeName()).firstValueAsString();
+ String start = firstValueAsString(sr, START_DATE.getAttributeName());
+ String current = firstValueAsString(sr, CURRENT_DATE.getAttributeName());
Date startTime = ConfigFromConnection.utcParser.parse(start);
Date currentTime = ConfigFromConnection.utcParser.parse(current);
--
Gitblit v1.10.0