mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Jean-Noël Rouvignac
29.48.2016 e4c0edea06c8fee28369f03f393b7d54b2b6235c
opendj-rest2ldap/src/main/java/org/forgerock/opendj/rest2ldap/ReferencePropertyMapper.java
@@ -15,14 +15,15 @@
 */
package org.forgerock.opendj.rest2ldap;
import static org.forgerock.json.JsonValue.*;
import static org.forgerock.opendj.ldap.ResultCode.ADMIN_LIMIT_EXCEEDED;
import static org.forgerock.opendj.rest2ldap.Rest2ldapMessages.*;
import static org.forgerock.opendj.ldap.LdapException.newLdapException;
import static org.forgerock.opendj.ldap.requests.Requests.newSearchRequest;
import static org.forgerock.opendj.rest2ldap.Rest2Ldap.asResourceException;
import static org.forgerock.opendj.rest2ldap.Rest2ldapMessages.*;
import static org.forgerock.opendj.rest2ldap.Utils.connectionFrom;
import static org.forgerock.util.Reject.checkNotNull;
import static org.forgerock.opendj.rest2ldap.Utils.newBadRequestException;
import static org.forgerock.util.Reject.checkNotNull;
import static org.forgerock.util.promise.Promises.newResultPromise;
import java.util.ArrayList;
@@ -67,9 +68,7 @@
 * valued LDAP attribute.
 */
public final class ReferencePropertyMapper extends AbstractLdapPropertyMapper<ReferencePropertyMapper> {
    /**
     * The maximum number of candidate references to allow in search filters.
     */
    /** The maximum number of candidate references to allow in search filters. */
    private static final int SEARCH_MAX_CANDIDATES = 1000;
    private final DnTemplate baseDnTemplate;
@@ -358,4 +357,16 @@
                    }
                });
    }
    @Override
    JsonValue toJsonSchema() {
        if (mapper.isMultiValued()) {
            final JsonValue jsonSchema = json(object(field("type", "array")));
            jsonSchema.put("items", mapper.toJsonSchema());
            jsonSchema.put("uniqueItems", true);
            putWritabilityProperties(jsonSchema);
            return jsonSchema;
        }
        return mapper.toJsonSchema();
    }
}