From 39a420d9aa3817dbe2dc9eff52464e5b464dbdde Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Thu, 06 Oct 2016 15:33:04 +0000
Subject: [PATCH] OPENDJ-2860: add support for JSON property mapping in Rest2LDAP
---
opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Rest2LdapJsonConfigurator.java | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Rest2LdapJsonConfigurator.java b/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Rest2LdapJsonConfigurator.java
index 2760cd3..d902445 100644
--- a/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Rest2LdapJsonConfigurator.java
+++ b/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Rest2LdapJsonConfigurator.java
@@ -79,6 +79,7 @@
import org.forgerock.opendj.ldap.SSLContextBuilder;
import org.forgerock.opendj.ldap.requests.BindRequest;
import org.forgerock.opendj.ldap.requests.Requests;
+import org.forgerock.opendj.rest2ldap.schema.JsonSchema;
import org.forgerock.services.context.Context;
import org.forgerock.util.Options;
import org.forgerock.util.promise.Promise;
@@ -356,6 +357,15 @@
.isRequired(mapper.get("isRequired").defaultTo(false).asBoolean())
.isMultiValued(mapper.get("isMultiValued").defaultTo(false).asBoolean())
.writability(parseWritability(mapper));
+ case "json":
+ return simple(mapper.get("ldapAttribute").defaultTo(defaultLdapAttribute).required().asString())
+ .defaultJsonValue(mapper.get("defaultJsonValue").getObject())
+ .isRequired(mapper.get("isRequired").defaultTo(false).asBoolean())
+ .isMultiValued(mapper.get("isMultiValued").defaultTo(false).asBoolean())
+ .encoder(JsonSchema.jsonToByteString())
+ .decoder(JsonSchema.byteStringToJson())
+ .jsonSchema(mapper.isDefined("schema") ? mapper.get("schema") : null)
+ .writability(parseWritability(mapper));
case "reference":
final String ldapAttribute = mapper.get("ldapAttribute")
.defaultTo(defaultLdapAttribute).required().asString();
--
Gitblit v1.10.0