use of org.jumpmind.symmetric.model.Node in project symmetric-ds by JumpMind.
the class SymmetricEngineHolder method uninstallEngine.
public void uninstallEngine(ISymmetricEngine engine) {
Node node = engine.getNodeService().getCachedIdentity();
String engineName = engine.getEngineName();
File file = new SymmetricAdmin("uninstall", "", "").findPropertiesFileForEngineWithName(engineName);
engine.uninstall();
engine.destroy();
if (file != null) {
file.delete();
}
getEngines().remove(engineName);
for (ISymmetricEngine existingEngine : this.getEngines().values()) {
existingEngine.removeAndCleanupNode(node.getNodeId());
}
}
use of org.jumpmind.symmetric.model.Node in project symmetric-ds by JumpMind.
the class StatisticManager method flush.
public void flush() {
boolean recordStatistics = parameterService.is(ParameterConstants.STATISTIC_RECORD_ENABLE, false);
if (channelStats != null) {
channelStatsLock.acquireUninterruptibly(NUMBER_OF_PERMITS);
try {
if (recordStatistics) {
Date endTime = new Date();
for (ChannelStats stats : channelStats.values()) {
if (stats.getNodeId().equals(UNKNOWN)) {
Node node = nodeService.getCachedIdentity();
if (node != null) {
stats.setNodeId(node.getNodeId());
}
}
stats.setEndTime(endTime);
statisticService.save(stats);
}
}
resetChannelStats(true);
} finally {
channelStatsLock.release(NUMBER_OF_PERMITS);
}
}
if (hostStats != null) {
hostStatsLock.acquireUninterruptibly(NUMBER_OF_PERMITS);
try {
if (recordStatistics) {
if (hostStats.getNodeId().equals(UNKNOWN)) {
Node node = nodeService.getCachedIdentity();
if (node != null) {
hostStats.setNodeId(node.getNodeId());
}
}
hostStats.setEndTime(new Date());
statisticService.save(hostStats);
}
hostStats = null;
} finally {
hostStatsLock.release(NUMBER_OF_PERMITS);
}
}
if (jobStats != null) {
List<JobStats> toFlush = null;
jobStatsLock.acquireUninterruptibly(NUMBER_OF_PERMITS);
try {
toFlush = jobStats;
jobStats = new ArrayList<JobStats>();
} finally {
jobStatsLock.release(NUMBER_OF_PERMITS);
}
if (toFlush != null && recordStatistics) {
Node node = nodeService.getCachedIdentity();
if (node != null) {
String nodeId = node.getNodeId();
String serverId = clusterService.getServerId();
for (JobStats stats : toFlush) {
stats.setNodeId(nodeId);
stats.setHostName(serverId);
statisticService.save(stats);
}
}
}
}
}
use of org.jumpmind.symmetric.model.Node in project symmetric-ds by JumpMind.
the class DefaultNodeIdCreatorTest method testSelectNodeId.
@Test
public void testSelectNodeId() throws Exception {
final String EXPECTED_NODE_ID = "100-2";
DefaultNodeIdCreator generator = new DefaultNodeIdCreator(new MockParameterService(), new MockNodeService() {
@Override
public NodeSecurity findNodeSecurity(String nodeId) {
if (nodeId.equals(EXPECTED_NODE_ID)) {
NodeSecurity security = new NodeSecurity();
security.setNodeId(EXPECTED_NODE_ID);
security.setRegistrationEnabled(true);
return security;
} else {
return null;
}
}
}, SecurityServiceFactory.create());
Node node = new Node();
node.setExternalId("100");
String selectedNodeId = generator.selectNodeId(node, null, null);
assertEquals(EXPECTED_NODE_ID, selectedNodeId);
}
use of org.jumpmind.symmetric.model.Node in project symmetric-ds by JumpMind.
the class DefaultNodeIdCreatorTest method testSelectNodeIdWithNodeIdSet.
@Test
public void testSelectNodeIdWithNodeIdSet() throws Exception {
DefaultNodeIdCreator generator = new DefaultNodeIdCreator(new MockParameterService(), new MockNodeService(), SecurityServiceFactory.create());
Node node = new Node();
final String EXPECTED_NODE_ID = "10001";
node.setExternalId(EXPECTED_NODE_ID);
node.setNodeId(EXPECTED_NODE_ID);
String selectedNodeId = generator.selectNodeId(node, null, null);
assertEquals(EXPECTED_NODE_ID, selectedNodeId);
}
use of org.jumpmind.symmetric.model.Node in project symmetric-ds by JumpMind.
the class DefaultNodeIdCreatorTest method testGenerateNodeIdExistingWithUniqueParam.
@Test
public void testGenerateNodeIdExistingWithUniqueParam() throws Exception {
final String EXPECTED_NODE_ID = "100-0";
IParameterService paramService = mock(IParameterService.class);
Mockito.when(paramService.is(ParameterConstants.EXTERNAL_ID_IS_UNIQUE)).thenReturn(false);
Mockito.when(paramService.getInt(ParameterConstants.NODE_ID_CREATOR_MAX_NODES, 100)).thenReturn(100);
DefaultNodeIdCreator generator = new DefaultNodeIdCreator(paramService, new MockNodeService() {
@Override
public Node findNode(String nodeId) {
if (nodeId.equals("100")) {
Node node = new Node();
node.setNodeId("100");
return node;
} else {
return null;
}
}
}, SecurityServiceFactory.create());
Node node = new Node();
node.setExternalId("100");
String selectedNodeId = generator.generateNodeId(node, null, null);
assertEquals(EXPECTED_NODE_ID, selectedNodeId);
}
Aggregations