From a2bc68638f55ae0ad7b9e3a04c7a3c02d01384f8 Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Wed, 13 Feb 2013 23:44:11 +0000
Subject: [PATCH] Partial fix for OPENDJ-758 : Implement configurable update policy for simple and default mappers
---
opendj3/opendj-rest2ldap/src/test/java/org/forgerock/opendj/rest2ldap/Example.java | 43 +++++++++++++++++++++++++------------------
1 files changed, 25 insertions(+), 18 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 8a042c8..070a2f5 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,7 +18,12 @@
import static org.forgerock.json.resource.Resources.newInternalConnectionFactory;
import static org.forgerock.opendj.ldap.Connections.newAuthenticatedConnectionFactory;
-import static org.forgerock.opendj.rest2ldap.Rest2LDAP.*;
+import static org.forgerock.opendj.rest2ldap.Rest2LDAP.builder;
+import static org.forgerock.opendj.rest2ldap.Rest2LDAP.constant;
+import static org.forgerock.opendj.rest2ldap.Rest2LDAP.object;
+import static org.forgerock.opendj.rest2ldap.Rest2LDAP.simple;
+import static org.forgerock.opendj.rest2ldap.WritabilityPolicy.CREATE_ONLY;
+import static org.forgerock.opendj.rest2ldap.WritabilityPolicy.READ_ONLY;
import java.util.Arrays;
import java.util.logging.Logger;
@@ -27,7 +32,6 @@
import org.forgerock.json.resource.Router;
import org.forgerock.json.resource.servlet.HttpServlet;
import org.forgerock.opendj.ldap.ConnectionFactory;
-import org.forgerock.opendj.ldap.Functions;
import org.forgerock.opendj.ldap.LDAPConnectionFactory;
import org.forgerock.opendj.ldap.requests.Requests;
import org.glassfish.grizzly.http.server.HttpServer;
@@ -62,26 +66,29 @@
// Create user resource.
CollectionResourceProvider users =
- builder().factory(ldapFactory).baseDN("ou=people,dc=example,dc=com").map(
- mapJSONConstant("schemas", Arrays.asList("urn:scim:schemas:core:1.0")),
- map("id", "entryUUID").singleValued(true),
- map("externalId", "uid").singleValued(true),
- map("userName", "mail").singleValued(true),
- map("displayName", "cn").singleValued(true),
- mapComplex("name", map("givenName", "givenName").singleValued(true), map(
- "familyName", "sn").singleValued(true)),
- mapComplex("contactInformation", map("telephoneNumber").decoder(
- Functions.byteStringToString()).encoder(
- Functions.objectToByteString()).singleValued(true), map(
- "emailAddress", "mail").singleValued(true)),
- mapLDAPConstant("objectClass", "top", "person", "organizationalPerson", "inetOrgPerson"))
- .build();
+ builder().factory(ldapFactory).baseDN("ou=people,dc=example,dc=com")
+ .attribute("schemas", constant(Arrays.asList("urn:scim:schemas:core:1.0")))
+ .attribute("id", simple("uid").singleValued(true).required(true).writability(CREATE_ONLY))
+ .attribute("rev", simple("etag").singleValued(true).writability(READ_ONLY))
+ .attribute("userName", simple("mail").singleValued(true).writability(READ_ONLY))
+ .attribute("displayName", simple("cn").singleValued(true).required(true))
+ .attribute("name", object()
+ .attribute("givenName", simple("givenName").singleValued(true))
+ .attribute("familyName", simple("sn").singleValued(true).required(true)))
+ .attribute("contactInformation", object()
+ .attribute("telephoneNumber", simple("telephoneNumber").singleValued(true))
+ .attribute("emailAddress", simple("mail").singleValued(true)))
+ .additionalLDAPAttribute("objectClass", "top", "person", "organizationalPerson", "inetOrgPerson")
+ .build();
router.addRoute("/users", users);
// Create group resource.
CollectionResourceProvider groups =
- builder().factory(ldapFactory).baseDN("ou=groups,dc=example,dc=com").map(
- mapAllOf("cn", "ou", "description", "uniquemember")).build();
+ builder().factory(ldapFactory).baseDN("ou=groups,dc=example,dc=com")
+ .attribute("cn", simple("cn").singleValued(true))
+ .attribute("description", simple("description"))
+ .attribute("member", simple("uniquemember"))
+ .build();
router.addRoute("/groups", groups);
final org.forgerock.json.resource.ConnectionFactory resourceFactory =
--
Gitblit v1.10.0