From 5d8774080700c97c4f290818e4b5aa42a209740b Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Wed, 23 May 2012 16:39:10 +0000
Subject: [PATCH] Add support for complex and simple JSON attribute mappings.
---
opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Example.java | 13 ++++++++++---
1 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Example.java b/opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Example.java
index 2994682..651c38d 100644
--- a/opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Example.java
+++ b/opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Example.java
@@ -61,8 +61,15 @@
// Create user resource.
AttributeMapper userMapper =
- new SimpleAttributeMapper().includeAttribute("uid", "cn", "sn", "mail",
- "isMemberOf", "modifyTimestamp");
+ new CompositeAttributeMapper().addMapper(
+ new DefaultAttributeMapper().includeAttribute("uid", "isMemberOf",
+ "modifyTimestamp")).addMapper(
+ new ComplexAttributeMapper("name", new DefaultAttributeMapper()
+ .includeAttribute("cn", "sn", "givenName"))).addMapper(
+ new ComplexAttributeMapper("contactInformation",
+ new CompositeAttributeMapper().addMapper(
+ new SimpleAttributeMapper("telephoneNumber")).addMapper(
+ new SimpleAttributeMapper("emailAddress", "mail"))));
LDAPResource userResource = new LDAPResource(userContainer, userMapper);
ResourceInvoker userResourceInvoker = new ResourceInvoker();
userResourceInvoker.resource = userResource; // FIXME: Yuk!
@@ -70,7 +77,7 @@
// Create group resource.
AttributeMapper groupMapper =
- new SimpleAttributeMapper().includeAttribute("cn", "ou", "description",
+ new DefaultAttributeMapper().includeAttribute("cn", "ou", "description",
"uniquemember");
LDAPResource groupResource = new LDAPResource(groupContainer, groupMapper);
ResourceInvoker groupResourceInvoker = new ResourceInvoker();
--
Gitblit v1.10.0