Class LdapOperationServiceImpl

java.lang.Object
io.jans.orm.ldap.operation.impl.LdapOperationServiceImpl
All Implemented Interfaces:
LdapOperationService, io.jans.orm.operation.PersistenceOperationService

public class LdapOperationServiceImpl extends Object implements LdapOperationService
OperationsFacade is the base class that performs all the ldap operations using connectionpool
Author:
Pankaj, Yuriy Movchan
  • Field Details

    • NO_STRINGS

      protected static final String[] NO_STRINGS
  • Constructor Details

  • Method Details

    • getConnectionProvider

      public LdapConnectionProvider getConnectionProvider()
      Specified by:
      getConnectionProvider in interface LdapOperationService
    • setConnectionProvider

      public void setConnectionProvider(LdapConnectionProvider connectionProvider)
      Specified by:
      setConnectionProvider in interface LdapOperationService
    • getBindConnectionProvider

      public LdapConnectionProvider getBindConnectionProvider()
      Specified by:
      getBindConnectionProvider in interface LdapOperationService
    • setBindConnectionProvider

      public void setBindConnectionProvider(LdapConnectionProvider bindConnectionProvider)
      Specified by:
      setBindConnectionProvider in interface LdapOperationService
    • getConnectionPool

      public com.unboundid.ldap.sdk.LDAPConnectionPool getConnectionPool()
      Specified by:
      getConnectionPool in interface LdapOperationService
    • getConnection

      public com.unboundid.ldap.sdk.LDAPConnection getConnection() throws com.unboundid.ldap.sdk.LDAPException
      Specified by:
      getConnection in interface LdapOperationService
      Throws:
      com.unboundid.ldap.sdk.LDAPException
    • releaseConnection

      public void releaseConnection(com.unboundid.ldap.sdk.LDAPConnection connection)
      Specified by:
      releaseConnection in interface LdapOperationService
    • authenticate

      public boolean authenticate(String bindDn, String password, String objectClass) throws io.jans.orm.exception.operation.ConnectionException, io.jans.orm.exception.operation.SearchException, io.jans.orm.exception.AuthenticationException
      Specified by:
      authenticate in interface io.jans.orm.operation.PersistenceOperationService
      Throws:
      io.jans.orm.exception.operation.ConnectionException
      io.jans.orm.exception.operation.SearchException
      io.jans.orm.exception.AuthenticationException
    • search

      public <T> io.jans.orm.model.PagedResult<io.jans.orm.model.EntryData> search(String dn, com.unboundid.ldap.sdk.Filter filter, com.unboundid.ldap.sdk.SearchScope scope, LdapBatchOperationWraper<T> batchOperationWraper, int start, int count, int pageSize, com.unboundid.ldap.sdk.Control[] controls, String... attributes) throws io.jans.orm.exception.operation.SearchException
      Specified by:
      search in interface LdapOperationService
      Throws:
      io.jans.orm.exception.operation.SearchException
    • searchPagedEntries

      public <T> io.jans.orm.model.PagedResult<io.jans.orm.model.EntryData> searchPagedEntries(String dn, com.unboundid.ldap.sdk.Filter filter, com.unboundid.ldap.sdk.SearchScope scope, int startIndex, int count, int pageSize, String sortBy, io.jans.orm.model.SortOrder sortOrder, String... attributes) throws Exception
      Specified by:
      searchPagedEntries in interface LdapOperationService
      Throws:
      Exception
    • lookup

      public io.jans.orm.model.EntryData lookup(String dn, String... attributes) throws io.jans.orm.exception.operation.ConnectionException, io.jans.orm.exception.operation.SearchException
      Description copied from interface: LdapOperationService
      Lookup entry in the directory
      Specified by:
      lookup in interface LdapOperationService
      Returns:
      EntryData
      Throws:
      io.jans.orm.exception.operation.ConnectionException
      io.jans.orm.exception.operation.SearchException
    • addEntry

      public boolean addEntry(String dn, Collection<com.unboundid.ldap.sdk.Attribute> attributes) throws io.jans.orm.exception.operation.DuplicateEntryException, io.jans.orm.exception.operation.ConnectionException
      Description copied from interface: LdapOperationService
      Use this method to add new entry
      Specified by:
      addEntry in interface LdapOperationService
      Parameters:
      dn - for entry
      attributes - attributes for entry
      Returns:
      true if successfully added
      Throws:
      io.jans.orm.exception.operation.DuplicateEntryException
      io.jans.orm.exception.operation.ConnectionException
    • updateEntry

      @Deprecated protected boolean updateEntry(String dn, Collection<com.unboundid.ldap.sdk.Attribute> attrs) throws io.jans.orm.exception.operation.DuplicateEntryException, io.jans.orm.exception.operation.ConnectionException
      Deprecated.
      Throws:
      io.jans.orm.exception.operation.DuplicateEntryException
      io.jans.orm.exception.operation.ConnectionException
    • updateEntry

      public boolean updateEntry(String dn, List<com.unboundid.ldap.sdk.Modification> modifications) throws io.jans.orm.exception.operation.DuplicateEntryException, io.jans.orm.exception.operation.ConnectionException
      Description copied from interface: LdapOperationService
      This method is used to update set of attributes for an entry
      Specified by:
      updateEntry in interface LdapOperationService
      Returns:
      Throws:
      io.jans.orm.exception.operation.DuplicateEntryException
      io.jans.orm.exception.operation.ConnectionException
    • modifyEntry

      protected boolean modifyEntry(com.unboundid.ldap.sdk.ModifyRequest modifyRequest) throws io.jans.orm.exception.operation.DuplicateEntryException, io.jans.orm.exception.operation.ConnectionException
      Use this method to add / replace / delete attribute from entry
      Parameters:
      modifyRequest -
      Returns:
      true if modification is successful
      Throws:
      io.jans.orm.exception.operation.DuplicateEntryException
      io.jans.orm.exception.operation.ConnectionException
    • delete

      public boolean delete(String dn) throws io.jans.orm.exception.operation.ConnectionException
      Description copied from interface: LdapOperationService
      Delete entry from the directory
      Specified by:
      delete in interface LdapOperationService
      Throws:
      io.jans.orm.exception.operation.ConnectionException
    • deleteRecursively

      public boolean deleteRecursively(String dn) throws io.jans.orm.exception.operation.ConnectionException
      Description copied from interface: LdapOperationService
      Delete entry from the directory
      Specified by:
      deleteRecursively in interface LdapOperationService
      Returns:
      Throws:
      io.jans.orm.exception.operation.ConnectionException
    • deleteRecursivelyImpl

      protected boolean deleteRecursivelyImpl(String dn)
    • processChange

      public boolean processChange(com.unboundid.ldif.LDIFChangeRecord ldifRecord) throws com.unboundid.ldap.sdk.LDAPException
      Specified by:
      processChange in interface LdapOperationService
      Throws:
      com.unboundid.ldap.sdk.LDAPException
    • getSupportedLDAPVersion

      public int getSupportedLDAPVersion()
      Specified by:
      getSupportedLDAPVersion in interface LdapOperationService
    • getSubschemaSubentry

      public String getSubschemaSubentry()
      Specified by:
      getSubschemaSubentry in interface LdapOperationService
    • destroy

      public boolean destroy()
      Specified by:
      destroy in interface LdapOperationService
    • isBinaryAttribute

      public boolean isBinaryAttribute(String attributeName)
      Specified by:
      isBinaryAttribute in interface LdapOperationService
    • isCertificateAttribute

      public boolean isCertificateAttribute(String attributeName)
      Specified by:
      isCertificateAttribute in interface LdapOperationService
    • getCertificateAttributeName

      public String getCertificateAttributeName(String attributeName)
      Specified by:
      getCertificateAttributeName in interface LdapOperationService
    • createStoragePassword

      public String[] createStoragePassword(String[] passwords)
    • sortListByAttributes

      public <T> List<T> sortListByAttributes(List<T> searchResultEntries, Class<T> cls, boolean caseSensitive, boolean ascending, String... sortByAttributes)
      Specified by:
      sortListByAttributes in interface LdapOperationService
    • getAttributes

      public Set<String> getAttributes(String objectClass)
      Specified by:
      getAttributes in interface LdapOperationService
    • getAttributeType

      public String getAttributeType(String attributeName)
      Specified by:
      getAttributeType in interface LdapOperationService
    • isConnected

      public boolean isConnected()
      Specified by:
      isConnected in interface io.jans.orm.operation.PersistenceOperationService
    • setPersistenceExtension

      public void setPersistenceExtension(io.jans.orm.extension.PersistenceExtension persistenceExtension)
      Specified by:
      setPersistenceExtension in interface io.jans.orm.operation.PersistenceOperationService
    • isSupportObjectClass

      public boolean isSupportObjectClass(String objectClass)
      Specified by:
      isSupportObjectClass in interface io.jans.orm.operation.PersistenceOperationService
    • getPersistenceMetadata

      public io.jans.orm.model.PersistenceMetadata getPersistenceMetadata(String primaryKey)
      Specified by:
      getPersistenceMetadata in interface io.jans.orm.operation.PersistenceOperationService
    • getTableColumnsMap

      public Map<String,Map<String,io.jans.orm.model.AttributeType>> getTableColumnsMap()
      Specified by:
      getTableColumnsMap in interface io.jans.orm.operation.PersistenceOperationService