From b29370429ba8360cbc0c048db95c80f3fae88c15 Mon Sep 17 00:00:00 2001
From: Fabio Pistolesi <fabio.pistolesi@forgerock.com>
Date: Fri, 16 Sep 2016 08:23:23 +0000
Subject: [PATCH] Cache ldap specific object when building CAUD events.

---
 opendj-server-legacy/src/main/java/org/opends/server/loggers/OpenDJAccessEventBuilder.java |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/opendj-server-legacy/src/main/java/org/opends/server/loggers/OpenDJAccessEventBuilder.java b/opendj-server-legacy/src/main/java/org/opends/server/loggers/OpenDJAccessEventBuilder.java
index 8da4071..47f2371 100644
--- a/opendj-server-legacy/src/main/java/org/opends/server/loggers/OpenDJAccessEventBuilder.java
+++ b/opendj-server-legacy/src/main/java/org/opends/server/loggers/OpenDJAccessEventBuilder.java
@@ -44,6 +44,9 @@
 class OpenDJAccessAuditEventBuilder<T extends OpenDJAccessAuditEventBuilder<T>> extends AccessAuditEventBuilder<T>
 {
 
+  private static final String LDAP_VALUE_KEY = "ldap";
+  private JsonValue ldapValue;
+
   private OpenDJAccessAuditEventBuilder()
   {
     super();
@@ -247,10 +250,11 @@
 
   private JsonValue getLdapValue()
   {
-    if (!jsonValue.isDefined("ldap"))
+    if (ldapValue == null)
     {
-      jsonValue.put("ldap", object());
+      jsonValue.put(LDAP_VALUE_KEY, object());
+      ldapValue = jsonValue.get(LDAP_VALUE_KEY);
     }
-    return jsonValue.get("ldap");
+    return ldapValue;
   }
 }

--
Gitblit v1.10.0