From 9c3ca8d7a4868b519eb7333b7790fb1b910588cb Mon Sep 17 00:00:00 2001
From: Jean-Noël Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Wed, 03 Aug 2016 09:43:06 +0000
Subject: [PATCH] ConnectionUtils.asSetOf*() should never return null
---
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/browser/NodeRefresher.java | 12 ++++--------
opendj-server-legacy/src/main/java/org/opends/admin/ads/util/ConnectionUtils.java | 5 +++--
opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/browser/BrowserController.java | 24 ++++++------------------
opendj-server-legacy/src/main/java/org/opends/admin/ads/ServerDescriptor.java | 3 +--
4 files changed, 14 insertions(+), 30 deletions(-)
diff --git a/opendj-server-legacy/src/main/java/org/opends/admin/ads/ServerDescriptor.java b/opendj-server-legacy/src/main/java/org/opends/admin/ads/ServerDescriptor.java
index 5d11a41..4f3a630 100644
--- a/opendj-server-legacy/src/main/java/org/opends/admin/ads/ServerDescriptor.java
+++ b/opendj-server-legacy/src/main/java/org/opends/admin/ads/ServerDescriptor.java
@@ -790,8 +790,6 @@
String backendId = firstValueAsString(sr, "ds-cfg-backend-id");
if (!isConfigBackend(backendId) || isSchemaBackend(backendId))
{
- Set<DN> baseDns = asSetOfDN(sr, "ds-cfg-base-dn");
-
Set<String> entries;
if (cacheFilter.searchMonitoringInformation())
{
@@ -803,6 +801,7 @@
}
Set<ReplicaDescriptor> replicas = desc.getReplicas();
+ Set<DN> baseDns = asSetOfDN(sr, "ds-cfg-base-dn");
for (DN baseDn : baseDns)
{
if (isAddReplica(cacheFilter, baseDn))
diff --git a/opendj-server-legacy/src/main/java/org/opends/admin/ads/util/ConnectionUtils.java b/opendj-server-legacy/src/main/java/org/opends/admin/ads/util/ConnectionUtils.java
index d629d91..245096d 100644
--- a/opendj-server-legacy/src/main/java/org/opends/admin/ads/util/ConnectionUtils.java
+++ b/opendj-server-legacy/src/main/java/org/opends/admin/ads/util/ConnectionUtils.java
@@ -18,6 +18,7 @@
import java.io.IOException;
import java.net.ConnectException;
+import java.util.Collections;
import java.util.HashSet;
import java.util.Hashtable;
import java.util.Set;
@@ -605,7 +606,7 @@
public static Set<String> asSetOfString(SearchResultEntry sr, String attrDesc)
{
org.forgerock.opendj.ldap.Attribute attr = sr.getAttribute(attrDesc);
- return attr != null ? attr.parse().asSetOfString() : null;
+ return attr != null ? attr.parse().asSetOfString() : Collections.<String> emptySet();
}
/**
@@ -621,6 +622,6 @@
public static Set<DN> asSetOfDN(SearchResultEntry sr, String attrDesc)
{
org.forgerock.opendj.ldap.Attribute attr = sr.getAttribute(attrDesc);
- return attr != null ? attr.parse().asSetOfDN() : null;
+ return attr != null ? attr.parse().asSetOfDN() : Collections.<DN> emptySet();
}
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/browser/BrowserController.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/browser/BrowserController.java
index f3fc299..afa6800 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/browser/BrowserController.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/browser/BrowserController.java
@@ -1538,9 +1538,7 @@
node.getNumSubOrdinates() > 0 || getHasSubOrdinates(entry));
node.setReferral(getReferral(entry));
Set<String> ocValues = asSetOfString(entry, OBJECTCLASS_ATTRIBUTE_TYPE_NAME);
- if (ocValues != null) {
- node.setObjectClassValues(ocValues.toArray(new String[ocValues.size()]));
- }
+ node.setObjectClassValues(ocValues.toArray(new String[0]));
}
int aciCount = getAciCount(entry);
@@ -1916,26 +1914,16 @@
*/
public static String[] getReferral(SearchResultEntry entry) throws NamingException
{
- String[] result = null;
Set<String> values = asSetOfString(entry, OBJECTCLASS_ATTRIBUTE_TYPE_NAME);
- if (values != null)
+ for (String value : values)
{
- for (String value : values)
+ if ("referral".equalsIgnoreCase(value))
{
- boolean isReferral = "referral".equalsIgnoreCase(value);
- if (isReferral)
- {
- Set<String> refValues = asSetOfString(entry, ATTR_REFERRAL_URL);
- if (refValues != null)
- {
- result = new String[refValues.size()];
- refValues.toArray(result);
- }
- break;
- }
+ Set<String> refValues = asSetOfString(entry, ATTR_REFERRAL_URL);
+ return !refValues.isEmpty() ? refValues.toArray(new String[0]) : null;
}
}
- return result;
+ return null;
}
diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/browser/NodeRefresher.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/browser/NodeRefresher.java
index 88c065a..e7b1a2e 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/browser/NodeRefresher.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/browser/NodeRefresher.java
@@ -27,7 +27,6 @@
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
-import java.util.Set;
import javax.naming.InterruptedNamingException;
import javax.naming.NameNotFoundException;
@@ -996,14 +995,11 @@
*/
private static boolean isReferralEntry(SearchResultEntry entry) throws NamingException
{
- Set<String> ocValues = asSetOfString(entry, "objectClass");
- if (ocValues != null) {
- for (String value : ocValues)
+ for (String value : asSetOfString(entry, "objectClass"))
+ {
+ if ("referral".equalsIgnoreCase(value))
{
- boolean isReferral = "referral".equalsIgnoreCase(value);
- if (isReferral) {
- return firstValueAsString(entry, "ref") != null;
- }
+ return firstValueAsString(entry, "ref") != null;
}
}
return false;
--
Gitblit v1.10.0