public class TriggerRouterService extends AbstractService implements ITriggerRouterService
ITriggerRouterServicelog, platform, sqlTemplate, sqlTemplateDirty, symmetricDialect, tablePrefix| Constructor and Description |
|---|
TriggerRouterService(ISymmetricEngine engine) |
| Modifier and Type | Method and Description |
|---|---|
void |
addExtraConfigTable(java.lang.String table) |
protected void |
awaitTermination(java.util.concurrent.ExecutorService executor,
java.util.List<java.util.concurrent.Future<?>> futures) |
java.lang.String |
buildSymmetricTableRouterId(java.lang.String triggerId,
java.lang.String sourceNodeGroupId,
java.lang.String targetNodeGroupId) |
protected Trigger |
buildTriggerForSymmetricTable(java.lang.String tableName) |
java.util.List<TriggerRouter> |
buildTriggerRoutersForSymmetricTables(java.lang.String version,
NodeGroupLink nodeGroupLink,
java.lang.String... tablesToExclude)
Return a list of triggers used when extraction configuration data during
the registration process.
|
protected TriggerRouter |
buildTriggerRoutersForSymmetricTables(java.lang.String version,
Trigger trigger,
NodeGroupLink nodeGroupLink) |
protected java.util.List<Trigger> |
buildTriggersForSymmetricTables(java.lang.String version,
java.lang.String... tablesToExclude) |
void |
clearCache() |
void |
createTriggersOnChannelForTables(java.lang.String channelId,
java.lang.String catalogName,
java.lang.String schemaName,
java.util.List<java.lang.String> tables,
java.lang.String lastUpdateBy) |
void |
deleteAllRouters() |
void |
deleteAllTriggerRouters() |
void |
deleteRouter(Router router) |
void |
deleteTrigger(Trigger trigger) |
protected void |
deleteTriggerHistory(TriggerHistory history) |
void |
deleteTriggerRouter(java.lang.String triggerId,
java.lang.String routerId) |
void |
deleteTriggerRouter(TriggerRouter triggerRouter) |
boolean |
doesTriggerExist(java.lang.String triggerId) |
boolean |
doesTriggerExistForTable(java.lang.String tableName) |
protected boolean |
doesTriggerRouterExistInList(java.util.List<TriggerRouter> triggerRouters,
TriggerRouter triggerRouter) |
protected void |
dropTrigger(java.lang.StringBuilder sqlBuffer,
java.lang.String catalog,
java.lang.String schema,
java.lang.String triggerName,
java.lang.String tableName) |
void |
dropTriggers() |
void |
dropTriggers(java.util.Set<java.lang.String> tables) |
void |
dropTriggers(TriggerHistory history) |
protected void |
dropTriggers(TriggerHistory history,
java.lang.StringBuilder sqlBuffer) |
java.util.Map<java.lang.Integer,java.util.List<TriggerRouter>> |
fillTriggerRoutersByHistId(java.lang.String sourceNodeGroupId,
java.lang.String targetNodeGroupId,
java.util.List<TriggerHistory> triggerHistories) |
protected java.util.Map<java.lang.Integer,java.util.List<TriggerRouter>> |
fillTriggerRoutersByHistId(java.lang.String sourceNodeGroupId,
java.lang.String targetNodeGroupId,
java.util.List<TriggerHistory> triggerHistories,
java.util.List<TriggerRouter> triggerRouters) |
java.util.Map<java.lang.Integer,java.util.List<TriggerRouter>> |
fillTriggerRoutersByHistIdAndSortHist(java.lang.String sourceNodeGroupId,
java.lang.String targetNodeGroupId,
java.util.List<TriggerHistory> triggerHistories) |
java.util.Map<java.lang.Integer,java.util.List<TriggerRouter>> |
fillTriggerRoutersByHistIdAndSortHist(java.lang.String sourceNodeGroupId,
java.lang.String targetNodeGroupId,
java.util.List<TriggerHistory> triggerHistories,
java.util.List<TriggerRouter> triggerRouters) |
java.util.Collection<Trigger> |
findMatchingTriggers(java.util.List<Trigger> triggers,
java.lang.String catalog,
java.lang.String schema,
java.lang.String table) |
java.util.List<TriggerHistory> |
findTriggerHistories(java.lang.String catalogName,
java.lang.String schemaName,
java.lang.String tableName) |
TriggerHistory |
findTriggerHistory(java.lang.String catalogName,
java.lang.String schemaName,
java.lang.String tableName) |
TriggerHistory |
findTriggerHistoryForGenericSync() |
TriggerRouter |
findTriggerRouterById(java.lang.String triggerId,
java.lang.String routerId) |
TriggerRouter |
findTriggerRouterById(java.lang.String triggerId,
java.lang.String routerId,
boolean refreshCache) |
Router |
getActiveRouterByIdForCurrentNode(java.lang.String routerId,
boolean refreshCache)
Get router that is currently in use by a trigger router at the node that is hosting this call.
|
java.util.List<TriggerHistory> |
getActiveTriggerHistories()
Get a list of trigger histories that are currently active
|
java.util.List<TriggerHistory> |
getActiveTriggerHistories(java.lang.String tableName) |
java.util.List<TriggerHistory> |
getActiveTriggerHistories(Trigger trigger) |
java.util.List<TriggerHistory> |
getActiveTriggerHistoriesFromCache() |
java.util.List<TriggerRouter> |
getAllTriggerRoutersForCurrentNode(java.lang.String sourceNodeGroupId) |
java.util.List<TriggerRouter> |
getAllTriggerRoutersForReloadForCurrentNode(java.lang.String sourceNodeGroupId,
java.lang.String targetNodeGroupId) |
protected java.util.List<TriggerRouter> |
getConfigurationTablesTriggerRoutersForCurrentNode(java.lang.String sourceNodeGroupId)
Create a list of
TriggerRouter for the SymmetricDS tables that
should have triggers created for them on the current node. |
java.util.Map<Trigger,java.lang.Exception> |
getFailedTriggers() |
java.util.Map<java.lang.Long,TriggerHistory> |
getHistoryRecords() |
TriggerHistory |
getNewestTriggerHistoryForTrigger(java.lang.String triggerId,
java.lang.String catalogName,
java.lang.String schemaName,
java.lang.String tableName) |
Router |
getRouterById(java.lang.String routerId) |
Router |
getRouterById(java.lang.String routerId,
boolean refreshCache) |
java.util.List<Router> |
getRouters() |
java.util.List<Router> |
getRouters(boolean replaceVariables) |
java.util.List<Router> |
getRoutersByGroupLink(NodeGroupLink link)
Get a list of routers for a specific node group link.
|
java.util.List<org.jumpmind.db.model.Table> |
getSortedTablesFor(java.util.List<TriggerHistory> histories) |
java.util.List<org.jumpmind.db.model.Table> |
getTablesFor(java.util.List<TriggerHistory> histories) |
protected java.util.Set<org.jumpmind.db.model.Table> |
getTablesForTrigger(Trigger trigger,
java.util.List<Trigger> triggers,
boolean useTableCache) |
Trigger |
getTriggerById(java.lang.String triggerId) |
Trigger |
getTriggerById(java.lang.String triggerId,
boolean refreshCache) |
Trigger |
getTriggerForCurrentNodeById(java.lang.String triggerId) |
protected Trigger |
getTriggerFromList(java.lang.String triggerId,
java.util.List<Trigger> triggersThatShouldBeActive) |
TriggerHistory |
getTriggerHistory(int histId) |
protected java.util.Set<java.lang.String> |
getTriggerIdsFrom(java.util.List<Trigger> triggersThatShouldBeActive) |
java.lang.String |
getTriggerName(org.jumpmind.symmetric.io.data.DataEventType dml,
int maxTriggerNameLength,
Trigger trigger,
org.jumpmind.db.model.Table table,
java.util.List<TriggerHistory> activeTriggerHistories,
TriggerHistory oldhist) |
TriggerRouter |
getTriggerRouterByTriggerHist(java.lang.String targetNodeGroupId,
int triggerHistId,
boolean refreshCache) |
TriggerRouter |
getTriggerRouterForCurrentNode(java.lang.String triggerId,
java.lang.String routerId,
boolean refreshCache) |
java.util.Set<TriggerRouter> |
getTriggerRouterForTableForCurrentNode(NodeGroupLink link,
java.lang.String catalogName,
java.lang.String schemaName,
java.lang.String tableName,
boolean refreshCache) |
java.util.Set<TriggerRouter> |
getTriggerRouterForTableForCurrentNode(java.lang.String catalogName,
java.lang.String schemaName,
java.lang.String tableName,
boolean refreshCache) |
java.util.List<TriggerRouter> |
getTriggerRouters(boolean refreshCache) |
java.util.Map<java.lang.String,java.util.List<TriggerRouter>> |
getTriggerRoutersByChannel(java.lang.String nodeGroupId) |
java.util.Map<java.lang.String,java.util.List<TriggerRouter>> |
getTriggerRoutersByChannel(java.lang.String nodeGroupId,
boolean refreshCache) |
java.util.Map<java.lang.Integer,TriggerRouter> |
getTriggerRoutersByTriggerHist(java.lang.String targetNodeGroupId,
boolean refreshCache) |
protected org.jumpmind.symmetric.service.impl.TriggerRouterService.TriggerRoutersCache |
getTriggerRoutersCacheForCurrentNode(boolean refreshCache) |
java.util.Map<java.lang.String,java.util.List<TriggerRouter>> |
getTriggerRoutersForCurrentNode(boolean refreshCache)
Returns a map of trigger routers keyed by trigger id.
|
java.util.List<Trigger> |
getTriggers()
Get a list of all the triggers that have been defined for the system.
|
java.util.List<Trigger> |
getTriggers(boolean replaceTokens) |
protected java.util.List<Trigger> |
getTriggersForCurrentNode() |
java.util.List<Trigger> |
getTriggersForCurrentNode(boolean refreshCache)
Returns a list of triggers that should be active for the current node.
|
void |
inactivateTriggerHistory(TriggerHistory history) |
protected void |
inactivateTriggers(java.util.List<Trigger> triggersThatShouldBeActive,
java.lang.StringBuilder sqlBuffer,
java.util.List<TriggerHistory> activeTriggerHistories) |
void |
insert(TriggerHistory newHistRecord) |
protected boolean |
isEqual(java.lang.String one,
java.lang.String two,
boolean ignoreCase) |
protected boolean |
isMatch(NodeGroupLink link,
TriggerRouter router) |
protected boolean |
isMatch(java.lang.String catalogName,
java.lang.String schemaName,
java.lang.String tableName,
Trigger trigger) |
boolean |
isRouterBeingUsed(java.lang.String routerId) |
boolean |
isTriggerBeingUsed(java.lang.String triggerId) |
protected boolean |
isTriggerNameInUse(java.util.List<TriggerHistory> activeTriggerHistories,
Trigger trigger,
java.lang.String triggerName,
TriggerHistory oldhist) |
protected void |
mergeInConfigurationTablesTriggerRoutersForCurrentNode(java.lang.String sourceNodeGroupId,
java.util.List<TriggerRouter> configuredInDatabase) |
protected TriggerHistory |
rebuildTriggerIfNecessary(java.lang.StringBuilder sqlBuffer,
boolean forceRebuild,
Trigger trigger,
org.jumpmind.symmetric.io.data.DataEventType dmlType,
TriggerReBuildReason reason,
TriggerHistory oldhist,
TriggerHistory hist,
boolean triggerIsActive,
org.jumpmind.db.model.Table table,
java.util.List<TriggerHistory> activeTriggerHistories) |
boolean |
refreshFromDatabase() |
protected void |
resetTriggerRouterCacheByNodeGroupId() |
void |
saveRouter(Router router) |
void |
saveTrigger(Trigger trigger) |
void |
saveTriggerRouter(TriggerRouter triggerRouter) |
void |
saveTriggerRouter(TriggerRouter triggerRouter,
boolean updateTriggerRouterTableOnly) |
void |
syncTrigger(Trigger trigger,
ITriggerCreationListener listener,
boolean force) |
void |
syncTrigger(Trigger trigger,
ITriggerCreationListener listener,
boolean force,
boolean verifyInDatabase) |
void |
syncTriggers() |
void |
syncTriggers(boolean force) |
void |
syncTriggers(java.lang.StringBuilder sqlBuffer,
boolean force) |
void |
syncTriggers(org.jumpmind.db.model.Table table,
boolean force) |
protected java.util.List<TriggerRouter> |
toList(java.util.Collection<java.util.List<TriggerRouter>> source) |
protected void |
updateOrCreateDatabaseTrigger(Trigger trigger,
java.util.List<Trigger> triggers,
java.lang.StringBuilder sqlBuffer,
boolean force,
boolean verifyInDatabase,
java.util.List<TriggerHistory> activeTriggerHistories,
boolean useTableCache) |
protected void |
updateOrCreateDatabaseTriggers(java.util.List<Trigger> triggers,
java.lang.StringBuilder sqlBuffer,
boolean force,
boolean verifyInDatabase,
java.util.List<TriggerHistory> activeTriggerHistories,
boolean useTableCache) |
protected void |
updateOrCreateDatabaseTriggers(Trigger trigger,
org.jumpmind.db.model.Table table,
java.lang.StringBuilder sqlBuffer,
boolean force,
boolean verifyInDatabase,
java.util.List<TriggerHistory> activeTriggerHistories) |
protected void |
updateOrCreateDdlTriggers(java.lang.StringBuilder sqlBuffer) |
assertNotNull, buildBatchWhere, close, createSqlReplacementTokens, createSqlReplacementTokens, getJdbcTemplate, getParameterService, getSql, getSymmetricDialect, getTablePrefix, getTargetDialect, getTargetPlatform, getTargetPlatform, isCalledFromSymmetricAdminTool, isSet, isStreamClosedByClient, isSymmetricTable, logOnce, maxDate, readAcks, sendAck, setSqlMap, synchronize, toNodeIds, toNodeIdspublic TriggerRouterService(ISymmetricEngine engine)
public boolean refreshFromDatabase()
refreshFromDatabase in interface ITriggerRouterServicepublic java.util.List<Trigger> getTriggers()
ITriggerRouterServicegetTriggers in interface ITriggerRouterServicepublic java.util.List<Trigger> getTriggers(boolean replaceTokens)
getTriggers in interface ITriggerRouterServicepublic boolean isTriggerBeingUsed(java.lang.String triggerId)
isTriggerBeingUsed in interface ITriggerRouterServicepublic boolean doesTriggerExist(java.lang.String triggerId)
doesTriggerExist in interface ITriggerRouterServicepublic boolean doesTriggerExistForTable(java.lang.String tableName)
doesTriggerExistForTable in interface ITriggerRouterServicepublic void deleteTrigger(Trigger trigger)
deleteTrigger in interface ITriggerRouterServicepublic void dropTriggers()
dropTriggers in interface ITriggerRouterServicepublic void dropTriggers(java.util.Set<java.lang.String> tables)
dropTriggers in interface ITriggerRouterServiceprotected void deleteTriggerHistory(TriggerHistory history)
public void createTriggersOnChannelForTables(java.lang.String channelId,
java.lang.String catalogName,
java.lang.String schemaName,
java.util.List<java.lang.String> tables,
java.lang.String lastUpdateBy)
createTriggersOnChannelForTables in interface ITriggerRouterServicepublic java.util.Collection<Trigger> findMatchingTriggers(java.util.List<Trigger> triggers, java.lang.String catalog, java.lang.String schema, java.lang.String table)
findMatchingTriggers in interface ITriggerRouterServicepublic void inactivateTriggerHistory(TriggerHistory history)
inactivateTriggerHistory in interface ITriggerRouterServicepublic java.util.Map<java.lang.Long,TriggerHistory> getHistoryRecords()
getHistoryRecords in interface ITriggerRouterServiceprotected boolean isTriggerNameInUse(java.util.List<TriggerHistory> activeTriggerHistories, Trigger trigger, java.lang.String triggerName, TriggerHistory oldhist)
public TriggerHistory findTriggerHistory(java.lang.String catalogName, java.lang.String schemaName, java.lang.String tableName)
findTriggerHistory in interface ITriggerRouterServicepublic java.util.List<TriggerHistory> findTriggerHistories(java.lang.String catalogName, java.lang.String schemaName, java.lang.String tableName)
findTriggerHistories in interface ITriggerRouterServicepublic TriggerHistory getTriggerHistory(int histId)
getTriggerHistory in interface ITriggerRouterServicepublic java.util.List<TriggerHistory> getActiveTriggerHistories(Trigger trigger)
getActiveTriggerHistories in interface ITriggerRouterServicepublic TriggerHistory getNewestTriggerHistoryForTrigger(java.lang.String triggerId, java.lang.String catalogName, java.lang.String schemaName, java.lang.String tableName)
getNewestTriggerHistoryForTrigger in interface ITriggerRouterServicepublic java.util.List<TriggerHistory> getActiveTriggerHistoriesFromCache()
getActiveTriggerHistoriesFromCache in interface ITriggerRouterServicepublic java.util.List<TriggerHistory> getActiveTriggerHistories()
getActiveTriggerHistories in interface ITriggerRouterServicepublic java.util.List<TriggerHistory> getActiveTriggerHistories(java.lang.String tableName)
getActiveTriggerHistories in interface ITriggerRouterServiceprotected java.util.List<Trigger> buildTriggersForSymmetricTables(java.lang.String version, java.lang.String... tablesToExclude)
protected Trigger buildTriggerForSymmetricTable(java.lang.String tableName)
public java.util.List<TriggerRouter> buildTriggerRoutersForSymmetricTables(java.lang.String version, NodeGroupLink nodeGroupLink, java.lang.String... tablesToExclude)
ITriggerRouterServicebuildTriggerRoutersForSymmetricTables in interface ITriggerRouterServicepublic java.lang.String buildSymmetricTableRouterId(java.lang.String triggerId,
java.lang.String sourceNodeGroupId,
java.lang.String targetNodeGroupId)
buildSymmetricTableRouterId in interface ITriggerRouterServiceprotected TriggerRouter buildTriggerRoutersForSymmetricTables(java.lang.String version, Trigger trigger, NodeGroupLink nodeGroupLink)
public java.util.Set<TriggerRouter> getTriggerRouterForTableForCurrentNode(java.lang.String catalogName, java.lang.String schemaName, java.lang.String tableName, boolean refreshCache)
getTriggerRouterForTableForCurrentNode in interface ITriggerRouterServicepublic java.util.Set<TriggerRouter> getTriggerRouterForTableForCurrentNode(NodeGroupLink link, java.lang.String catalogName, java.lang.String schemaName, java.lang.String tableName, boolean refreshCache)
getTriggerRouterForTableForCurrentNode in interface ITriggerRouterServiceprotected boolean isMatch(NodeGroupLink link, TriggerRouter router)
protected boolean isMatch(java.lang.String catalogName,
java.lang.String schemaName,
java.lang.String tableName,
Trigger trigger)
protected java.util.List<TriggerRouter> getConfigurationTablesTriggerRoutersForCurrentNode(java.lang.String sourceNodeGroupId)
TriggerRouter for the SymmetricDS tables that
should have triggers created for them on the current node.protected void mergeInConfigurationTablesTriggerRoutersForCurrentNode(java.lang.String sourceNodeGroupId,
java.util.List<TriggerRouter> configuredInDatabase)
protected boolean doesTriggerRouterExistInList(java.util.List<TriggerRouter> triggerRouters, TriggerRouter triggerRouter)
public TriggerRouter getTriggerRouterForCurrentNode(java.lang.String triggerId, java.lang.String routerId, boolean refreshCache)
getTriggerRouterForCurrentNode in interface ITriggerRouterServicepublic java.util.Map<java.lang.String,java.util.List<TriggerRouter>> getTriggerRoutersForCurrentNode(boolean refreshCache)
ITriggerRouterServicegetTriggerRoutersForCurrentNode in interface ITriggerRouterServicerefreshCache - Indicates that the cache should be refreshedpublic java.util.List<Trigger> getTriggersForCurrentNode(boolean refreshCache)
ITriggerRouterServicegetTriggersForCurrentNode in interface ITriggerRouterServicerefreshCache - Indicates that the cache should be refreshedpublic TriggerRouter getTriggerRouterByTriggerHist(java.lang.String targetNodeGroupId, int triggerHistId, boolean refreshCache)
getTriggerRouterByTriggerHist in interface ITriggerRouterServicepublic java.util.Map<java.lang.Integer,TriggerRouter> getTriggerRoutersByTriggerHist(java.lang.String targetNodeGroupId, boolean refreshCache)
getTriggerRoutersByTriggerHist in interface ITriggerRouterServiceprotected org.jumpmind.symmetric.service.impl.TriggerRouterService.TriggerRoutersCache getTriggerRoutersCacheForCurrentNode(boolean refreshCache)
public Router getActiveRouterByIdForCurrentNode(java.lang.String routerId, boolean refreshCache)
ITriggerRouterServicegetActiveRouterByIdForCurrentNode in interface ITriggerRouterServicerouterId - The router_id to retrieverefreshCache - Whether to force the router to be re-retrieved from the databaseITriggerRouterService.getActiveRouterByIdForCurrentNode(String,
boolean)public java.util.List<Router> getRoutersByGroupLink(NodeGroupLink link)
ITriggerRouterServicegetRoutersByGroupLink in interface ITriggerRouterServiceITriggerRouterService.getRoutersByGroupLink(NodeGroupLink)public Trigger getTriggerForCurrentNodeById(java.lang.String triggerId)
getTriggerForCurrentNodeById in interface ITriggerRouterServicepublic Trigger getTriggerById(java.lang.String triggerId)
getTriggerById in interface ITriggerRouterServicepublic Trigger getTriggerById(java.lang.String triggerId, boolean refreshCache)
getTriggerById in interface ITriggerRouterServicepublic Router getRouterById(java.lang.String routerId)
getRouterById in interface ITriggerRouterServicepublic Router getRouterById(java.lang.String routerId, boolean refreshCache)
getRouterById in interface ITriggerRouterServicepublic java.util.List<Router> getRouters()
getRouters in interface ITriggerRouterServicepublic java.util.List<Router> getRouters(boolean replaceVariables)
getRouters in interface ITriggerRouterServicepublic java.util.List<TriggerRouter> getTriggerRouters(boolean refreshCache)
getTriggerRouters in interface ITriggerRouterServicepublic java.util.List<TriggerRouter> getAllTriggerRoutersForCurrentNode(java.lang.String sourceNodeGroupId)
getAllTriggerRoutersForCurrentNode in interface ITriggerRouterServicepublic java.util.List<TriggerRouter> getAllTriggerRoutersForReloadForCurrentNode(java.lang.String sourceNodeGroupId, java.lang.String targetNodeGroupId)
getAllTriggerRoutersForReloadForCurrentNode in interface ITriggerRouterServicepublic TriggerRouter findTriggerRouterById(java.lang.String triggerId, java.lang.String routerId)
findTriggerRouterById in interface ITriggerRouterServicepublic TriggerRouter findTriggerRouterById(java.lang.String triggerId, java.lang.String routerId, boolean refreshCache)
findTriggerRouterById in interface ITriggerRouterServicepublic java.util.Map<java.lang.String,java.util.List<TriggerRouter>> getTriggerRoutersByChannel(java.lang.String nodeGroupId)
getTriggerRoutersByChannel in interface ITriggerRouterServicepublic java.util.Map<java.lang.String,java.util.List<TriggerRouter>> getTriggerRoutersByChannel(java.lang.String nodeGroupId, boolean refreshCache)
public void insert(TriggerHistory newHistRecord)
insert in interface ITriggerRouterServicepublic void deleteTriggerRouter(java.lang.String triggerId,
java.lang.String routerId)
deleteTriggerRouter in interface ITriggerRouterServicepublic void deleteTriggerRouter(TriggerRouter triggerRouter)
deleteTriggerRouter in interface ITriggerRouterServicepublic void deleteAllTriggerRouters()
deleteAllTriggerRouters in interface ITriggerRouterServicepublic void saveTriggerRouter(TriggerRouter triggerRouter)
saveTriggerRouter in interface ITriggerRouterServicepublic void saveTriggerRouter(TriggerRouter triggerRouter, boolean updateTriggerRouterTableOnly)
saveTriggerRouter in interface ITriggerRouterServiceprotected void resetTriggerRouterCacheByNodeGroupId()
public void saveRouter(Router router)
saveRouter in interface ITriggerRouterServicepublic boolean isRouterBeingUsed(java.lang.String routerId)
isRouterBeingUsed in interface ITriggerRouterServicepublic void deleteRouter(Router router)
deleteRouter in interface ITriggerRouterServicepublic void deleteAllRouters()
deleteAllRouters in interface ITriggerRouterServicepublic void saveTrigger(Trigger trigger)
saveTrigger in interface ITriggerRouterServicepublic void syncTriggers()
syncTriggers in interface ITriggerRouterServicepublic void syncTriggers(boolean force)
syncTriggers in interface ITriggerRouterServicepublic void syncTriggers(java.lang.StringBuilder sqlBuffer,
boolean force)
syncTriggers in interface ITriggerRouterServicepublic void clearCache()
clearCache in interface ITriggerRouterServiceprotected java.util.Set<java.lang.String> getTriggerIdsFrom(java.util.List<Trigger> triggersThatShouldBeActive)
protected Trigger getTriggerFromList(java.lang.String triggerId, java.util.List<Trigger> triggersThatShouldBeActive)
protected void inactivateTriggers(java.util.List<Trigger> triggersThatShouldBeActive, java.lang.StringBuilder sqlBuffer, java.util.List<TriggerHistory> activeTriggerHistories)
protected boolean isEqual(java.lang.String one,
java.lang.String two,
boolean ignoreCase)
public void dropTriggers(TriggerHistory history)
dropTriggers in interface ITriggerRouterServiceprotected void dropTriggers(TriggerHistory history, java.lang.StringBuilder sqlBuffer)
protected void dropTrigger(java.lang.StringBuilder sqlBuffer,
java.lang.String catalog,
java.lang.String schema,
java.lang.String triggerName,
java.lang.String tableName)
protected java.util.List<TriggerRouter> toList(java.util.Collection<java.util.List<TriggerRouter>> source)
protected java.util.List<Trigger> getTriggersForCurrentNode()
protected java.util.Set<org.jumpmind.db.model.Table> getTablesForTrigger(Trigger trigger, java.util.List<Trigger> triggers, boolean useTableCache)
public void syncTriggers(org.jumpmind.db.model.Table table,
boolean force)
syncTriggers in interface ITriggerRouterServiceprotected void updateOrCreateDdlTriggers(java.lang.StringBuilder sqlBuffer)
protected void updateOrCreateDatabaseTriggers(java.util.List<Trigger> triggers, java.lang.StringBuilder sqlBuffer, boolean force, boolean verifyInDatabase, java.util.List<TriggerHistory> activeTriggerHistories, boolean useTableCache)
protected void updateOrCreateDatabaseTrigger(Trigger trigger, java.util.List<Trigger> triggers, java.lang.StringBuilder sqlBuffer, boolean force, boolean verifyInDatabase, java.util.List<TriggerHistory> activeTriggerHistories, boolean useTableCache)
public void syncTrigger(Trigger trigger, ITriggerCreationListener listener, boolean force)
syncTrigger in interface ITriggerRouterServicepublic void syncTrigger(Trigger trigger, ITriggerCreationListener listener, boolean force, boolean verifyInDatabase)
syncTrigger in interface ITriggerRouterServiceprotected void updateOrCreateDatabaseTriggers(Trigger trigger, org.jumpmind.db.model.Table table, java.lang.StringBuilder sqlBuffer, boolean force, boolean verifyInDatabase, java.util.List<TriggerHistory> activeTriggerHistories)
protected TriggerHistory rebuildTriggerIfNecessary(java.lang.StringBuilder sqlBuffer, boolean forceRebuild, Trigger trigger, org.jumpmind.symmetric.io.data.DataEventType dmlType, TriggerReBuildReason reason, TriggerHistory oldhist, TriggerHistory hist, boolean triggerIsActive, org.jumpmind.db.model.Table table, java.util.List<TriggerHistory> activeTriggerHistories)
public java.lang.String getTriggerName(org.jumpmind.symmetric.io.data.DataEventType dml,
int maxTriggerNameLength,
Trigger trigger,
org.jumpmind.db.model.Table table,
java.util.List<TriggerHistory> activeTriggerHistories,
TriggerHistory oldhist)
getTriggerName in interface ITriggerRouterServicepublic void addExtraConfigTable(java.lang.String table)
addExtraConfigTable in interface ITriggerRouterServicepublic java.util.Map<Trigger,java.lang.Exception> getFailedTriggers()
getFailedTriggers in interface ITriggerRouterServicepublic TriggerHistory findTriggerHistoryForGenericSync()
findTriggerHistoryForGenericSync in interface ITriggerRouterServicepublic java.util.Map<java.lang.Integer,java.util.List<TriggerRouter>> fillTriggerRoutersByHistIdAndSortHist(java.lang.String sourceNodeGroupId, java.lang.String targetNodeGroupId, java.util.List<TriggerHistory> triggerHistories)
fillTriggerRoutersByHistIdAndSortHist in interface ITriggerRouterServicepublic java.util.Map<java.lang.Integer,java.util.List<TriggerRouter>> fillTriggerRoutersByHistIdAndSortHist(java.lang.String sourceNodeGroupId, java.lang.String targetNodeGroupId, java.util.List<TriggerHistory> triggerHistories, java.util.List<TriggerRouter> triggerRouters)
fillTriggerRoutersByHistIdAndSortHist in interface ITriggerRouterServicepublic java.util.Map<java.lang.Integer,java.util.List<TriggerRouter>> fillTriggerRoutersByHistId(java.lang.String sourceNodeGroupId, java.lang.String targetNodeGroupId, java.util.List<TriggerHistory> triggerHistories)
fillTriggerRoutersByHistId in interface ITriggerRouterServiceprotected java.util.Map<java.lang.Integer,java.util.List<TriggerRouter>> fillTriggerRoutersByHistId(java.lang.String sourceNodeGroupId, java.lang.String targetNodeGroupId, java.util.List<TriggerHistory> triggerHistories, java.util.List<TriggerRouter> triggerRouters)
public java.util.List<org.jumpmind.db.model.Table> getSortedTablesFor(java.util.List<TriggerHistory> histories)
getSortedTablesFor in interface ITriggerRouterServicepublic java.util.List<org.jumpmind.db.model.Table> getTablesFor(java.util.List<TriggerHistory> histories)
getTablesFor in interface ITriggerRouterServiceprotected void awaitTermination(java.util.concurrent.ExecutorService executor,
java.util.List<java.util.concurrent.Future<?>> futures)