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