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/DefaultAttributeMapper.java | 19 ++++++++++++++-----
1 files changed, 14 insertions(+), 5 deletions(-)
diff --git a/opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/DefaultAttributeMapper.java b/opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/DefaultAttributeMapper.java
index 6b363b7..45f5ead 100644
--- a/opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/DefaultAttributeMapper.java
+++ b/opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/DefaultAttributeMapper.java
@@ -67,14 +67,23 @@
}
}
- public void getLDAPAttributes(Set<String> ldapAttributes, JsonPointer resourceAttribute) {
- String name = resourceAttribute.leaf();
- if (name != null) {
+ public void getLDAPAttributes(JsonPointer jsonAttribute, Set<String> ldapAttributes) {
+ switch (jsonAttribute.size()) {
+ case 0:
+ // Requested everything.
+ if (!includedAttributes.isEmpty()) {
+ ldapAttributes.addAll(includedAttributes.values());
+ } else {
+ // All user attributes.
+ ldapAttributes.add("*");
+ }
+ break;
+ default:
+ String name = jsonAttribute.get(0);
if (isIncludedAttribute(name)) {
ldapAttributes.add(name);
- } else {
- // FIXME: log something or return a ResourceException?
}
+ break;
}
}
--
Gitblit v1.10.0