From 58ffacee660a4eb792f49dd311a4e2ddda05afad Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Fri, 25 May 2012 22:12:32 +0000
Subject: [PATCH] Checkpoint local changes: add more attribute mapping support.
---
opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Utils.java | 15 ++++++++++-----
1 files changed, 10 insertions(+), 5 deletions(-)
diff --git a/opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Utils.java b/opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Utils.java
index e0cdf90..2446095 100644
--- a/opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Utils.java
+++ b/opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Utils.java
@@ -38,9 +38,10 @@
*/
final class Utils {
- private static final Function<ByteString, Object, Syntax> BYTESTRING_TO_JSON =
- new Function<ByteString, Object, Syntax>() {
- public Object apply(final ByteString value, final Syntax syntax) {
+ private static final Function<ByteString, Object, Attribute> BYTESTRING_TO_JSON =
+ new Function<ByteString, Object, Attribute>() {
+ public Object apply(final ByteString value, final Attribute a) {
+ Syntax syntax = a.getAttributeDescription().getAttributeType().getSyntax();
if (syntax.equals(getBooleanSyntax())) {
return Functions.byteStringToBoolean().apply(value, null);
} else if (syntax.equals(getIntegerSyntax())) {
@@ -72,9 +73,12 @@
}
}
+ static Function<ByteString, Object, Attribute> byteStringToJson() {
+ return BYTESTRING_TO_JSON;
+ }
+
static Object attributeToJson(Attribute a) {
- Syntax syntax = a.getAttributeDescription().getAttributeType().getSyntax();
- Function<ByteString, Object, Void> f = Functions.fixedFunction(BYTESTRING_TO_JSON, syntax);
+ Function<ByteString, Object, Void> f = Functions.fixedFunction(BYTESTRING_TO_JSON, a);
boolean isSingleValued = a.getAttributeDescription().getAttributeType().isSingleValue();
return isSingleValued ? a.parse().as(f) : asList(a.parse().asSetOf(f));
}
@@ -100,4 +104,5 @@
}
return object;
}
+
}
--
Gitblit v1.10.0