From 5f2a1a2a913c0c28738cf59891fdb32a8e3eb898 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Tue, 18 Jun 2013 12:45:52 +0000
Subject: [PATCH] OPENDJ-993 Unexpected error during validation of the servlet configuration file (default conf file) OPENDJ-960 Rest2LDAP - Validate http-config.json file 

---
 opendj-sdk/opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Rest2LDAP.java                                          |    9 ++-------
 opendj-sdk/opendj3/opendj-rest2ldap-servlet/src/main/java/org/forgerock/opendj/rest2ldap/servlet/Rest2LDAPAuthnFilter.java               |    5 +----
 opendj-sdk/opendj3/opendj-rest2ldap-servlet/src/main/java/org/forgerock/opendj/rest2ldap/servlet/Rest2LDAPConnectionFactoryProvider.java |    6 +-----
 3 files changed, 4 insertions(+), 16 deletions(-)

diff --git a/opendj-sdk/opendj3/opendj-rest2ldap-servlet/src/main/java/org/forgerock/opendj/rest2ldap/servlet/Rest2LDAPAuthnFilter.java b/opendj-sdk/opendj3/opendj-rest2ldap-servlet/src/main/java/org/forgerock/opendj/rest2ldap/servlet/Rest2LDAPAuthnFilter.java
index a656b0b..6e6fbd5 100644
--- a/opendj-sdk/opendj3/opendj-rest2ldap-servlet/src/main/java/org/forgerock/opendj/rest2ldap/servlet/Rest2LDAPAuthnFilter.java
+++ b/opendj-sdk/opendj3/opendj-rest2ldap-servlet/src/main/java/org/forgerock/opendj/rest2ldap/servlet/Rest2LDAPAuthnFilter.java
@@ -318,7 +318,7 @@
             }
 
             // Parse the authentication configuration.
-            final JsonValue configuration = new JsonValue(content).recordKeyAccesses();
+            final JsonValue configuration = new JsonValue(content);
             final JsonValue authnConfig = configuration.get("authenticationFilter");
             if (!authnConfig.isNull()) {
                 supportHTTPBasicAuthentication =
@@ -373,9 +373,6 @@
                 bindLDAPConnectionFactory =
                         Rest2LDAP.configureConnectionFactory(configuration.get(
                                 "ldapConnectionFactories").required(), ldapFactoryName);
-                // we are now done reading the config
-                configuration.verifyAllKeysAccessed();
-
 
                 // Set the completion handler factory based on the Servlet API version.
                 syncFactory = ServletApiVersionAdapter.getInstance(config.getServletContext());
diff --git a/opendj-sdk/opendj3/opendj-rest2ldap-servlet/src/main/java/org/forgerock/opendj/rest2ldap/servlet/Rest2LDAPConnectionFactoryProvider.java b/opendj-sdk/opendj3/opendj-rest2ldap-servlet/src/main/java/org/forgerock/opendj/rest2ldap/servlet/Rest2LDAPConnectionFactoryProvider.java
index 81bd017..c20f861 100644
--- a/opendj-sdk/opendj3/opendj-rest2ldap-servlet/src/main/java/org/forgerock/opendj/rest2ldap/servlet/Rest2LDAPConnectionFactoryProvider.java
+++ b/opendj-sdk/opendj3/opendj-rest2ldap-servlet/src/main/java/org/forgerock/opendj/rest2ldap/servlet/Rest2LDAPConnectionFactoryProvider.java
@@ -83,7 +83,7 @@
                 throw new ServletException("Servlet configuration file '" + configFileName
                         + "' does not contain a valid JSON configuration");
             }
-            final JsonValue configuration = new JsonValue(content).recordKeyAccesses();
+            final JsonValue configuration = new JsonValue(content);
 
             // Parse the authorization configuration.
             final AuthorizationPolicy authzPolicy =
@@ -115,10 +115,6 @@
                                 .configureMapping(mapping).build();
                 router.addRoute(mappingUrl, provider);
             }
-            // we are now done reading the config
-            configuration.verifyAllKeysAccessed();
-
-
             final ConnectionFactory factory = newInternalConnectionFactory(router);
             if (ldapFactory != null) {
                 /*
diff --git a/opendj-sdk/opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Rest2LDAP.java b/opendj-sdk/opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Rest2LDAP.java
index 2c5af8a..3ba3d1a 100644
--- a/opendj-sdk/opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Rest2LDAP.java
+++ b/opendj-sdk/opendj3/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Rest2LDAP.java
@@ -575,16 +575,11 @@
      * @throws IllegalArgumentException
      *             If the configuration is invalid.
      */
-    public static ConnectionFactory configureConnectionFactory(JsonValue configuration,
+    public static ConnectionFactory configureConnectionFactory(final JsonValue configuration,
             final String name) {
-        configuration = configuration.recordKeyAccesses();
         final JsonValue normalizedConfiguration =
                 normalizeConnectionFactory(configuration, name, 0);
-        final ConnectionFactory connectionFactory =
-            configureConnectionFactory(normalizedConfiguration);
-        // we are now done reading the config
-        configuration.verifyAllKeysAccessed();
-        return connectionFactory;
+        return configureConnectionFactory(normalizedConfiguration);
     }
 
     public static AttributeMapper constant(final Object value) {

--
Gitblit v1.10.0