From ad9f974dbe34ed45e012b272e3c28624d1d54195 Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Tue, 05 Mar 2013 16:10:25 +0000
Subject: [PATCH] Partial fix for OPENDJ-699: Implement DN reference mapping

---
 opendj3/opendj-rest2ldap-servlet/src/main/webapp/opendj-rest2ldap-servlet.json |   24 +++++++++++++++++++++---
 1 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/opendj3/opendj-rest2ldap-servlet/src/main/webapp/opendj-rest2ldap-servlet.json b/opendj3/opendj-rest2ldap-servlet/src/main/webapp/opendj-rest2ldap-servlet.json
index 788501d..457b52b 100644
--- a/opendj3/opendj-rest2ldap-servlet/src/main/webapp/opendj-rest2ldap-servlet.json
+++ b/opendj3/opendj-rest2ldap-servlet/src/main/webapp/opendj-rest2ldap-servlet.json
@@ -44,8 +44,20 @@
                     "givenName"  : { "simple" : { "ldapAttribute" : "givenName", "isSingleValued" : true } },
                     "familyName" : { "simple" : { "ldapAttribute" : "sn", "isSingleValued" : true, "isRequired" : true } }
                 } },
-                "manager"     : { "simple"   : { "ldapAttribute" : "manager", "isSingleValued" : true } },
-                "groups"      : { "simple"   : { "ldapAttribute" : "isMemberOf", "writability" : "readOnly" } },
+                "manager"     : { "reference" : {
+                    "ldapAttribute" : "manager",
+                    "mapper"        : { "object" : {
+                        "id"          : { "simple"   : { "ldapAttribute" : "uid", "isSingleValued" : true } },
+                        "displayName" : { "simple"   : { "ldapAttribute" : "cn", "isSingleValued" : true } }
+                    } }
+                } },
+                "groups"     : { "reference" : {
+                    "ldapAttribute" : "isMemberOf",
+                    "writability"   : "readOnly",
+                    "mapper"        : { "object" : {
+                        "id"          : { "simple"   : { "ldapAttribute" : "cn", "isSingleValued" : true } }
+                    } }
+                } },
                 "contactInformation" : { "object" : {
                     "telephoneNumber" : { "simple" : { "ldapAttribute" : "telephoneNumber", "isSingleValued" : true } },
                     "emailAddress"    : { "simple" : { "ldapAttribute" : "mail", "isSingleValued" : true } }
@@ -78,7 +90,13 @@
                 "id"          : { "simple"   : { "ldapAttribute" : "cn", "isSingleValued" : true, "isRequired" : true, "writability" : "createOnly" } },
                 "rev"         : { "simple"   : { "ldapAttribute" : "etag", "isSingleValued" : true, "writability" : "readOnly" } },
                 "displayName" : { "simple"   : { "ldapAttribute" : "cn", "isSingleValued" : true, "isRequired" : true, "writability" : "readOnly" } },
-                "members"     : { "simple"   : { "ldapAttribute" : "uniquemember" } },
+                "members"    : { "reference" : {
+                    "ldapAttribute" : "uniqueMember",
+                    "mapper"        : { "object" : {
+                        "id"          : { "simple"   : { "ldapAttribute" : "uid", "isSingleValued" : true } },
+                        "displayName" : { "simple"   : { "ldapAttribute" : "cn", "isSingleValued" : true } }
+                    } }
+                } },
                 "meta"        : { "object" : {
                     "created"      : { "simple" : { "ldapAttribute" : "createTimestamp", "isSingleValued" : true, "writability" : "readOnly" } },
                     "lastModified" : { "simple" : { "ldapAttribute" : "modifyTimestamp", "isSingleValued" : true, "writability" : "readOnly" } }

--
Gitblit v1.10.0