From fb7bab895bca6c06521b4371ff67523d4b1941ba Mon Sep 17 00:00:00 2001
From: Matthew Swift <matthew.swift@forgerock.com>
Date: Thu, 23 Jun 2016 00:21:25 +0000
Subject: [PATCH] OPENDJ-3036 Fix inconsistent field naming in Rest2Ldap config files

---
 opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Rest2LdapJsonConfigurator.java |   50 +++++++++++++++-----------------------------------
 1 files changed, 15 insertions(+), 35 deletions(-)

diff --git a/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Rest2LdapJsonConfigurator.java b/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Rest2LdapJsonConfigurator.java
index 33d9d44..f67ee7d 100644
--- a/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Rest2LdapJsonConfigurator.java
+++ b/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Rest2LdapJsonConfigurator.java
@@ -356,25 +356,7 @@
     }
 
     private static WritabilityPolicy parseWritability(final JsonValue mapper) {
-        if (mapper.isDefined("writability")) {
-            final String writability = mapper.get("writability").asString();
-            if (writability.equalsIgnoreCase("readOnly")) {
-                return WritabilityPolicy.READ_ONLY;
-            } else if (writability.equalsIgnoreCase("readOnlyDiscardWrites")) {
-                return WritabilityPolicy.READ_ONLY_DISCARD_WRITES;
-            } else if (writability.equalsIgnoreCase("createOnly")) {
-                return WritabilityPolicy.CREATE_ONLY;
-            } else if (writability.equalsIgnoreCase("createOnlyDiscardWrites")) {
-                return WritabilityPolicy.CREATE_ONLY_DISCARD_WRITES;
-            } else if (writability.equalsIgnoreCase("readWrite")) {
-                return WritabilityPolicy.READ_WRITE;
-            } else {
-                throw newJsonValueException(mapper, ERR_CONFIG_UNKNOWN_WRITABILITY.get(writability,
-                            "readOnly, readOnlyDiscardWrites, createOnly, createOnlyDiscardWrites, readWrite"));
-            }
-        } else {
-            return WritabilityPolicy.READ_WRITE;
-        }
+        return mapper.get("writability").defaultTo("readWrite").as(enumConstant(WritabilityPolicy.class));
     }
 
     /** Indicates whether LDAP client connections should use SSL or StartTLS. */
@@ -384,7 +366,7 @@
     private enum TrustManagerType { TRUSTALL, JVM, FILE }
 
     /** Specifies the type of key-store to use when performing SSL client authentication. */
-    private enum KeyManagerType { JVM, KEYSTORE, PKCS11 }
+    private enum KeyManagerType { JVM, FILE, PKCS11 }
 
     /**
      * Configures a {@link X509KeyManager} using the provided JSON configuration.
@@ -410,20 +392,18 @@
         switch (keyManagerType) {
         case JVM:
             return useJvmDefaultKeyStore();
-        case KEYSTORE:
-            final String fileName = config.get("keyStoreFile").required().asString();
-            final String passwordFile = config.get("keyStorePasswordFile").asString();
+        case FILE:
+            final String fileName = config.get("fileBasedKeyManagerFile").required().asString();
+            final String passwordFile = config.get("fileBasedKeyManagerPasswordFile").asString();
             final String password = passwordFile != null
-                    ? readPasswordFromFile(passwordFile)
-                    : config.get("keyStorePassword").asString();
-            final String format = config.get("keyStoreFormat").asString();
-            final String provider = config.get("keyStoreProvider").asString();
-            return useKeyStoreFile(fileName, password != null ? password.toCharArray() : null, format, provider);
+                    ? readPasswordFromFile(passwordFile) : config.get("fileBasedKeyManagerPassword").asString();
+            final String type = config.get("fileBasedKeyManagerType").asString();
+            final String provider = config.get("fileBasedKeyManagerProvider").asString();
+            return useKeyStoreFile(fileName, password != null ? password.toCharArray() : null, type, provider);
         case PKCS11:
-            final String pkcs11PasswordFile = config.get("pkcs11PasswordFile").asString();
+            final String pkcs11PasswordFile = config.get("pkcs11KeyManagerPasswordFile").asString();
             return usePKCS11Token(pkcs11PasswordFile != null
-                                          ? readPasswordFromFile(pkcs11PasswordFile).toCharArray()
-                                          : null);
+                                          ? readPasswordFromFile(pkcs11PasswordFile).toCharArray() : null);
         default:
             throw new IllegalArgumentException("Unsupported key-manager type: " + keyManagerType);
         }
@@ -555,7 +535,7 @@
             if (authn.isDefined("simple")) {
                 final JsonValue simple = authn.get("simple");
                 final BindRequest bindRequest =
-                        Requests.newSimpleBindRequest(simple.get("bindDN").required().asString(),
+                        Requests.newSimpleBindRequest(simple.get("bindDn").required().asString(),
                                                       simple.get("bindPassword").required().asString().toCharArray());
                 options.set(AUTHN_BIND_REQUEST, bindRequest);
             } else {
@@ -585,14 +565,14 @@
         }
 
         // Parse primary data center.
-        final JsonValue primaryLdapServers = configuration.get("primaryLDAPServers");
+        final JsonValue primaryLdapServers = configuration.get("primaryLdapServers");
         if (!primaryLdapServers.isList() || primaryLdapServers.size() == 0) {
-            throw new IllegalArgumentException("No primaryLDAPServers");
+            throw new IllegalArgumentException("No primaryLdapServers");
         }
         final ConnectionFactory primary = parseLdapServers(primaryLdapServers, connectionPoolSize, options);
 
         // Parse secondary data center(s).
-        final JsonValue secondaryLdapServers = configuration.get("secondaryLDAPServers");
+        final JsonValue secondaryLdapServers = configuration.get("secondaryLdapServers");
         ConnectionFactory secondary = null;
         if (secondaryLdapServers.isList()) {
             if (secondaryLdapServers.size() > 0) {

--
Gitblit v1.10.0