public class DefaultLdapSyncAdapter extends LdapSyncAdapter
Modifier and Type | Field and Description |
---|---|
protected java.util.HashMap |
cachedPreparedStatements
A cache of prepared statements to improve the performance
of the repeatedly executed SQL statements.
|
connection, logger, sqlLogger, userInfo
Constructor and Description |
---|
DefaultLdapSyncAdapter() |
Modifier and Type | Method and Description |
---|---|
protected void |
addMemberRecords(java.sql.Connection con,
SyncData syncData,
MemberDataMap memberDataMap,
java.util.Set members)
Adds member records based on the data provided.
|
protected void |
cachePreparedStatement(java.lang.String query,
java.sql.PreparedStatement stmt)
Puts the statement in the cache based on the query.
|
protected void |
closeCachedPreparedStatements()
Closes all the cached prepared statements.
|
protected void |
deleteMemberRecords(java.sql.Connection con,
SyncData syncData,
MemberDataMap memberDataMap)
Deletes member records based on the data provided.
|
protected void |
deleteRecord(MboRemote mbo)
Deletes an existing mbo.
|
protected java.sql.PreparedStatement |
getCachedPreparedStatement(java.lang.String query)
Returns a cached statement object for the given query.
|
protected java.lang.Object |
getDataMapValue(java.sql.Connection con,
java.lang.String tableId,
java.lang.String columnName,
SyncData syncData,
DataMap dataMap)
Returns the value to be used to for the given table and column based on
the data mapping.
|
protected java.lang.Object |
getMemberDataMapColumnValue(java.sql.Connection con,
java.lang.String column,
SyncData syncData,
MemberDataMap memberDataMap)
Returns the column value for the given column from the
member data mapping.
|
protected java.lang.Object |
getMemberDataMapKeyColumnValue(java.lang.String keyColumn,
SyncData syncData,
MemberDataMap memberDataMap)
Returns the key value for the given key column from the
member data mapping.
|
protected MboRemote |
insertRecord(java.sql.Connection con,
java.lang.String tableId,
MboSetRemote mboSet,
SyncData syncData,
DataMap dataMap)
Inserts a record into MboSet based on the information provided.
|
protected void |
logBindValue(java.lang.String bindColumnName,
java.lang.Object bindValue)
Logs the bind column name and its value.
|
void |
syncEnded(LdapSyncEvent event)
Called by the Synchronizer at the end of a full or incremental
synchronization to let the listener cleanup any references
to objects that are being held for the duration of the
synchronization process.
|
void |
syncGroup(LdapSyncEvent event)
Called by the Synchronizer when a group data need to be synchronized
with the database.
|
void |
syncGroupMembers(LdapSyncEvent event)
Called by the Synchronizer when a group member data need to be
synchronized with the database.
|
void |
syncUser(LdapSyncEvent event)
Called by the Synchronizer when a user data need to be synchronized
with the database.
|
protected void |
updateRecord(java.sql.Connection con,
java.lang.String tableId,
MboRemote mbo,
SyncData syncData,
DataMap dataMap)
Updates an existing mbo based on the information provided.
|
getConnection, getLogger, getSqlLogger, getUserInfo, syncStarting
protected java.util.HashMap cachedPreparedStatements
public void syncUser(LdapSyncEvent event) throws LdapSyncException
syncUser
in interface LdapSyncListener
syncUser
in class LdapSyncAdapter
event
- synchronization event that provides additional details
to perform the user data synchronization with database.LdapSyncException
- if the listener fails to perform the
user data synchronization.LdapSyncListener.syncUser(psdi.security.ldap.LdapSyncEvent)
public void syncGroup(LdapSyncEvent event) throws LdapSyncException
syncGroup
in interface LdapSyncListener
syncGroup
in class LdapSyncAdapter
event
- synchronization event that provides additional details
to perform the group data synchronization with database.LdapSyncException
- if the listener fails to perform the
group data synchronization.LdapSyncListener.syncGroup(psdi.security.ldap.LdapSyncEvent)
public void syncGroupMembers(LdapSyncEvent event) throws LdapSyncException
syncGroupMembers
in interface LdapSyncListener
syncGroupMembers
in class LdapSyncAdapter
event
- synchronization event that provides additional details
to perform the group member data synchronization
with database.LdapSyncException
- if the listener fails to perform the
group member data synchronization.LdapSyncListener.syncGroupMembers(psdi.security.ldap.LdapSyncEvent)
protected void deleteMemberRecords(java.sql.Connection con, SyncData syncData, MemberDataMap memberDataMap) throws java.sql.SQLException
con
- database connection to be usedsyncData
- synchronization data obtained from LDAP servermemberDataMap
- member data mapping to be usedjava.sql.SQLException
- if fails to delete membersprotected void addMemberRecords(java.sql.Connection con, SyncData syncData, MemberDataMap memberDataMap, java.util.Set members) throws LdapSyncException, java.sql.SQLException
con
- database connection to be usedsyncData
- synchronization data obtained from LDAP servermemberDataMap
- member data mapping to be usedmembers
- list of user account namesjava.sql.SQLException
- if fails to add membersLdapSyncException
protected java.lang.Object getMemberDataMapKeyColumnValue(java.lang.String keyColumn, SyncData syncData, MemberDataMap memberDataMap)
keyColumn
- key columnsyncData
- synchronization data from LDAP ServermemberDataMap
- member data mapprotected java.lang.Object getMemberDataMapColumnValue(java.sql.Connection con, java.lang.String column, SyncData syncData, MemberDataMap memberDataMap) throws LdapSyncException
column
- column namesyncData
- synchronization data from LDAP ServermemberDataMap
- member data mapLdapSyncException
public void syncEnded(LdapSyncEvent event) throws LdapSyncException
syncEnded
in interface LdapSyncListener
syncEnded
in class LdapSyncAdapter
event
- synchronization event that provides additional details
to the listener.LdapSyncException
- if the listener fails to cleanup.LdapSyncListener.syncEnded(psdi.security.ldap.LdapSyncEvent)
protected void cachePreparedStatement(java.lang.String query, java.sql.PreparedStatement stmt)
query
- query to be used as a key.stmt
- statement to be cached.protected java.sql.PreparedStatement getCachedPreparedStatement(java.lang.String query)
query
- query to be used to retrieve the cached statement.protected void closeCachedPreparedStatements()
protected java.lang.Object getDataMapValue(java.sql.Connection con, java.lang.String tableId, java.lang.String columnName, SyncData syncData, DataMap dataMap) throws LdapSyncException
con
- database connection to be usedtableId
- table idcolumnName
- column namesyncData
- data from the LDAP serverdataMap
- data mappingLdapSyncException
- if fails to get the data value.protected MboRemote insertRecord(java.sql.Connection con, java.lang.String tableId, MboSetRemote mboSet, SyncData syncData, DataMap dataMap) throws LdapSyncException, MXException, java.rmi.RemoteException
con
- connection to be usedtableId
- table idmboSet
- The MboSet to get the new record.syncData
- data from LDAP ServerdataMap
- data mappingLdapSyncException
MXException
java.rmi.RemoteException
protected void updateRecord(java.sql.Connection con, java.lang.String tableId, MboRemote mbo, SyncData syncData, DataMap dataMap) throws LdapSyncException, MXException, java.rmi.RemoteException
con
- connection to be usedtableId
- table idmbo
- The MbosyncData
- data from LDAP ServerdataMap
- data mappingLdapSyncException
MXException
java.rmi.RemoteException
protected void deleteRecord(MboRemote mbo) throws MXException, java.rmi.RemoteException
mbo
- The mbo to be deleted.MXException
java.rmi.RemoteException
protected void logBindValue(java.lang.String bindColumnName, java.lang.Object bindValue)