Search in sources :

Example 1 with Rdn

use of org.apache.directory.api.ldap.model.name.Rdn in project aws-iam-ldap-bridge by denismo.

the class Runner method createStructure.

public void createStructure() throws Exception {
    String rootDN = AWSIAMAuthenticator.getConfig().rootDN;
    Dn dnIAM = service.getDnFactory().create(rootDN);
    if (!utils.exists(dnIAM)) {
        IAM_LOG.info("Creating partition " + rootDN);
        Partition iamPartition = utils.addPartition("iam", rootDN, service.getDnFactory());
        // Index some attributes on the apache partition
        utils.addIndex(iamPartition, "objectClass", "ou", "uid", "gidNumber", "uidNumber", "cn");
        if (!utils.exists(dnIAM)) {
            IAM_LOG.info("Creating root node " + rootDN);
            Rdn rdn = dnIAM.getRdn(0);
            Entry entryIAM = new DefaultEntry(service.getSchemaManager(), dnIAM, "objectClass: top", "objectClass: domain", "entryCsn: " + service.getCSN(), SchemaConstants.ENTRY_UUID_AT + ": " + UUID.randomUUID().toString(), rdn.getType() + ": " + rdn.getValue());
            service.getAdminSession().add(entryIAM);
            checkErrors();
        }
    }
    service.sync();
}
Also used : Partition(org.apache.directory.server.core.api.partition.Partition) LdifPartition(org.apache.directory.server.core.partition.ldif.LdifPartition) AbstractBTreePartition(org.apache.directory.server.core.partition.impl.btree.AbstractBTreePartition) JdbmPartition(org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmPartition) SingleFileLdifPartition(org.apache.directory.server.core.partition.ldif.SingleFileLdifPartition) SchemaPartition(org.apache.directory.server.core.api.schema.SchemaPartition) DefaultEntry(org.apache.directory.api.ldap.model.entry.DefaultEntry) IndexEntry(org.apache.directory.server.xdbm.IndexEntry) Entry(org.apache.directory.api.ldap.model.entry.Entry) DefaultEntry(org.apache.directory.api.ldap.model.entry.DefaultEntry) Dn(org.apache.directory.api.ldap.model.name.Dn) ParentIdAndRdn(org.apache.directory.server.xdbm.ParentIdAndRdn) Rdn(org.apache.directory.api.ldap.model.name.Rdn)

Example 2 with Rdn

use of org.apache.directory.api.ldap.model.name.Rdn in project aws-iam-ldap-bridge by denismo.

the class LDAPIAMPoller method createEntry.

private void createEntry(String dn, String clazz) throws LdapException {
    Dn dnObj = directory.getDnFactory().create(dn);
    Rdn rdn = dnObj.getRdn(0);
    DefaultEntry entry = new DefaultEntry(directory.getSchemaManager(), dn);
    entry.put(rdn.getType(), rdn.getValue());
    entry.put(SchemaConstants.ENTRY_CSN_AT, directory.getCSN().toString());
    entry.put(SchemaConstants.ENTRY_UUID_AT, UUID.randomUUID().toString());
    entry.put("objectclass", clazz);
    add(entry);
}
Also used : Dn(org.apache.directory.api.ldap.model.name.Dn) Rdn(org.apache.directory.api.ldap.model.name.Rdn)

Aggregations

Dn (org.apache.directory.api.ldap.model.name.Dn)2 Rdn (org.apache.directory.api.ldap.model.name.Rdn)2 DefaultEntry (org.apache.directory.api.ldap.model.entry.DefaultEntry)1 Entry (org.apache.directory.api.ldap.model.entry.Entry)1 Partition (org.apache.directory.server.core.api.partition.Partition)1 SchemaPartition (org.apache.directory.server.core.api.schema.SchemaPartition)1 AbstractBTreePartition (org.apache.directory.server.core.partition.impl.btree.AbstractBTreePartition)1 JdbmPartition (org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmPartition)1 LdifPartition (org.apache.directory.server.core.partition.ldif.LdifPartition)1 SingleFileLdifPartition (org.apache.directory.server.core.partition.ldif.SingleFileLdifPartition)1 IndexEntry (org.apache.directory.server.xdbm.IndexEntry)1 ParentIdAndRdn (org.apache.directory.server.xdbm.ParentIdAndRdn)1