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