From 8e546d5b71525921c5ab48fb546276c38bb26829 Mon Sep 17 00:00:00 2001
From: gbellato <gbellato@localhost>
Date: Wed, 19 Sep 2007 12:15:36 +0000
Subject: [PATCH] Fix for 2234 : NullPointerException if multimaster domain created for non defined suffix
---
opends/src/server/org/opends/server/replication/plugin/ReplicationDomain.java | 70 ++++++++++++++++++++++++++++------
1 files changed, 57 insertions(+), 13 deletions(-)
diff --git a/opends/src/server/org/opends/server/replication/plugin/ReplicationDomain.java b/opends/src/server/org/opends/server/replication/plugin/ReplicationDomain.java
index f4ee8ba..b5459e2 100644
--- a/opends/src/server/org/opends/server/replication/plugin/ReplicationDomain.java
+++ b/opends/src/server/org/opends/server/replication/plugin/ReplicationDomain.java
@@ -1086,7 +1086,10 @@
*/
public int getNumRcvdUpdates()
{
- return numRcvdUpdates.get();
+ if (numRcvdUpdates != null)
+ return numRcvdUpdates.get();
+ else
+ return 0;
}
/**
@@ -1096,7 +1099,10 @@
*/
public int getNumSentUpdates()
{
- return numSentUpdates.get();
+ if (numSentUpdates != null)
+ return numSentUpdates.get();
+ else
+ return 0;
}
/**
@@ -1106,7 +1112,10 @@
*/
public int getPendingUpdatesCount()
{
- return pendingChanges.size();
+ if (pendingChanges != null)
+ return pendingChanges.size();
+ else
+ return 0;
}
/**
@@ -1124,7 +1133,10 @@
*/
public int getNumProcessedUpdates()
{
- return numProcessedUpdates.get();
+ if (numProcessedUpdates != null)
+ return numProcessedUpdates.get();
+ else
+ return 0;
}
/**
@@ -1254,7 +1266,10 @@
*/
public String getReplicationServer()
{
- return broker.getReplicationServer();
+ if (broker != null)
+ return broker.getReplicationServer();
+ else
+ return "Not connected";
}
/**
@@ -2060,7 +2075,10 @@
*/
public int getMaxRcvWindow()
{
- return broker.getMaxRcvWindow();
+ if (broker != null)
+ return broker.getMaxRcvWindow();
+ else
+ return 0;
}
/**
@@ -2070,7 +2088,10 @@
*/
public int getCurrentRcvWindow()
{
- return broker.getCurrentRcvWindow();
+ if (broker != null)
+ return broker.getCurrentRcvWindow();
+ else
+ return 0;
}
/**
@@ -2080,7 +2101,10 @@
*/
public int getMaxSendWindow()
{
- return broker.getMaxSendWindow();
+ if (broker != null)
+ return broker.getMaxSendWindow();
+ else
+ return 0;
}
/**
@@ -2090,7 +2114,10 @@
*/
public int getCurrentSendWindow()
{
- return broker.getCurrentSendWindow();
+ if (broker != null)
+ return broker.getCurrentSendWindow();
+ else
+ return 0;
}
/**
@@ -2099,7 +2126,10 @@
*/
public int getNumLostConnections()
{
- return broker.getNumLostConnections();
+ if (broker != null)
+ return broker.getNumLostConnections();
+ else
+ return 0;
}
/**
@@ -2731,7 +2761,7 @@
* @return The backend of that domain.
* @param baseDN The baseDN to retrieve the backend
*/
- protected Backend retrievesBackend(DN baseDN)
+ protected static Backend retrievesBackend(DN baseDN)
{
// Retrieves the backend related to this domain
return DirectoryServer.getBackend(baseDN);
@@ -3256,6 +3286,14 @@
unacceptableReasons.add(message);
return false;
}
+
+ // Check that the base DN is configured as a base-dn of the directory server
+ if (retrievesBackend(dn) == null)
+ {
+ Message message = ERR_UNKNOWN_DN.get(dn.toString());
+ unacceptableReasons.add(message);
+ return false;
+ }
return true;
}
@@ -3329,7 +3367,10 @@
*/
public boolean isConnected()
{
- return broker.isConnected();
+ if (broker != null)
+ return broker.isConnected();
+ else
+ return false;
}
/**
@@ -3338,6 +3379,9 @@
*/
public boolean isSessionEncrypted()
{
- return broker.isSessionEncrypted();
+ if (broker != null)
+ return broker.isSessionEncrypted();
+ else
+ return false;
}
}
--
Gitblit v1.10.0