From 8a441f0c5003f4b87b9c2057de3e6e9e06f14607 Mon Sep 17 00:00:00 2001
From: Jean-Noel Rouvignac <jean-noel.rouvignac@forgerock.com>
Date: Tue, 26 Mar 2013 11:46:31 +0000
Subject: [PATCH] OPENDJ-832 Leverage the work queue for processing requests received on the HTTP connection handler
---
opendj3/opendj-server2x-adapter/src/main/java/org/forgerock/opendj/adapter/server2x/Converters.java | 237 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 232 insertions(+), 5 deletions(-)
diff --git a/opendj3/opendj-server2x-adapter/src/main/java/org/forgerock/opendj/adapter/server2x/StaticUtils.java b/opendj3/opendj-server2x-adapter/src/main/java/org/forgerock/opendj/adapter/server2x/Converters.java
similarity index 64%
rename from opendj3/opendj-server2x-adapter/src/main/java/org/forgerock/opendj/adapter/server2x/StaticUtils.java
rename to opendj3/opendj-server2x-adapter/src/main/java/org/forgerock/opendj/adapter/server2x/Converters.java
index f5fd78e..21e0bba 100644
--- a/opendj3/opendj-server2x-adapter/src/main/java/org/forgerock/opendj/adapter/server2x/StaticUtils.java
+++ b/opendj3/opendj-server2x-adapter/src/main/java/org/forgerock/opendj/adapter/server2x/Converters.java
@@ -62,27 +62,51 @@
/**
* Common utility methods.
*/
-final class StaticUtils {
+public final class Converters
+{
// Prevent instantiation.
- private StaticUtils() {
+ private Converters() {
throw new AssertionError();
}
+ /**
+ * Converts from OpenDJ LDAP SDK {@link DereferenceAliasesPolicy} to OpenDJ
+ * server {@link DereferencePolicy}.
+ *
+ * @param dereferenceAliasesPolicy
+ * value to convert
+ * @return the converted value
+ */
static final org.opends.server.types.DereferencePolicy to(
final DereferenceAliasesPolicy dereferenceAliasesPolicy) {
return DereferencePolicy.values()[dereferenceAliasesPolicy.intValue()];
}
+ /**
+ * Converts from OpenDJ LDAP SDK {@link DN} to OpenDJ server
+ * {@link org.opends.server.types.DN}.
+ *
+ * @param userDn
+ * value to convert
+ * @return the converted value
+ */
static final org.opends.server.types.DN to(final DN userDn) {
try {
return org.opends.server.types.DN.decode(userDn.toString());
} catch (Exception e) {
throw new IllegalStateException(e.getMessage());
}
-
}
+ /**
+ * Converts from OpenDJ LDAP SDK {@link ByteString} to OpenDJ server
+ * {@link org.opends.server.types.ByteString}.
+ *
+ * @param value
+ * value to convert
+ * @return the converted value
+ */
static final org.opends.server.types.ByteString to(ByteString value) {
if (value != null) {
return org.opends.server.types.ByteString.wrap(value.toByteArray());
@@ -90,11 +114,27 @@
return null;
}
+ /**
+ * Converts from OpenDJ LDAP SDK {@link org.forgerock.opendj.ldap.SearchScope}
+ * to OpenDJ server {@link org.opends.server.types.SearchScope}.
+ *
+ * @param searchScope
+ * value to convert
+ * @return the converted value
+ */
static final org.opends.server.types.SearchScope to(
final org.forgerock.opendj.ldap.SearchScope searchScope) {
return SearchScope.values()[searchScope.intValue()];
}
+ /**
+ * Converts from OpenDJ LDAP SDK {@link org.forgerock.opendj.ldap.Filter} to
+ * OpenDJ server {@link org.opends.server.types.RawFilter}.
+ *
+ * @param filter
+ * value to convert
+ * @return the converted value
+ */
static final org.opends.server.types.RawFilter to(final org.forgerock.opendj.ldap.Filter filter) {
org.opends.server.protocols.ldap.LDAPFilter ldapFilter = null;
try {
@@ -105,20 +145,54 @@
return ldapFilter;
}
+ /**
+ * Converts from OpenDJ LDAP SDK
+ * {@link org.forgerock.opendj.ldap.responses.SearchResultReference} to OpenDJ
+ * server {@link org.opends.server.types.SearchResultReference}.
+ *
+ * @param searchResultReference
+ * value to convert
+ * @return the converted value
+ */
static final org.opends.server.types.SearchResultReference to(
final org.forgerock.opendj.ldap.responses.SearchResultReference searchResultReference) {
return new SearchResultReference(searchResultReference.getURIs(), to(searchResultReference
.getControls()));
}
+ /**
+ * Converts from OpenDJ LDAP SDK {@link String} to OpenDJ server
+ * {@link org.opends.server.types.ByteString}.
+ *
+ * @param value
+ * value to convert
+ * @return the converted value
+ */
static final org.opends.server.types.ByteString to(final String value) {
return org.opends.server.types.ByteString.valueOf(value);
}
+ /**
+ * Converts from OpenDJ LDAP SDK {@link Control} to OpenDJ server
+ * {@link org.opends.server.protocols.ldap.LDAPControl}.
+ *
+ * @param control
+ * value to convert
+ * @return the converted value
+ */
static final org.opends.server.protocols.ldap.LDAPControl to(final Control control) {
return new LDAPControl(control.getOID(), control.isCritical(), to(control.getValue()));
}
+ /**
+ * Converts from a <code>List</code> of OpenDJ LDAP SDK
+ * {@link org.forgerock.opendj.ldap.controls.Control} to a <code>List</code>
+ * of OpenDJ server {@link org.opends.server.types.Control}.
+ *
+ * @param listOfControl
+ * value to convert
+ * @return the converted value
+ */
static final List<org.opends.server.types.Control> to(
final List<org.forgerock.opendj.ldap.controls.Control> listOfControl) {
List<org.opends.server.types.Control> toListofControl =
@@ -129,6 +203,14 @@
return toListofControl;
}
+ /**
+ * Converts from OpenDJ LDAP SDK {@link org.forgerock.opendj.ldap.Attribute}
+ * to OpenDJ server {@link org.opends.server.types.RawAttribute}.
+ *
+ * @param attribute
+ * value to convert
+ * @return the converted value
+ */
static final org.opends.server.types.RawAttribute to(
final org.forgerock.opendj.ldap.Attribute attribute) {
ArrayList<org.opends.server.types.ByteString> listAttributeValues =
@@ -141,6 +223,15 @@
return new LDAPAttribute(attribute.getAttributeDescriptionAsString(), listAttributeValues);
}
+ /**
+ * Converts from an <code>Iterable</code> of OpenDJ LDAP SDK
+ * {@link org.forgerock.opendj.ldap.Attribute} to a <code>List</code> of
+ * OpenDJ server {@link org.opends.server.types.RawAttribute}.
+ *
+ * @param listOfAttributes
+ * value to convert
+ * @return the converted value
+ */
static final List<org.opends.server.types.RawAttribute> to(
final Iterable<org.forgerock.opendj.ldap.Attribute> listOfAttributes) {
List<org.opends.server.types.RawAttribute> toListofAttributes =
@@ -152,12 +243,30 @@
return toListofAttributes;
}
+ /**
+ * Converts from OpenDJ LDAP SDK
+ * {@link org.forgerock.opendj.ldap.Modification} to OpenDJ server
+ * {@link org.opends.server.types.RawModification}.
+ *
+ * @param modification
+ * value to convert
+ * @return the converted value
+ */
static final org.opends.server.types.RawModification to(
final org.forgerock.opendj.ldap.Modification modification) {
return new LDAPModification(to(modification.getModificationType()), to(modification
.getAttribute()));
}
+ /**
+ * Converts from a <code>List</code> of OpenDJ LDAP SDK
+ * {@link org.forgerock.opendj.ldap.Modification} to a <code>List</code> of
+ * OpenDJ server {@link org.opends.server.types.RawModification}.
+ *
+ * @param listOfModifications
+ * value to convert
+ * @return the converted value
+ */
static final List<org.opends.server.types.RawModification> toModifications(
final List<org.forgerock.opendj.ldap.Modification> listOfModifications) {
List<org.opends.server.types.RawModification> toListofModifications =
@@ -168,11 +277,28 @@
return toListofModifications;
}
+ /**
+ * Converts from OpenDJ LDAP SDK
+ * {@link org.forgerock.opendj.ldap.ModificationType} to OpenDJ server
+ * {@link org.opends.server.types.ModificationType}.
+ *
+ * @param modificationType
+ * value to convert
+ * @return the converted value
+ */
static final org.opends.server.types.ModificationType to(
final org.forgerock.opendj.ldap.ModificationType modificationType) {
return ModificationType.values()[modificationType.intValue()];
}
+ /**
+ * Converts from OpenDJ server {@link org.opends.server.types.ByteString} to
+ * OpenDJ LDAP SDK {@link ByteString}.
+ *
+ * @param value
+ * value to convert
+ * @return the converted value
+ */
static final ByteString from(final org.opends.server.types.ByteString value) {
if (value != null) {
return ByteString.wrap(value.toByteArray());
@@ -180,11 +306,28 @@
return null;
}
+ /**
+ * Converts from OpenDJ server
+ * {@link org.opends.server.protocols.ldap.LDAPControl} to OpenDJ LDAP SDK
+ * {@link Control}.
+ *
+ * @param ldapControl
+ * value to convert
+ * @return the converted value
+ */
static final Control from(final org.opends.server.protocols.ldap.LDAPControl ldapControl) {
return GenericControl.newControl(ldapControl.getOID(), ldapControl.isCritical(),
from(ldapControl.getValue()));
}
+ /**
+ * Converts from OpenDJ server {@link org.opends.server.types.Control} to
+ * OpenDJ LDAP SDK {@link Control}.
+ *
+ * @param control
+ * value to convert
+ * @return the converted value
+ */
static final Control from(final org.opends.server.types.Control control) {
String oid = null;
@@ -207,8 +350,6 @@
try {
sdkReaderASN1.readStartSequence();
oid = sdkReaderASN1.readOctetStringAsString();
- isCritical = false;
- value = null;
if (sdkReaderASN1.hasNextElement()
&& (sdkReaderASN1.peekType() == org.forgerock.opendj.asn1.ASN1.UNIVERSAL_BOOLEAN_TYPE)) {
isCritical = sdkReaderASN1.readBoolean();
@@ -227,6 +368,15 @@
return GenericControl.newControl(oid, isCritical, value);
}
+ /**
+ * Converts from a <code>List</code> of OpenDJ server
+ * {@link org.opends.server.types.Control} to a <code>List</code> of OpenDJ
+ * LDAP SDK {@link org.forgerock.opendj.ldap.controls.Control}.
+ *
+ * @param listOfControl
+ * value to convert
+ * @return the converted value
+ */
static final List<org.forgerock.opendj.ldap.controls.Control> from(
final List<org.opends.server.types.Control> listOfControl) {
List<org.forgerock.opendj.ldap.controls.Control> fromListofControl =
@@ -237,11 +387,28 @@
return fromListofControl;
}
+ /**
+ * Converts from OpenDJ server
+ * {@link org.opends.server.types.SearchResultReference} to OpenDJ LDAP SDK
+ * {@link org.forgerock.opendj.ldap.responses.SearchResultReference}.
+ *
+ * @param srvResultReference
+ * value to convert
+ * @return the converted value
+ */
static final org.forgerock.opendj.ldap.responses.SearchResultReference from(
final org.opends.server.types.SearchResultReference srvResultReference) {
return Responses.newSearchResultReference(srvResultReference.getReferralURLString());
}
+ /**
+ * Converts from OpenDJ server {@link org.opends.server.types.Attribute} to
+ * OpenDJ LDAP SDK {@link org.forgerock.opendj.ldap.Attribute}.
+ *
+ * @param attribute
+ * value to convert
+ * @return the converted value
+ */
static final org.forgerock.opendj.ldap.Attribute from(
final org.opends.server.types.Attribute attribute) {
Attribute sdkAttribute = new LinkedAttribute(attribute.getNameWithOptions());
@@ -251,6 +418,15 @@
return sdkAttribute;
}
+ /**
+ * Converts from an <code>Iterable</code> of OpenDJ server
+ * {@link org.opends.server.types.Attribute} to a <code>List</code> of OpenDJ
+ * LDAP SDK {@link org.forgerock.opendj.ldap.Attribute}.
+ *
+ * @param listOfAttributes
+ * value to convert
+ * @return the converted value
+ */
static final List<org.forgerock.opendj.ldap.Attribute> from(
final Iterable<org.opends.server.types.Attribute> listOfAttributes) {
List<org.forgerock.opendj.ldap.Attribute> fromListofAttributes =
@@ -262,6 +438,15 @@
return fromListofAttributes;
}
+ /**
+ * Converts from OpenDJ server
+ * {@link org.opends.server.types.SearchResultEntry} to OpenDJ LDAP SDK
+ * {@link org.forgerock.opendj.ldap.responses.SearchResultEntry}.
+ *
+ * @param srvResultEntry
+ * value to convert
+ * @return the converted value
+ */
static final org.forgerock.opendj.ldap.responses.SearchResultEntry from(
final org.opends.server.types.SearchResultEntry srvResultEntry) {
@@ -282,6 +467,22 @@
return searchResultEntry;
}
+ /**
+ * Populates the result object with the operation details and return the
+ * result object if it was successful. Otherwise, it throws an
+ * {@link ErrorResultException}.
+ *
+ * @param <T>
+ * the type of the result object
+ * @param operation
+ * used to populate the result
+ * @param result
+ * the result object to populate from the Operation
+ * @return the result if successful, an {@link ErrorResultException} is thrown
+ * otherwise
+ * @throws ErrorResultException
+ * when an error occurs
+ */
static final <T extends Result> T getResponseResult(final Operation operation, final T result)
throws ErrorResultException {
if (operation.getReferralURLs() != null) {
@@ -305,15 +506,41 @@
}
}
+ /**
+ * Converts the OpenDJ server {@link Operation} object into an OpenDJ LDAP SDK
+ * {@link Result} object.
+ *
+ * @param operation
+ * value to convert
+ * @return the converted value
+ * @throws ErrorResultException
+ * when an error occurs
+ */
static final Result getResponseResult(final Operation operation) throws ErrorResultException {
Result result = Responses.newResult(getResultCode(operation));
return getResponseResult(operation, result);
}
+ /**
+ * Returns the OpenDJ LDAP SDK {@link ResultCode} extracted out of the OpenDJ
+ * server {@link Operation}.
+ *
+ * @param operation
+ * value to convert
+ * @return the converted value
+ */
static final ResultCode getResultCode(final Operation operation) {
return ResultCode.valueOf(operation.getResultCode().getIntValue());
}
+ /**
+ * Converts from <code>byte[]</code> to OpenDJ server
+ * {@link org.opends.server.types.ByteString}.
+ *
+ * @param authenticationValue
+ * value to convert
+ * @return the converted value
+ */
static final org.opends.server.types.ByteString getCredentials(final byte[] authenticationValue) {
final org.opends.server.protocols.asn1.ASN1Reader reader =
ASN1.getReader(authenticationValue);
--
Gitblit v1.10.0