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/AbstractLdapPropertyMapper.java
@@ -18,6 +18,8 @@
import static org.forgerock.opendj.rest2ldap.Rest2ldapMessages.*;
import static java.util.Collections.emptyList;
import static java.util.Collections.singletonList;
import static org.forgerock.api.enums.WritePolicy.WRITE_ON_CREATE;
import static org.forgerock.opendj.ldap.Attributes.emptyAttribute;
import static org.forgerock.opendj.rest2ldap.Rest2Ldap.asResourceException;
import static org.forgerock.opendj.rest2ldap.Utils.isNullOrEmpty;
@@ -85,6 +87,16 @@
        return getThis();
    }
    @Override
    boolean isRequired() {
        return isRequired;
    }
    @Override
    boolean isMultiValued() {
        return isMultiValued;
    }
    /**
     * Indicates whether the LDAP attribute supports updates. The default is {@link WritabilityPolicy#READ_WRITE}.
     *
@@ -351,4 +363,24 @@
        }
    }
    void putWritabilityProperties(JsonValue jsonSchema) {
        switch (writabilityPolicy != null ? writabilityPolicy : WritabilityPolicy.READ_WRITE) {
        case CREATE_ONLY:
            jsonSchema.put("writePolicy", WRITE_ON_CREATE.toString());
            jsonSchema.put("errorOnWritePolicyFailure", true);
            break;
        case CREATE_ONLY_DISCARD_WRITES:
            jsonSchema.put("writePolicy", WRITE_ON_CREATE.toString());
            break;
        case READ_ONLY:
            jsonSchema.put("readOnly", true);
            jsonSchema.put("errorOnWritePolicyFailure", true);
            break;
        case READ_ONLY_DISCARD_WRITES:
            jsonSchema.put("readOnly", true);
            break;
        default:
            break;
        }
    }
}