Class NodeService
java.lang.Object
org.jumpmind.symmetric.service.impl.AbstractService
org.jumpmind.symmetric.service.impl.NodeService
- All Implemented Interfaces:
INodeService
,IService
- See Also:
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from interface org.jumpmind.symmetric.service.INodeService
INodeService.AuthenticationStatus
-
Field Summary
Fields inherited from class org.jumpmind.symmetric.service.impl.AbstractService
log, parameterService, platform, sqlTemplate, sqlTemplateDirty, symmetricDialect, tablePrefix
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected String
buildOrderBy
(String orderColumn, String orderDirection) buildParams
(List<FilterCriterion> filter) protected String
buildWhere
(List<FilterCriterion> filter) void
Check to see if any nodes are offline and process any nodes found using the configured IOfflineNodeHandler.int
countFilteredNodes
(List<FilterCriterion> filter) boolean
void
deleteNode
(String nodeId, boolean syncChange) void
deleteNode
(String nodeId, String targetNodeId, boolean syncChange) void
deleteNodeHost
(String nodeId) void
deleteNodeHostInstance
(String nodeId, String instanceId) void
deleteNodeSecurity
(String nodeId) findAllNodes
(boolean useCache) findAllNodeSecurity
(boolean useCache) findEnabledNodesFromNodeGroup
(String nodeGroupId) findFilteredNodesWithLimit
(int offset, int limit, List<FilterCriterion> filter, String orderColumn, String orderDirection) findIdentity
(boolean useCache) findIdentity
(boolean useCache, boolean logSqlError) Lookup a node in the database, which contains information for syncing with it.findNodeByExternalId
(String nodeGroupId, String externalId) findNodeHosts
(String nodeId) Lookup a node_security in the database, which contains private information used to authenticate.findNodeSecurity
(String nodeId, boolean useCache) findNodesThatOriginatedFromNodeId
(String originalNodeId) Find a list ofNode
s that were create at the passed in node or were created at a node that was created by the passed in node (recursively).findNodesThatOriginatedFromNodeId
(String originalNodeId, boolean recursive) findOfflineNodeIds
(long minutesOffline) Find nodes that have been offline for the configured timeframe beforeIOfflineClientListener
andIOfflineServerListener
will be calledfindOfflineNodes
(long minutesOffline) Find nodes that have been offline for a number of minutesfindOrCreateNodeSecurity
(String nodeId) findSourceNodesFor
(NodeGroupLinkAction eventAction) findTargetNodesFor
(NodeGroupLinkAction eventAction) protected void
fireOffline
(List<Node> offlineClientNodeList) void
void
void
getAuthenticationStatus
(String nodeId, String securityToken) getExternalId
(String nodeId) protected <T> T
getFirstEntry
(List<T> list) Get the current status of this node.getNodeStatus
(String nodeId) getSourceNodesFromDatabase
(NodeGroupLinkAction eventAction, Node node) getTargetNodesFromDatabase
(NodeGroupLinkAction eventAction, Node node) void
ignoreNodeChannelForExternalId
(boolean enabled, String channelId, String nodeGroupId, String externalId) void
incrementNodeFailedLogins
(String nodeId) void
insertNodeGroup
(String groupId, String description) void
insertNodeIdentity
(String nodeId) void
boolean
boolean
isDataLoadCompleted
(String nodeId) boolean
boolean
isDataLoadStarted
(String nodeId) boolean
isExternalIdRegistered
(String nodeGroupId, String externalId) protected boolean
isNodeAuthorizationLocked
(String nodeId) boolean
isNodeAuthorized
(String nodeId, String password) Check that the given node and password match in the node_security table.protected boolean
isNodePasswordFailedDecrypt
(String nodeId) boolean
isRegistrationEnabled
(String nodeId) boolean
protected boolean
registrationOpen
(Node node) void
resetNodeFailedLogins
(String nodeId) void
boolean
setInitialLoadEnabled
(String nodeId, boolean initialLoadEnabled, boolean syncChange, long loadId, String createBy) boolean
setInitialLoadEnabled
(ISqlTransaction transaction, String nodeId, boolean initialLoadEnabled, boolean syncChange, long loadId, String createBy) boolean
setInitialLoadEnded
(ISqlTransaction transaction, String nodeId) void
setNodePasswordFilter
(INodePasswordFilter nodePasswordFilter) boolean
setPartialLoadEnded
(ISqlTransaction transaction, String nodeId) boolean
setPartialLoadStarted
(ISqlTransaction transaction, String nodeId, long loadId, String createBy) boolean
setReverseInitialLoadEnabled
(String nodeId, boolean initialLoadEnabled, boolean syncChange, long loadId, String createBy) boolean
setReverseInitialLoadEnabled
(ISqlTransaction transaction, String nodeId, boolean initialLoadEnabled, boolean syncChange, long loadId, String createBy) protected boolean
syncEnabled
(Node node) boolean
updateNode
(Node node) void
updateNodeHost
(NodeHost nodeHost) void
boolean
updateNodeSecurity
(ISqlTransaction transaction, NodeSecurity security) boolean
updateNodeSecurity
(NodeSecurity security) Methods inherited from class org.jumpmind.symmetric.service.impl.AbstractService
assertNotNull, buildBatchOrderBy, buildBatchParams, buildBatchWhere, buildBatchWhereFromFilter, close, createSqlReplacementTokens, getJdbcTemplate, getParameterService, getSql, getSymmetricDialect, getTablePrefix, getTargetDialect, getTargetPlatform, getTargetPlatform, isCalledFromSymmetricAdminTool, isSet, isStreamClosedByClient, isSymmetricTable, logOnce, maxDate, readAcks, sendAck, setSqlMap, synchronize, toNodeIds, toNodeIds
-
Constructor Details
-
NodeService
-
-
Method Details
-
findSymmetricVersion
- Specified by:
findSymmetricVersion
in interfaceINodeService
-
findIdentityNodeId
- Specified by:
findIdentityNodeId
in interfaceINodeService
-
getExternalId
- Specified by:
getExternalId
in interfaceINodeService
-
findEnabledNodesFromNodeGroup
- Specified by:
findEnabledNodesFromNodeGroup
in interfaceINodeService
-
getEnabledNodesFromDatabase
- Specified by:
getEnabledNodesFromDatabase
in interfaceINodeService
-
findNodesThatOriginatedFromNodeId
Description copied from interface:INodeService
Find a list ofNode
s that were create at the passed in node or were created at a node that was created by the passed in node (recursively).- Specified by:
findNodesThatOriginatedFromNodeId
in interfaceINodeService
-
findNodesWithOpenRegistration
- Specified by:
findNodesWithOpenRegistration
in interfaceINodeService
-
findNodesThatOriginatedFromNodeId
- Specified by:
findNodesThatOriginatedFromNodeId
in interfaceINodeService
-
findNode
Lookup a node in the database, which contains information for syncing with it.- Specified by:
findNode
in interfaceINodeService
-
findNodeInCacheOnly
- Specified by:
findNodeInCacheOnly
in interfaceINodeService
-
findNode
- Specified by:
findNode
in interfaceINodeService
-
flushNodeCache
public void flushNodeCache()- Specified by:
flushNodeCache
in interfaceINodeService
-
findNodeByExternalId
- Specified by:
findNodeByExternalId
in interfaceINodeService
-
ignoreNodeChannelForExternalId
public void ignoreNodeChannelForExternalId(boolean enabled, String channelId, String nodeGroupId, String externalId) - Specified by:
ignoreNodeChannelForExternalId
in interfaceINodeService
-
findNodeHosts
- Specified by:
findNodeHosts
in interfaceINodeService
-
deleteNodeHost
- Specified by:
deleteNodeHost
in interfaceINodeService
-
deleteNodeHostInstance
- Specified by:
deleteNodeHostInstance
in interfaceINodeService
-
updateNodeHost
- Specified by:
updateNodeHost
in interfaceINodeService
-
updateNodeHostForCurrentNode
public void updateNodeHostForCurrentNode()- Specified by:
updateNodeHostForCurrentNode
in interfaceINodeService
-
deleteNode
- Specified by:
deleteNode
in interfaceINodeService
-
deleteNode
- Specified by:
deleteNode
in interfaceINodeService
-
insertNodeIdentity
- Specified by:
insertNodeIdentity
in interfaceINodeService
-
deleteIdentity
public boolean deleteIdentity()- Specified by:
deleteIdentity
in interfaceINodeService
-
insertNodeGroup
- Specified by:
insertNodeGroup
in interfaceINodeService
-
save
- Specified by:
save
in interfaceINodeService
-
updateNode
-
getFirstEntry
-
getCachedIdentity
- Specified by:
getCachedIdentity
in interfaceINodeService
-
findIdentity
- Specified by:
findIdentity
in interfaceINodeService
-
findIdentity
- Specified by:
findIdentity
in interfaceINodeService
-
findIdentity
- Specified by:
findIdentity
in interfaceINodeService
-
findNodesToPull
- Specified by:
findNodesToPull
in interfaceINodeService
-
findNodesWhoPushToMe
- Specified by:
findNodesWhoPushToMe
in interfaceINodeService
-
findNodesToPushTo
- Specified by:
findNodesToPushTo
in interfaceINodeService
-
findNodesWhoPullFromMe
- Specified by:
findNodesWhoPullFromMe
in interfaceINodeService
-
findSourceNodesFor
- Specified by:
findSourceNodesFor
in interfaceINodeService
-
getSourceNodesFromDatabase
- Specified by:
getSourceNodesFromDatabase
in interfaceINodeService
-
findTargetNodesFor
- Specified by:
findTargetNodesFor
in interfaceINodeService
-
getTargetNodesFromDatabase
- Specified by:
getTargetNodesFromDatabase
in interfaceINodeService
-
flushNodeGroupCache
public void flushNodeGroupCache()- Specified by:
flushNodeGroupCache
in interfaceINodeService
-
findAllExternalIds
- Specified by:
findAllExternalIds
in interfaceINodeService
-
findAllNodes
- Specified by:
findAllNodes
in interfaceINodeService
-
findAllNodes
- Specified by:
findAllNodes
in interfaceINodeService
-
findAllNodesAsMap
- Specified by:
findAllNodesAsMap
in interfaceINodeService
-
findFilteredNodesWithLimit
public List<Node> findFilteredNodesWithLimit(int offset, int limit, List<FilterCriterion> filter, String orderColumn, String orderDirection) - Specified by:
findFilteredNodesWithLimit
in interfaceINodeService
-
countFilteredNodes
- Specified by:
countFilteredNodes
in interfaceINodeService
-
buildWhere
-
buildParams
-
buildOrderBy
-
getRootNetworkedNode
- Specified by:
getRootNetworkedNode
in interfaceINodeService
-
findRootNode
- Specified by:
findRootNode
in interfaceINodeService
-
findNodeSecurity
Lookup a node_security in the database, which contains private information used to authenticate.- Specified by:
findNodeSecurity
in interfaceINodeService
-
findNodeSecurity
- Specified by:
findNodeSecurity
in interfaceINodeService
-
findOrCreateNodeSecurity
- Specified by:
findOrCreateNodeSecurity
in interfaceINodeService
-
isRegistrationEnabled
- Specified by:
isRegistrationEnabled
in interfaceINodeService
-
insertNodeSecurity
-
deleteNodeSecurity
- Specified by:
deleteNodeSecurity
in interfaceINodeService
-
findNodeSecurityWithLoadEnabled
- Specified by:
findNodeSecurityWithLoadEnabled
in interfaceINodeService
-
findAllNodeSecurity
- Specified by:
findAllNodeSecurity
in interfaceINodeService
-
isNodeAuthorized
Check that the given node and password match in the node_security table. A node must authenticate before it's allowed to sync data.- Specified by:
isNodeAuthorized
in interfaceINodeService
-
isNodeAuthorizationLocked
-
isNodePasswordFailedDecrypt
-
flushNodeAuthorizedCache
public void flushNodeAuthorizedCache()- Specified by:
flushNodeAuthorizedCache
in interfaceINodeService
-
updateNodeSecurity
- Specified by:
updateNodeSecurity
in interfaceINodeService
-
updateNodeSecurity
- Specified by:
updateNodeSecurity
in interfaceINodeService
-
setInitialLoadEnabled
public boolean setInitialLoadEnabled(ISqlTransaction transaction, String nodeId, boolean initialLoadEnabled, boolean syncChange, long loadId, String createBy) - Specified by:
setInitialLoadEnabled
in interfaceINodeService
-
setInitialLoadEnabled
public boolean setInitialLoadEnabled(String nodeId, boolean initialLoadEnabled, boolean syncChange, long loadId, String createBy) - Specified by:
setInitialLoadEnabled
in interfaceINodeService
-
setInitialLoadEnded
- Specified by:
setInitialLoadEnded
in interfaceINodeService
-
setPartialLoadStarted
public boolean setPartialLoadStarted(ISqlTransaction transaction, String nodeId, long loadId, String createBy) - Specified by:
setPartialLoadStarted
in interfaceINodeService
-
setPartialLoadEnded
- Specified by:
setPartialLoadEnded
in interfaceINodeService
-
setReverseInitialLoadEnabled
public boolean setReverseInitialLoadEnabled(ISqlTransaction transaction, String nodeId, boolean initialLoadEnabled, boolean syncChange, long loadId, String createBy) - Specified by:
setReverseInitialLoadEnabled
in interfaceINodeService
-
setReverseInitialLoadEnabled
public boolean setReverseInitialLoadEnabled(String nodeId, boolean initialLoadEnabled, boolean syncChange, long loadId, String createBy) - Specified by:
setReverseInitialLoadEnabled
in interfaceINodeService
-
isExternalIdRegistered
- Specified by:
isExternalIdRegistered
in interfaceINodeService
-
isDataLoadCompleted
public boolean isDataLoadCompleted()- Specified by:
isDataLoadCompleted
in interfaceINodeService
- Returns:
- true if a data load has occurred and has been completed.
-
isDataLoadCompleted
- Specified by:
isDataLoadCompleted
in interfaceINodeService
-
isDataLoadStarted
public boolean isDataLoadStarted()- Specified by:
isDataLoadStarted
in interfaceINodeService
- Returns:
- true if a data load has started but not yet completed.
-
isDataLoadStarted
- Specified by:
isDataLoadStarted
in interfaceINodeService
-
isRegistrationServer
public boolean isRegistrationServer()- Specified by:
isRegistrationServer
in interfaceINodeService
-
getNodeStatus
Description copied from interface:INodeService
Get the current status of this node.- Specified by:
getNodeStatus
in interfaceINodeService
- Returns:
NodeStatus
-
getNodeStatus
- Specified by:
getNodeStatus
in interfaceINodeService
-
setNodePasswordFilter
-
checkForOfflineNodes
public void checkForOfflineNodes()Description copied from interface:INodeService
Check to see if any nodes are offline and process any nodes found using the configured IOfflineNodeHandler.- Specified by:
checkForOfflineNodes
in interfaceINodeService
-
findOfflineNodes
Description copied from interface:INodeService
Find nodes that have been offline for the configured timeframe beforeIOfflineClientListener
andIOfflineServerListener
will be called- Specified by:
findOfflineNodes
in interfaceINodeService
- Returns:
- list of offline nodes
-
findOfflineNodes
Description copied from interface:INodeService
Find nodes that have been offline for a number of minutes- Specified by:
findOfflineNodes
in interfaceINodeService
- Parameters:
minutesOffline
- the number of minutes that have passed that a node has not checked in for until it is considered offline- Returns:
- list of offline nodes
-
findLastHeartbeats
- Specified by:
findLastHeartbeats
in interfaceINodeService
-
findOfflineNodeIds
- Specified by:
findOfflineNodeIds
in interfaceINodeService
-
fireOffline
-
getAuthenticationStatus
public INodeService.AuthenticationStatus getAuthenticationStatus(String nodeId, String securityToken) - Specified by:
getAuthenticationStatus
in interfaceINodeService
-
resetNodeFailedLogins
- Specified by:
resetNodeFailedLogins
in interfaceINodeService
-
incrementNodeFailedLogins
- Specified by:
incrementNodeFailedLogins
in interfaceINodeService
-
syncEnabled
-
registrationOpen
-