org.teiid.resource.adapter.ldap
Class LDAPConnectionImpl
java.lang.Object
org.teiid.resource.spi.BasicConnection
org.teiid.resource.adapter.ldap.LDAPConnectionImpl
- All Implemented Interfaces:
- javax.naming.Context, javax.naming.directory.DirContext, javax.naming.ldap.LdapContext, javax.resource.cci.Connection
public class LDAPConnectionImpl
- extends BasicConnection
- implements javax.naming.ldap.LdapContext
Represents a connection to an LDAP data source.
Fields inherited from interface javax.naming.ldap.LdapContext |
CONTROL_FACTORIES |
Fields inherited from interface javax.naming.directory.DirContext |
ADD_ATTRIBUTE, REMOVE_ATTRIBUTE, REPLACE_ATTRIBUTE |
Fields inherited from interface javax.naming.Context |
APPLET, AUTHORITATIVE, BATCHSIZE, DNS_URL, INITIAL_CONTEXT_FACTORY, LANGUAGE, OBJECT_FACTORIES, PROVIDER_URL, REFERRAL, SECURITY_AUTHENTICATION, SECURITY_CREDENTIALS, SECURITY_PRINCIPAL, SECURITY_PROTOCOL, STATE_FACTORIES, URL_PKG_PREFIXES |
Method Summary |
java.lang.Object |
addToEnvironment(java.lang.String propName,
java.lang.Object propVal)
|
void |
bind(javax.naming.Name name,
java.lang.Object obj)
|
void |
bind(javax.naming.Name name,
java.lang.Object obj,
javax.naming.directory.Attributes attrs)
|
void |
bind(java.lang.String name,
java.lang.Object obj)
|
void |
bind(java.lang.String name,
java.lang.Object obj,
javax.naming.directory.Attributes attrs)
|
void |
close()
Closes LDAP context, effectively closing the connection to LDAP. |
javax.naming.Name |
composeName(javax.naming.Name name,
javax.naming.Name prefix)
|
java.lang.String |
composeName(java.lang.String name,
java.lang.String prefix)
|
javax.naming.Context |
createSubcontext(javax.naming.Name name)
|
javax.naming.directory.DirContext |
createSubcontext(javax.naming.Name name,
javax.naming.directory.Attributes attrs)
|
javax.naming.Context |
createSubcontext(java.lang.String name)
|
javax.naming.directory.DirContext |
createSubcontext(java.lang.String name,
javax.naming.directory.Attributes attrs)
|
void |
destroySubcontext(javax.naming.Name name)
|
void |
destroySubcontext(java.lang.String name)
|
boolean |
equals(java.lang.Object obj)
|
javax.naming.ldap.ExtendedResponse |
extendedOperation(javax.naming.ldap.ExtendedRequest request)
|
javax.naming.directory.Attributes |
getAttributes(javax.naming.Name name)
|
javax.naming.directory.Attributes |
getAttributes(javax.naming.Name name,
java.lang.String[] attrIds)
|
javax.naming.directory.Attributes |
getAttributes(java.lang.String name)
|
javax.naming.directory.Attributes |
getAttributes(java.lang.String name,
java.lang.String[] attrIds)
|
javax.naming.ldap.Control[] |
getConnectControls()
|
java.util.Hashtable<?,?> |
getEnvironment()
|
java.lang.String |
getNameInNamespace()
|
javax.naming.NameParser |
getNameParser(javax.naming.Name name)
|
javax.naming.NameParser |
getNameParser(java.lang.String name)
|
javax.naming.ldap.Control[] |
getRequestControls()
|
javax.naming.ldap.Control[] |
getResponseControls()
|
javax.naming.directory.DirContext |
getSchema(javax.naming.Name name)
|
javax.naming.directory.DirContext |
getSchema(java.lang.String name)
|
javax.naming.directory.DirContext |
getSchemaClassDefinition(javax.naming.Name name)
|
javax.naming.directory.DirContext |
getSchemaClassDefinition(java.lang.String name)
|
int |
hashCode()
|
boolean |
isAlive()
Currently, this method always returns alive. |
javax.naming.NamingEnumeration<javax.naming.NameClassPair> |
list(javax.naming.Name name)
|
javax.naming.NamingEnumeration<javax.naming.NameClassPair> |
list(java.lang.String name)
|
javax.naming.NamingEnumeration<javax.naming.Binding> |
listBindings(javax.naming.Name name)
|
javax.naming.NamingEnumeration<javax.naming.Binding> |
listBindings(java.lang.String name)
|
java.lang.Object |
lookup(javax.naming.Name name)
|
java.lang.Object |
lookup(java.lang.String context)
|
java.lang.Object |
lookupLink(javax.naming.Name name)
|
java.lang.Object |
lookupLink(java.lang.String name)
|
void |
modifyAttributes(javax.naming.Name name,
int modOp,
javax.naming.directory.Attributes attrs)
|
void |
modifyAttributes(javax.naming.Name name,
javax.naming.directory.ModificationItem[] mods)
|
void |
modifyAttributes(java.lang.String name,
int modOp,
javax.naming.directory.Attributes attrs)
|
void |
modifyAttributes(java.lang.String name,
javax.naming.directory.ModificationItem[] mods)
|
javax.naming.ldap.LdapContext |
newInstance(javax.naming.ldap.Control[] reqCtls)
|
void |
rebind(javax.naming.Name name,
java.lang.Object obj)
|
void |
rebind(javax.naming.Name name,
java.lang.Object obj,
javax.naming.directory.Attributes attrs)
|
void |
rebind(java.lang.String name,
java.lang.Object obj)
|
void |
rebind(java.lang.String name,
java.lang.Object obj,
javax.naming.directory.Attributes attrs)
|
void |
reconnect(javax.naming.ldap.Control[] connCtls)
|
java.lang.Object |
removeFromEnvironment(java.lang.String propName)
|
void |
rename(javax.naming.Name oldName,
javax.naming.Name newName)
|
void |
rename(java.lang.String oldName,
java.lang.String newName)
|
javax.naming.NamingEnumeration<javax.naming.directory.SearchResult> |
search(javax.naming.Name name,
javax.naming.directory.Attributes matchingAttributes)
|
javax.naming.NamingEnumeration<javax.naming.directory.SearchResult> |
search(javax.naming.Name name,
javax.naming.directory.Attributes matchingAttributes,
java.lang.String[] attributesToReturn)
|
javax.naming.NamingEnumeration<javax.naming.directory.SearchResult> |
search(javax.naming.Name name,
java.lang.String filterExpr,
java.lang.Object[] filterArgs,
javax.naming.directory.SearchControls cons)
|
javax.naming.NamingEnumeration<javax.naming.directory.SearchResult> |
search(javax.naming.Name name,
java.lang.String filter,
javax.naming.directory.SearchControls cons)
|
javax.naming.NamingEnumeration<javax.naming.directory.SearchResult> |
search(java.lang.String name,
javax.naming.directory.Attributes matchingAttributes)
|
javax.naming.NamingEnumeration<javax.naming.directory.SearchResult> |
search(java.lang.String name,
javax.naming.directory.Attributes matchingAttributes,
java.lang.String[] attributesToReturn)
|
javax.naming.NamingEnumeration<javax.naming.directory.SearchResult> |
search(java.lang.String name,
java.lang.String filterExpr,
java.lang.Object[] filterArgs,
javax.naming.directory.SearchControls cons)
|
javax.naming.NamingEnumeration<javax.naming.directory.SearchResult> |
search(java.lang.String name,
java.lang.String filter,
javax.naming.directory.SearchControls cons)
|
void |
setRequestControls(javax.naming.ldap.Control[] requestControls)
|
void |
unbind(javax.naming.Name name)
|
void |
unbind(java.lang.String name)
|
Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
LDAP_AUTH_TYPE
public static final java.lang.String LDAP_AUTH_TYPE
- See Also:
- Constant Field Values
LDAP_USER_OBJECT_TYPE
public static final java.lang.String LDAP_USER_OBJECT_TYPE
- See Also:
- Constant Field Values
LDAP_REFERRAL_MODE
public static final java.lang.String LDAP_REFERRAL_MODE
- See Also:
- Constant Field Values
LDAPConnectionImpl
public LDAPConnectionImpl(LDAPManagedConnectionFactory config)
throws javax.resource.ResourceException
- Throws:
javax.resource.ResourceException
close
public void close()
- Closes LDAP context, effectively closing the connection to LDAP.
(non-Javadoc)
- Specified by:
close
in interface javax.naming.Context
- Specified by:
close
in interface javax.resource.cci.Connection
isAlive
public boolean isAlive()
- Currently, this method always returns alive. We assume the connection is alive,
and rely on proper timeout values to automatically clean up connections before
any server-side timeout occurs. Rather than incur overhead by rebinding,
we'll assume the connection is always alive, and throw an error when it is actually used,
if the connection fails. This may be a more efficient way of handling failed connections,
with the one tradeoff that stale connections will not be detected until execution time. In
practice, there is no benefit to detecting stale connections before execution time.
One possible extension is to implement a UnsolicitedNotificationListener.
(non-Javadoc)
- Overrides:
isAlive
in class BasicConnection
- Returns:
lookup
public java.lang.Object lookup(java.lang.String context)
throws javax.naming.NamingException
- Specified by:
lookup
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
addToEnvironment
public java.lang.Object addToEnvironment(java.lang.String propName,
java.lang.Object propVal)
throws javax.naming.NamingException
- Specified by:
addToEnvironment
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
bind
public void bind(javax.naming.Name name,
java.lang.Object obj,
javax.naming.directory.Attributes attrs)
throws javax.naming.NamingException
- Specified by:
bind
in interface javax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
bind
public void bind(javax.naming.Name name,
java.lang.Object obj)
throws javax.naming.NamingException
- Specified by:
bind
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
bind
public void bind(java.lang.String name,
java.lang.Object obj,
javax.naming.directory.Attributes attrs)
throws javax.naming.NamingException
- Specified by:
bind
in interface javax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
bind
public void bind(java.lang.String name,
java.lang.Object obj)
throws javax.naming.NamingException
- Specified by:
bind
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
composeName
public javax.naming.Name composeName(javax.naming.Name name,
javax.naming.Name prefix)
throws javax.naming.NamingException
- Specified by:
composeName
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
composeName
public java.lang.String composeName(java.lang.String name,
java.lang.String prefix)
throws javax.naming.NamingException
- Specified by:
composeName
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
createSubcontext
public javax.naming.directory.DirContext createSubcontext(javax.naming.Name name,
javax.naming.directory.Attributes attrs)
throws javax.naming.NamingException
- Specified by:
createSubcontext
in interface javax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
createSubcontext
public javax.naming.Context createSubcontext(javax.naming.Name name)
throws javax.naming.NamingException
- Specified by:
createSubcontext
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
createSubcontext
public javax.naming.directory.DirContext createSubcontext(java.lang.String name,
javax.naming.directory.Attributes attrs)
throws javax.naming.NamingException
- Specified by:
createSubcontext
in interface javax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
createSubcontext
public javax.naming.Context createSubcontext(java.lang.String name)
throws javax.naming.NamingException
- Specified by:
createSubcontext
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
destroySubcontext
public void destroySubcontext(javax.naming.Name name)
throws javax.naming.NamingException
- Specified by:
destroySubcontext
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
destroySubcontext
public void destroySubcontext(java.lang.String name)
throws javax.naming.NamingException
- Specified by:
destroySubcontext
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equals
in class java.lang.Object
extendedOperation
public javax.naming.ldap.ExtendedResponse extendedOperation(javax.naming.ldap.ExtendedRequest request)
throws javax.naming.NamingException
- Specified by:
extendedOperation
in interface javax.naming.ldap.LdapContext
- Throws:
javax.naming.NamingException
getAttributes
public javax.naming.directory.Attributes getAttributes(javax.naming.Name name,
java.lang.String[] attrIds)
throws javax.naming.NamingException
- Specified by:
getAttributes
in interface javax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
getAttributes
public javax.naming.directory.Attributes getAttributes(javax.naming.Name name)
throws javax.naming.NamingException
- Specified by:
getAttributes
in interface javax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
getAttributes
public javax.naming.directory.Attributes getAttributes(java.lang.String name,
java.lang.String[] attrIds)
throws javax.naming.NamingException
- Specified by:
getAttributes
in interface javax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
getAttributes
public javax.naming.directory.Attributes getAttributes(java.lang.String name)
throws javax.naming.NamingException
- Specified by:
getAttributes
in interface javax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
getConnectControls
public javax.naming.ldap.Control[] getConnectControls()
throws javax.naming.NamingException
- Specified by:
getConnectControls
in interface javax.naming.ldap.LdapContext
- Throws:
javax.naming.NamingException
getEnvironment
public java.util.Hashtable<?,?> getEnvironment()
throws javax.naming.NamingException
- Specified by:
getEnvironment
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
getNameInNamespace
public java.lang.String getNameInNamespace()
throws javax.naming.NamingException
- Specified by:
getNameInNamespace
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
getNameParser
public javax.naming.NameParser getNameParser(javax.naming.Name name)
throws javax.naming.NamingException
- Specified by:
getNameParser
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
getNameParser
public javax.naming.NameParser getNameParser(java.lang.String name)
throws javax.naming.NamingException
- Specified by:
getNameParser
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
getRequestControls
public javax.naming.ldap.Control[] getRequestControls()
throws javax.naming.NamingException
- Specified by:
getRequestControls
in interface javax.naming.ldap.LdapContext
- Throws:
javax.naming.NamingException
getResponseControls
public javax.naming.ldap.Control[] getResponseControls()
throws javax.naming.NamingException
- Specified by:
getResponseControls
in interface javax.naming.ldap.LdapContext
- Throws:
javax.naming.NamingException
getSchema
public javax.naming.directory.DirContext getSchema(javax.naming.Name name)
throws javax.naming.NamingException
- Specified by:
getSchema
in interface javax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
getSchema
public javax.naming.directory.DirContext getSchema(java.lang.String name)
throws javax.naming.NamingException
- Specified by:
getSchema
in interface javax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
getSchemaClassDefinition
public javax.naming.directory.DirContext getSchemaClassDefinition(javax.naming.Name name)
throws javax.naming.NamingException
- Specified by:
getSchemaClassDefinition
in interface javax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
getSchemaClassDefinition
public javax.naming.directory.DirContext getSchemaClassDefinition(java.lang.String name)
throws javax.naming.NamingException
- Specified by:
getSchemaClassDefinition
in interface javax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
hashCode
public int hashCode()
- Overrides:
hashCode
in class java.lang.Object
list
public javax.naming.NamingEnumeration<javax.naming.NameClassPair> list(javax.naming.Name name)
throws javax.naming.NamingException
- Specified by:
list
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
list
public javax.naming.NamingEnumeration<javax.naming.NameClassPair> list(java.lang.String name)
throws javax.naming.NamingException
- Specified by:
list
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
listBindings
public javax.naming.NamingEnumeration<javax.naming.Binding> listBindings(javax.naming.Name name)
throws javax.naming.NamingException
- Specified by:
listBindings
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
listBindings
public javax.naming.NamingEnumeration<javax.naming.Binding> listBindings(java.lang.String name)
throws javax.naming.NamingException
- Specified by:
listBindings
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
lookup
public java.lang.Object lookup(javax.naming.Name name)
throws javax.naming.NamingException
- Specified by:
lookup
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
lookupLink
public java.lang.Object lookupLink(javax.naming.Name name)
throws javax.naming.NamingException
- Specified by:
lookupLink
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
lookupLink
public java.lang.Object lookupLink(java.lang.String name)
throws javax.naming.NamingException
- Specified by:
lookupLink
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
modifyAttributes
public void modifyAttributes(javax.naming.Name name,
int modOp,
javax.naming.directory.Attributes attrs)
throws javax.naming.NamingException
- Specified by:
modifyAttributes
in interface javax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
modifyAttributes
public void modifyAttributes(javax.naming.Name name,
javax.naming.directory.ModificationItem[] mods)
throws javax.naming.NamingException
- Specified by:
modifyAttributes
in interface javax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
modifyAttributes
public void modifyAttributes(java.lang.String name,
int modOp,
javax.naming.directory.Attributes attrs)
throws javax.naming.NamingException
- Specified by:
modifyAttributes
in interface javax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
modifyAttributes
public void modifyAttributes(java.lang.String name,
javax.naming.directory.ModificationItem[] mods)
throws javax.naming.NamingException
- Specified by:
modifyAttributes
in interface javax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
newInstance
public javax.naming.ldap.LdapContext newInstance(javax.naming.ldap.Control[] reqCtls)
throws javax.naming.NamingException
- Specified by:
newInstance
in interface javax.naming.ldap.LdapContext
- Throws:
javax.naming.NamingException
rebind
public void rebind(javax.naming.Name name,
java.lang.Object obj,
javax.naming.directory.Attributes attrs)
throws javax.naming.NamingException
- Specified by:
rebind
in interface javax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
rebind
public void rebind(javax.naming.Name name,
java.lang.Object obj)
throws javax.naming.NamingException
- Specified by:
rebind
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
rebind
public void rebind(java.lang.String name,
java.lang.Object obj,
javax.naming.directory.Attributes attrs)
throws javax.naming.NamingException
- Specified by:
rebind
in interface javax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
rebind
public void rebind(java.lang.String name,
java.lang.Object obj)
throws javax.naming.NamingException
- Specified by:
rebind
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
reconnect
public void reconnect(javax.naming.ldap.Control[] connCtls)
throws javax.naming.NamingException
- Specified by:
reconnect
in interface javax.naming.ldap.LdapContext
- Throws:
javax.naming.NamingException
removeFromEnvironment
public java.lang.Object removeFromEnvironment(java.lang.String propName)
throws javax.naming.NamingException
- Specified by:
removeFromEnvironment
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
rename
public void rename(javax.naming.Name oldName,
javax.naming.Name newName)
throws javax.naming.NamingException
- Specified by:
rename
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
rename
public void rename(java.lang.String oldName,
java.lang.String newName)
throws javax.naming.NamingException
- Specified by:
rename
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
search
public javax.naming.NamingEnumeration<javax.naming.directory.SearchResult> search(javax.naming.Name name,
javax.naming.directory.Attributes matchingAttributes,
java.lang.String[] attributesToReturn)
throws javax.naming.NamingException
- Specified by:
search
in interface javax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
search
public javax.naming.NamingEnumeration<javax.naming.directory.SearchResult> search(javax.naming.Name name,
javax.naming.directory.Attributes matchingAttributes)
throws javax.naming.NamingException
- Specified by:
search
in interface javax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
search
public javax.naming.NamingEnumeration<javax.naming.directory.SearchResult> search(javax.naming.Name name,
java.lang.String filterExpr,
java.lang.Object[] filterArgs,
javax.naming.directory.SearchControls cons)
throws javax.naming.NamingException
- Specified by:
search
in interface javax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
search
public javax.naming.NamingEnumeration<javax.naming.directory.SearchResult> search(javax.naming.Name name,
java.lang.String filter,
javax.naming.directory.SearchControls cons)
throws javax.naming.NamingException
- Specified by:
search
in interface javax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
search
public javax.naming.NamingEnumeration<javax.naming.directory.SearchResult> search(java.lang.String name,
javax.naming.directory.Attributes matchingAttributes,
java.lang.String[] attributesToReturn)
throws javax.naming.NamingException
- Specified by:
search
in interface javax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
search
public javax.naming.NamingEnumeration<javax.naming.directory.SearchResult> search(java.lang.String name,
javax.naming.directory.Attributes matchingAttributes)
throws javax.naming.NamingException
- Specified by:
search
in interface javax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
search
public javax.naming.NamingEnumeration<javax.naming.directory.SearchResult> search(java.lang.String name,
java.lang.String filterExpr,
java.lang.Object[] filterArgs,
javax.naming.directory.SearchControls cons)
throws javax.naming.NamingException
- Specified by:
search
in interface javax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
search
public javax.naming.NamingEnumeration<javax.naming.directory.SearchResult> search(java.lang.String name,
java.lang.String filter,
javax.naming.directory.SearchControls cons)
throws javax.naming.NamingException
- Specified by:
search
in interface javax.naming.directory.DirContext
- Throws:
javax.naming.NamingException
setRequestControls
public void setRequestControls(javax.naming.ldap.Control[] requestControls)
throws javax.naming.NamingException
- Specified by:
setRequestControls
in interface javax.naming.ldap.LdapContext
- Throws:
javax.naming.NamingException
unbind
public void unbind(javax.naming.Name name)
throws javax.naming.NamingException
- Specified by:
unbind
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
unbind
public void unbind(java.lang.String name)
throws javax.naming.NamingException
- Specified by:
unbind
in interface javax.naming.Context
- Throws:
javax.naming.NamingException
Copyright © 2010. All Rights Reserved.