From eb384076c69a10db7dc66fb97b8c9c7db28dd273 Mon Sep 17 00:00:00 2001
From: Jean-Noël Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Thu, 04 Aug 2016 15:06:06 +0000
Subject: [PATCH] Make CustomSearchResult closer to SDK's Entry

---
 opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/ViewEntryPanel.java |   17 +++++++++--------
 1 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/ViewEntryPanel.java b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/ViewEntryPanel.java
index 3908639..226b3ec 100644
--- a/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/ViewEntryPanel.java
+++ b/opendj-server-legacy/src/main/java/org/opends/guitools/controlpanel/ui/ViewEntryPanel.java
@@ -40,6 +40,7 @@
 import org.forgerock.opendj.ldap.AttributeDescription;
 import org.forgerock.opendj.ldap.ByteString;
 import org.forgerock.opendj.ldap.DN;
+import org.forgerock.opendj.ldap.LinkedAttribute;
 import org.forgerock.opendj.ldap.schema.AttributeType;
 import org.forgerock.opendj.ldap.schema.ObjectClass;
 import org.forgerock.opendj.ldap.schema.ObjectClassType;
@@ -443,7 +444,7 @@
   protected void setValues(CustomSearchResult sr, String attrName)
   {
     List<Object> values = getValues(attrName);
-    List<ByteString> valuesToSet = new ArrayList<>();
+    final LinkedAttribute attr = new LinkedAttribute(attrName);
     for (Object value : values)
     {
       if (value instanceof ObjectClassValue)
@@ -451,23 +452,23 @@
         ObjectClassValue ocValue = (ObjectClassValue)value;
         if (ocValue.getStructural() != null)
         {
-          valuesToSet.add(ByteString.valueOfUtf8(ocValue.getStructural()));
+          attr.add(ocValue.getStructural());
         }
         SortedSet<String> auxiliaries = ocValue.getAuxiliary();
         for (String auxiliary : auxiliaries)
         {
-          valuesToSet.add(ByteString.valueOfUtf8(auxiliary));
+          attr.add(auxiliary);
         }
       }
       else if (value instanceof byte[])
       {
-        valuesToSet.add(ByteString.wrap((byte[]) value));
+        attr.add((byte[]) value);
       }
       else if (value instanceof BinaryValue)
       {
         try
         {
-          valuesToSet.add(ByteString.wrap(((BinaryValue) value).getBytes()));
+          attr.add(((BinaryValue) value).getBytes());
         }
         catch (ParseException pe)
         {
@@ -479,13 +480,13 @@
         String s = String.valueOf(value);
         if (s.trim().length() > 0)
         {
-          valuesToSet.add(ByteString.valueOfUtf8(s));
+          attr.add(s);
         }
       }
     }
-    if (!valuesToSet.isEmpty())
+    if (!attr.isEmpty())
     {
-      sr.set(attrName, valuesToSet);
+      sr.set(attr);
     }
   }
 

--
Gitblit v1.10.0