Search in sources :

Example 1 with Dn

use of org.apache.directory.api.ldap.model.name.Dn in project jackrabbit-oak by apache.

the class AbstractServer method loadLdif.

protected List<LdifEntry> loadLdif(LdifReader ldifReader) throws Exception {
    List<LdifEntry> entries = new ArrayList<LdifEntry>();
    for (LdifEntry ldifEntry : ldifReader) {
        Dn dn = ldifEntry.getDn();
        if (ldifEntry.isEntry()) {
            org.apache.directory.api.ldap.model.entry.Entry items = ldifEntry.getEntry();
            rootDSE.add(new DefaultEntry(directoryService.getSchemaManager(), items));
            LOG.info("Added entry {}", dn);
            entries.add(ldifEntry);
        }
    }
    return entries;
}
Also used : ArrayList(java.util.ArrayList) DefaultEntry(org.apache.directory.api.ldap.model.entry.DefaultEntry) Dn(org.apache.directory.api.ldap.model.name.Dn) Entry(org.apache.directory.api.ldap.model.entry.Entry) LdifEntry(org.apache.directory.api.ldap.model.ldif.LdifEntry)

Example 2 with Dn

use of org.apache.directory.api.ldap.model.name.Dn in project knox by apache.

the class SimpleLdapDirectoryServer method enabledPosixSchema.

private static void enabledPosixSchema(DirectoryService service) throws LdapException {
    service.getSchemaManager().getLoadedSchema("nis").enable();
    service.getAdminSession().modify(new Dn("cn=nis,ou=schema"), new DefaultModification(ModificationOperation.REPLACE_ATTRIBUTE, "m-disabled", "FALSE"));
}
Also used : DefaultModification(org.apache.directory.api.ldap.model.entry.DefaultModification) Dn(org.apache.directory.api.ldap.model.name.Dn)

Example 3 with Dn

use of org.apache.directory.api.ldap.model.name.Dn in project ldapchai by ldapchai.

the class ApacheLdapProviderImpl method writeStringAttributes.

public void writeStringAttributes(final String entryDN, final Map<String, String> attributeValueProps, final boolean overwrite) throws ChaiOperationException, ChaiUnavailableException, IllegalStateException {
    activityPreCheck();
    getInputValidator().writeStringAttributes(entryDN, attributeValueProps, overwrite);
    try {
        final ModifyRequest modifyRequest = new ModifyRequestImpl();
        modifyRequest.setName(new Dn(entryDN));
        for (final Map.Entry<String, String> entry : attributeValueProps.entrySet()) {
            final String name = entry.getKey();
            final String value = entry.getValue();
            final Modification modification = new DefaultModification();
            modification.setOperation(overwrite ? ModificationOperation.REPLACE_ATTRIBUTE : ModificationOperation.ADD_ATTRIBUTE);
            modification.setAttribute(new DefaultAttribute(name, value));
            modifyRequest.addModification(modification);
        }
        final ModifyResponse response = connection.modify(modifyRequest);
        processResponse(response);
    } catch (LdapException e) {
        throw ChaiOperationException.forErrorMessage(e.getMessage());
    }
}
Also used : DefaultModification(org.apache.directory.api.ldap.model.entry.DefaultModification) Modification(org.apache.directory.api.ldap.model.entry.Modification) ModifyRequestImpl(org.apache.directory.api.ldap.model.message.ModifyRequestImpl) DefaultModification(org.apache.directory.api.ldap.model.entry.DefaultModification) Dn(org.apache.directory.api.ldap.model.name.Dn) ModifyRequest(org.apache.directory.api.ldap.model.message.ModifyRequest) DefaultAttribute(org.apache.directory.api.ldap.model.entry.DefaultAttribute) Map(java.util.Map) HashMap(java.util.HashMap) LinkedHashMap(java.util.LinkedHashMap) LdapException(org.apache.directory.api.ldap.model.exception.LdapException) ModifyResponse(org.apache.directory.api.ldap.model.message.ModifyResponse)

Example 4 with Dn

use of org.apache.directory.api.ldap.model.name.Dn in project ldapchai by ldapchai.

the class ApacheLdapProviderImpl method replaceAttributeImpl.

private void replaceAttributeImpl(final String entryDN, final String attributeName, final Value oldValue, final Value newValue) throws ChaiOperationException {
    try {
        final ModifyRequest modifyRequest = new ModifyRequestImpl();
        modifyRequest.setName(new Dn(entryDN));
        {
            final Modification modification = new DefaultModification();
            modification.setOperation(ModificationOperation.REMOVE_ATTRIBUTE);
            modification.setAttribute(new DefaultAttribute(attributeName, oldValue));
            modifyRequest.addModification(modification);
        }
        {
            final Modification modification = new DefaultModification();
            modification.setOperation(ModificationOperation.ADD_ATTRIBUTE);
            modification.setAttribute(new DefaultAttribute(attributeName, newValue));
            modifyRequest.addModification(modification);
        }
        final ModifyResponse response = connection.modify(modifyRequest);
        processResponse(response);
    } catch (LdapException e) {
        throw ChaiOperationException.forErrorMessage(e.getMessage());
    }
}
Also used : DefaultModification(org.apache.directory.api.ldap.model.entry.DefaultModification) Modification(org.apache.directory.api.ldap.model.entry.Modification) ModifyRequestImpl(org.apache.directory.api.ldap.model.message.ModifyRequestImpl) DefaultModification(org.apache.directory.api.ldap.model.entry.DefaultModification) Dn(org.apache.directory.api.ldap.model.name.Dn) ModifyRequest(org.apache.directory.api.ldap.model.message.ModifyRequest) DefaultAttribute(org.apache.directory.api.ldap.model.entry.DefaultAttribute) LdapException(org.apache.directory.api.ldap.model.exception.LdapException) ModifyResponse(org.apache.directory.api.ldap.model.message.ModifyResponse)

Example 5 with Dn

use of org.apache.directory.api.ldap.model.name.Dn in project ldapchai by ldapchai.

the class ApacheLdapProviderImpl method searchImpl.

private Map<String, Map<String, List<String>>> searchImpl(final String baseDN, final SearchHelper searchHelper, final boolean multivalued) throws ChaiUnavailableException, ChaiOperationException {
    try {
        final SearchRequest searchRequest = new SearchRequestImpl();
        searchRequest.setBase(new Dn(baseDN));
        searchRequest.setFilter(searchHelper.getFilter());
        searchRequest.setScope(figureSearchScope(searchHelper.getSearchScope()));
        searchRequest.setSizeLimit(searchHelper.getMaxResults());
        searchRequest.setTimeLimit(searchHelper.getTimeLimit());
        final SearchCursor searchCursor = connection.search(searchRequest);
        final Map<String, Map<String, List<String>>> returnObj = new LinkedHashMap<String, Map<String, List<String>>>();
        while (searchCursor.next()) {
            final Entry entry = searchCursor.getEntry();
            final String dnValue = entry.getDn().getName();
            final Map<String, List<String>> entryMap = new HashMap<String, List<String>>();
            for (Attribute returnAttr : entry) {
                final String attrName = returnAttr.getId();
                final List<String> valueList = new ArrayList<String>();
                if (multivalued) {
                    for (Value value : returnAttr) {
                        valueList.add(value.getString());
                    }
                } else {
                    final String value = returnAttr.iterator().next().getString();
                    valueList.add(value);
                }
                entryMap.put(attrName, Collections.unmodifiableList(valueList));
            }
            returnObj.put(dnValue, Collections.unmodifiableMap(entryMap));
        }
        return Collections.unmodifiableMap(returnObj);
    } catch (CursorException e) {
        throw ChaiOperationException.forErrorMessage(e.getMessage());
    } catch (LdapException e) {
        throw ChaiOperationException.forErrorMessage(e.getMessage());
    }
}
Also used : SearchRequest(org.apache.directory.api.ldap.model.message.SearchRequest) HashMap(java.util.HashMap) LinkedHashMap(java.util.LinkedHashMap) DefaultAttribute(org.apache.directory.api.ldap.model.entry.DefaultAttribute) Attribute(org.apache.directory.api.ldap.model.entry.Attribute) ArrayList(java.util.ArrayList) SearchRequestImpl(org.apache.directory.api.ldap.model.message.SearchRequestImpl) SearchCursor(org.apache.directory.api.ldap.model.cursor.SearchCursor) Dn(org.apache.directory.api.ldap.model.name.Dn) LinkedHashMap(java.util.LinkedHashMap) DefaultEntry(org.apache.directory.api.ldap.model.entry.DefaultEntry) Entry(org.apache.directory.api.ldap.model.entry.Entry) CursorException(org.apache.directory.api.ldap.model.cursor.CursorException) BinaryValue(org.apache.directory.api.ldap.model.entry.BinaryValue) Value(org.apache.directory.api.ldap.model.entry.Value) StringValue(org.apache.directory.api.ldap.model.entry.StringValue) List(java.util.List) ArrayList(java.util.ArrayList) Map(java.util.Map) HashMap(java.util.HashMap) LinkedHashMap(java.util.LinkedHashMap) LdapException(org.apache.directory.api.ldap.model.exception.LdapException)

Aggregations

Dn (org.apache.directory.api.ldap.model.name.Dn)307 Test (org.junit.Test)183 Rdn (org.apache.directory.api.ldap.model.name.Rdn)63 LdifEntry (org.apache.directory.api.ldap.model.ldif.LdifEntry)50 LdapException (org.apache.directory.api.ldap.model.exception.LdapException)39 Entry (org.apache.directory.api.ldap.model.entry.Entry)34 DnNode (org.apache.directory.api.ldap.util.tree.DnNode)30 DefaultEntry (org.apache.directory.api.ldap.model.entry.DefaultEntry)20 LdapInvalidDnException (org.apache.directory.api.ldap.model.exception.LdapInvalidDnException)19 DefaultAttribute (org.apache.directory.api.ldap.model.entry.DefaultAttribute)17 Modification (org.apache.directory.api.ldap.model.entry.Modification)17 DefaultModification (org.apache.directory.api.ldap.model.entry.DefaultModification)16 TLV (org.apache.directory.api.asn1.ber.tlv.TLV)10 Attribute (org.apache.directory.api.ldap.model.entry.Attribute)10 ModifyRequest (org.apache.directory.api.ldap.model.message.ModifyRequest)10 Referral (org.apache.directory.api.ldap.model.message.Referral)10 File (java.io.File)9 ArrayList (java.util.ArrayList)9 ResponseCarryingException (org.apache.directory.api.ldap.codec.api.ResponseCarryingException)8 Value (org.apache.directory.api.ldap.model.entry.Value)8