From 5100085273f41f4cdb2d839e2d95b43503ba4f1d Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Fri, 05 Jul 2013 21:44:21 +0000
Subject: [PATCH] Backport fix for OPENDJ-1044: Doing a PUT with JSON data identical to what is on the server results in 400 status code

---
 opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Utils.java |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Utils.java b/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Utils.java
index 3558ac3..987edf2 100644
--- a/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Utils.java
+++ b/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Utils.java
@@ -64,12 +64,16 @@
         private final List<V> results;
 
         private AccumulatingResultHandler(final int size, final ResultHandler<List<V>> handler) {
-            if (size <= 0) {
+            if (size < 0) {
                 throw new IllegalStateException();
             }
             this.latch = new AtomicInteger(size);
             this.results = new ArrayList<V>(size);
             this.handler = handler;
+            if (size == 0) {
+                // Invoke immediately.
+                handler.handleResult(results);
+            }
         }
 
         @Override

--
Gitblit v1.10.0