public class DefaultVMMSyncAdapter extends VMMSyncAdapter
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 |
---|
DefaultVMMSyncAdapter() |
Modifier and Type | Method and Description |
---|---|
protected void |
addMemberRecords(java.sql.Connection con,
VMMSyncData syncData,
MemberDataMap memberVMMDataMap,
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,
VMMSyncData syncData,
MemberDataMap memberVMMDataMap)
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,
VMMSyncData syncData,
VMMDataMap VMMDataMap)
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,
VMMSyncData syncData,
MemberDataMap memberVMMDataMap)
Returns the column value for the given column from the
member data mapping.
|
protected java.lang.Object |
getMemberDataMapKeyColumnValue(java.lang.String keyColumn,
VMMSyncData syncData,
MemberDataMap memberVMMDataMap)
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,
VMMSyncData syncData,
VMMDataMap 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(VMMSyncEvent 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(VMMSyncEvent event)
Called by the Synchronizer when a group data need to be synchronized
with the database.
|
void |
syncGroupMembers(VMMSyncEvent event)
Called by the Synchronizer when a group member data need to be
synchronized with the database.
|
void |
syncUser(VMMSyncEvent 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,
VMMSyncData syncData,
VMMDataMap dataMap)
Updates an existing mbo based on the information provided.
|
getConnection, getLogger, getSqlLogger, getUserInfo, syncStarting
protected java.util.HashMap cachedPreparedStatements
public void syncUser(VMMSyncEvent event) throws VMMSyncException
syncUser
in interface VMMSyncListener
syncUser
in class VMMSyncAdapter
event
- synchronization event that provides additional details
to perform the user data synchronization with database.VMMSyncException
- if the listener fails to perform the
user data synchronization.VMMSyncListener.syncUser(psdi.security.vmm.VMMSyncEvent)
public void syncGroup(VMMSyncEvent event) throws VMMSyncException
syncGroup
in interface VMMSyncListener
syncGroup
in class VMMSyncAdapter
event
- synchronization event that provides additional details
to perform the group data synchronization with database.VMMSyncException
- if the listener fails to perform the
group data synchronization.VMMSyncListener.syncGroup(psdi.security.vmm.VMMSyncEvent)
public void syncGroupMembers(VMMSyncEvent event) throws VMMSyncException
syncGroupMembers
in interface VMMSyncListener
syncGroupMembers
in class VMMSyncAdapter
event
- synchronization event that provides additional details
to perform the VMM group member data synchronization
with database.VMMSyncException
- if the listener fails to perform the
group member data synchronization.VMMSyncListener.syncGroupMembers(psdi.security.vmm.VMMSyncEvent)
protected void deleteMemberRecords(java.sql.Connection con, VMMSyncData syncData, MemberDataMap memberVMMDataMap) throws java.sql.SQLException
con
- database connection to be usedsyncData
- synchronization data obtained from VMMmemberVMMDataMap
- member data mapping to be usedjava.sql.SQLException
- if fails to delete membersprotected void addMemberRecords(java.sql.Connection con, VMMSyncData syncData, MemberDataMap memberVMMDataMap, java.util.Set members) throws VMMSyncException, java.sql.SQLException
con
- database connection to be usedsyncData
- synchronization data obtained from VMM servermemberVMMDataMap
- member data mapping to be usedmembers
- list of user account namesjava.sql.SQLException
- if fails to add membersVMMSyncException
protected java.lang.Object getMemberDataMapKeyColumnValue(java.lang.String keyColumn, VMMSyncData syncData, MemberDataMap memberVMMDataMap)
keyColumn
- key columnsyncData
- synchronization data from VMM ServermemberVMMDataMap
- member data mapprotected java.lang.Object getMemberDataMapColumnValue(java.sql.Connection con, java.lang.String column, VMMSyncData syncData, MemberDataMap memberVMMDataMap) throws VMMSyncException
column
- column namesyncData
- synchronization data from VMM ServermemberVMMDataMap
- member data mapVMMSyncException
public void syncEnded(VMMSyncEvent event) throws VMMSyncException
syncEnded
in interface VMMSyncListener
syncEnded
in class VMMSyncAdapter
event
- synchronization event that provides additional details
to the listener.VMMSyncException
- if the listener fails to cleanup.VMMSyncListener.syncEnded(psdi.security.vmm.VMMSyncEvent)
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, VMMSyncData syncData, VMMDataMap VMMDataMap) throws VMMSyncException
con
- database connection to be usedtableId
- table idcolumnName
- column namesyncData
- data from the VMM serverVMMDataMap
- data mappingVMMSyncException
- if fails to get the data value.protected MboRemote insertRecord(java.sql.Connection con, java.lang.String tableId, MboSetRemote mboSet, VMMSyncData syncData, VMMDataMap dataMap) throws VMMSyncException, MXException, java.rmi.RemoteException
con
- connection to be usedtableId
- table idmboSet
- The MboSet to get the new record.syncData
- data from LDAP ServerdataMap
- data mappingVMMSyncException
MXException
java.rmi.RemoteException
protected void updateRecord(java.sql.Connection con, java.lang.String tableId, MboRemote mbo, VMMSyncData syncData, VMMDataMap dataMap) throws VMMSyncException, MXException, java.rmi.RemoteException
con
- connection to be usedtableId
- table idmbo
- The MbosyncData
- data from LDAP ServerdataMap
- data mappingVMMSyncException
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)