From d89aacc0431eab3dce367e8fe9575eb8f83aa535 Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Fri, 08 Feb 2013 11:37:59 +0000
Subject: [PATCH] Checkpoint changes: clean up APIs, separate out MVCC and naming strategies.

---
 opendj3/opendj-rest2ldap/src/test/java/org/forgerock/opendj/rest2ldap/Example.java |   54 ++++++++++++++++++++++--------------------------------
 1 files changed, 22 insertions(+), 32 deletions(-)

diff --git a/opendj3/opendj-rest2ldap/src/test/java/org/forgerock/opendj/rest2ldap/Example.java b/opendj3/opendj-rest2ldap/src/test/java/org/forgerock/opendj/rest2ldap/Example.java
index 720ea47..0b06eeb 100644
--- a/opendj3/opendj-rest2ldap/src/test/java/org/forgerock/opendj/rest2ldap/Example.java
+++ b/opendj3/opendj-rest2ldap/src/test/java/org/forgerock/opendj/rest2ldap/Example.java
@@ -18,13 +18,17 @@
 
 import static org.forgerock.json.resource.Resources.newInternalConnectionFactory;
 import static org.forgerock.opendj.ldap.Connections.newAuthenticatedConnectionFactory;
+import static org.forgerock.opendj.rest2ldap.Rest2LDAP.collection;
+import static org.forgerock.opendj.rest2ldap.Rest2LDAP.map;
+import static org.forgerock.opendj.rest2ldap.Rest2LDAP.mapAllOf;
+import static org.forgerock.opendj.rest2ldap.Rest2LDAP.mapComplex;
 
 import java.util.logging.Logger;
 
+import org.forgerock.json.resource.CollectionResourceProvider;
 import org.forgerock.json.resource.Router;
 import org.forgerock.json.resource.servlet.HttpServlet;
 import org.forgerock.opendj.ldap.ConnectionFactory;
-import org.forgerock.opendj.ldap.DN;
 import org.forgerock.opendj.ldap.Functions;
 import org.forgerock.opendj.ldap.LDAPConnectionFactory;
 import org.forgerock.opendj.ldap.requests.Requests;
@@ -55,39 +59,25 @@
                         Requests.newSimpleBindRequest("cn=directory manager", "password"
                                 .toCharArray()));
 
-        // Create user resource.
-        final AttributeMapper userMapper =
-                new CompositeAttributeMapper().addMapper(
-                        new SimpleAttributeMapper("id", "entryUUID").singleValued(true)).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").decoder(
-                                                Functions.byteStringToString()).singleValued(true))
-                                        .addMapper(
-                                                new SimpleAttributeMapper("emailAddress", "mail")
-                                                        .singleValued(true))));
-
-        final LDAPCollectionResourceProvider userResource =
-                new LDAPCollectionResourceProvider(DN.valueOf("ou=people,dc=example,dc=com"),
-                        userMapper, ldapFactory, Config.defaultConfig());
-
-        // Create group resource.
-        final AttributeMapper groupMapper =
-                new DefaultAttributeMapper().includeAttribute("cn", "ou", "description",
-                        "uniquemember");
-
-        final LDAPCollectionResourceProvider groupResource =
-                new LDAPCollectionResourceProvider(DN.valueOf("ou=groups,dc=example,dc=com"),
-                        groupMapper, ldapFactory, Config.defaultConfig());
-
         // Create the router.
         final Router router = new Router();
-        router.addRoute("/users", userResource);
-        router.addRoute("/groups", groupResource);
+
+        // Create user resource.
+        CollectionResourceProvider users =
+                collection().factory(ldapFactory).baseDN("ou=people,dc=example,dc=com").map(
+                        map("id", "entryUUID").singleValued(true),
+                        mapAllOf("uid", "isMemberOf", "modifyTimestamp"),
+                        mapComplex("name", mapAllOf("cn", "sn", "givenName")),
+                        mapComplex("contactInformation", map("telephoneNumber").decoder(
+                                Functions.byteStringToString()).singleValued(true), map(
+                                "emailAddress", "mail").singleValued(true))).build();
+        router.addRoute("/users", users);
+
+        // Create group resource.
+        CollectionResourceProvider groups =
+                collection().factory(ldapFactory).baseDN("ou=groups,dc=example,dc=com").map(
+                        mapAllOf("cn", "ou", "description", "uniquemember")).build();
+        router.addRoute("/groups", groups);
 
         final org.forgerock.json.resource.ConnectionFactory resourceFactory =
                 newInternalConnectionFactory(router);

--
Gitblit v1.10.0