From e4c0edea06c8fee28369f03f393b7d54b2b6235c Mon Sep 17 00:00:00 2001
From: Jean-Noël Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Fri, 16 Sep 2016 13:25:06 +0000
Subject: [PATCH] OPENDJ-3246 Return the CREST descriptor over REST for rest2ldap endpoints
---
opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Rest2LdapHttpApplication.java | 27 ++++++++++++++++++++++++++-
1 files changed, 26 insertions(+), 1 deletions(-)
diff --git a/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Rest2LdapHttpApplication.java b/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Rest2LdapHttpApplication.java
index fd5ac89..2afe7d0 100644
--- a/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Rest2LdapHttpApplication.java
+++ b/opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/Rest2LdapHttpApplication.java
@@ -22,7 +22,6 @@
import static org.forgerock.json.JsonValueFunctions.duration;
import static org.forgerock.json.JsonValueFunctions.enumConstant;
import static org.forgerock.json.JsonValueFunctions.setOf;
-import static org.forgerock.json.resource.http.CrestHttp.newHttpHandler;
import static org.forgerock.opendj.ldap.KeyManagers.useSingleCertificate;
import static org.forgerock.opendj.rest2ldap.Rest2LdapJsonConfigurator.*;
import static org.forgerock.opendj.rest2ldap.Rest2ldapMessages.*;
@@ -69,7 +68,10 @@
import org.forgerock.i18n.LocalizedIllegalArgumentException;
import org.forgerock.i18n.slf4j.LocalizedLogger;
import org.forgerock.json.JsonValue;
+import org.forgerock.json.resource.CrestApplication;
import org.forgerock.json.resource.RequestHandler;
+import org.forgerock.json.resource.Resources;
+import org.forgerock.json.resource.http.CrestHttp;
import org.forgerock.opendj.ldap.Connection;
import org.forgerock.opendj.ldap.ConnectionFactory;
import org.forgerock.opendj.ldap.DN;
@@ -94,6 +96,8 @@
import org.forgerock.util.time.Duration;
import org.forgerock.util.time.TimeService;
+import com.forgerock.opendj.util.ManifestUtil;
+
/** Rest2ldap HTTP application. */
public class Rest2LdapHttpApplication implements HttpApplication {
private static final String DEFAULT_ROOT_FACTORY = "root";
@@ -231,6 +235,27 @@
return configureEndpoints(endpointsDirectory, options);
}
+ private static Handler newHttpHandler(final RequestHandler requestHandler) {
+ final org.forgerock.json.resource.ConnectionFactory factory =
+ Resources.newInternalConnectionFactory(requestHandler);
+ return CrestHttp.newHttpHandler(new CrestApplication() {
+ @Override
+ public org.forgerock.json.resource.ConnectionFactory getConnectionFactory() {
+ return factory;
+ }
+
+ @Override
+ public String getApiId() {
+ return "frapi:opendj:rest2ldap";
+ }
+
+ @Override
+ public String getApiVersion() {
+ return ManifestUtil.getVersionWithRevision("opendj-core");
+ }
+ });
+ }
+
private void configureSecurity(final JsonValue configuration) {
trustManager = configureTrustManager(configuration);
keyManager = configureKeyManager(configuration);
--
Gitblit v1.10.0