From 139d572584d8fe12a0f1bee2f3aeb73710685bbe Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Mon, 22 Oct 2012 14:52:18 +0000
Subject: [PATCH] Minor fixes for query processing.
---
opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/SimpleAttributeMapper.java | 5 +++--
opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/CompositeAttributeMapper.java | 6 ++++--
opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/LDAPCollectionResourceProvider.java | 2 +-
opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/ConstantAttributeMapper.java | 4 +---
4 files changed, 9 insertions(+), 8 deletions(-)
diff --git a/opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/CompositeAttributeMapper.java b/opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/CompositeAttributeMapper.java
index bef1872..af135f6 100644
--- a/opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/CompositeAttributeMapper.java
+++ b/opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/CompositeAttributeMapper.java
@@ -86,8 +86,10 @@
}
public void handleResult(final Map<String, Object> result) {
- synchronized (this) {
- results.add(result);
+ if (result != null && !result.isEmpty()) {
+ synchronized (this) {
+ results.add(result);
+ }
}
if (latch.decrementAndGet() == 0) {
final Map<String, Object> mergeResult;
diff --git a/opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/ConstantAttributeMapper.java b/opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/ConstantAttributeMapper.java
index 5a2b251..9b281e8 100644
--- a/opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/ConstantAttributeMapper.java
+++ b/opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/ConstantAttributeMapper.java
@@ -63,9 +63,7 @@
public void toJson(final ServerContext c, final Entry e,
final ResultHandler<Map<String, Object>> h) {
// FIXME: how do we know if the user requested it???
- final Map<String, Object> result = Collections.singletonMap(jsonAttributeName,
- jsonAttributeValue);
- h.handleResult(result);
+ h.handleResult(Collections.singletonMap(jsonAttributeName, jsonAttributeValue));
}
diff --git a/opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/LDAPCollectionResourceProvider.java b/opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/LDAPCollectionResourceProvider.java
index d5b2f67..2780f00 100644
--- a/opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/LDAPCollectionResourceProvider.java
+++ b/opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/LDAPCollectionResourceProvider.java
@@ -127,7 +127,7 @@
final ResourceException result = pendingResult.get();
if (result != null && resultSent.compareAndSet(false, true)) {
if (result == SUCCESS) {
- handler.handleResult(null);
+ handler.handleResult(new QueryResult());
} else {
handler.handleError(result);
}
diff --git a/opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/SimpleAttributeMapper.java b/opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/SimpleAttributeMapper.java
index 214950b..264c7cd 100644
--- a/opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/SimpleAttributeMapper.java
+++ b/opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/SimpleAttributeMapper.java
@@ -107,8 +107,9 @@
} else {
value = a.parse().asSetOf(f, defaultValue);
}
- final Map<String, Object> result = Collections.singletonMap(jsonAttributeName, value);
- h.handleResult(result);
+ h.handleResult(Collections.singletonMap(jsonAttributeName, value));
+ } else {
+ h.handleResult(null);
}
}
--
Gitblit v1.10.0