From 74023634617762408423a44c8dd01ee050fef584 Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Mon, 03 Jun 2013 09:13:08 +0000
Subject: [PATCH] Fix OPENDJ-866 Local RS is named differently to remote RS under cn=replication,cn=monitor

---
 opends/src/server/org/opends/server/replication/protocol/TopologyMsg.java |   21 ++++++++++++++++++++-
 1 files changed, 20 insertions(+), 1 deletions(-)

diff --git a/opends/src/server/org/opends/server/replication/protocol/TopologyMsg.java b/opends/src/server/org/opends/server/replication/protocol/TopologyMsg.java
index 132238e..16fbfc5 100644
--- a/opends/src/server/org/opends/server/replication/protocol/TopologyMsg.java
+++ b/opends/src/server/org/opends/server/replication/protocol/TopologyMsg.java
@@ -97,6 +97,19 @@
         int dsId = Integer.valueOf(serverIdString);
         pos += length + 1;
 
+        /* Read DS URL */
+        String dsUrl;
+        if (version >= ProtocolVersion.REPLICATION_PROTOCOL_V6)
+        {
+          length = getNextLength(in, pos);
+          dsUrl = new String(in, pos, length, "UTF-8");
+          pos += length + 1;
+        }
+        else
+        {
+          dsUrl = "";
+        }
+
         /* Read RS id */
         length =
           getNextLength(in, pos);
@@ -187,7 +200,7 @@
 
         /* Now create DSInfo and store it in list */
 
-        DSInfo dsInfo = new DSInfo(dsId, rsId, generationId, status,
+        DSInfo dsInfo = new DSInfo(dsId, dsUrl, rsId, generationId, status,
           assuredFlag, assuredMode, safeDataLevel, groupId, refUrls, attrs,
           delattrs, protocolVersion);
         dsList.add(dsInfo);
@@ -321,6 +334,12 @@
           String.valueOf(dsInfo.getDsId()).getBytes("UTF-8");
         oStream.write(byteServerId);
         oStream.write(0);
+        if (version >= ProtocolVersion.REPLICATION_PROTOCOL_V6)
+        {
+          // Put DS URL
+          oStream.write(dsInfo.getDsUrl().getBytes("UTF-8"));
+          oStream.write(0);
+        }
         // Put RS id
         byteServerId =
           String.valueOf(dsInfo.getRsId()).getBytes("UTF-8");

--
Gitblit v1.10.0