|
|
|
@ -227,25 +227,25 @@ public class DefaultDataUpdateService implements DataUpdateService { |
|
|
|
@Override |
|
|
|
public void upgradeRuleNodes() { |
|
|
|
try { |
|
|
|
log.info("Lookup rule nodes to upgrade ..."); |
|
|
|
log.info("Starting versioned rule nodes upgrade ..."); |
|
|
|
var nodeClassToVersionMap = componentDiscoveryService.getVersionedNodes(); |
|
|
|
log.info("Found {} versioned nodes to check for upgrade!", nodeClassToVersionMap.size()); |
|
|
|
log.debug("Found {} versioned nodes to check for upgrade!", nodeClassToVersionMap.size()); |
|
|
|
nodeClassToVersionMap.forEach(clazz -> { |
|
|
|
var ruleNodeType = clazz.getClassName(); |
|
|
|
var ruleNodeTypeForLogs = clazz.getSimpleName(); |
|
|
|
var toVersion = clazz.getCurrentVersion(); |
|
|
|
log.info("Going to check for nodes with type: {} to upgrade to version: {}.", ruleNodeTypeForLogs, toVersion); |
|
|
|
log.debug("Going to check for nodes with type: {} to upgrade to version: {}.", ruleNodeTypeForLogs, toVersion); |
|
|
|
var ruleNodesToUpdate = new PageDataIterable<>( |
|
|
|
pageLink -> ruleChainService.findAllRuleNodesByTypeAndVersionLessThan(ruleNodeType, toVersion, pageLink), 1024 |
|
|
|
); |
|
|
|
if (Iterables.isEmpty(ruleNodesToUpdate)) { |
|
|
|
log.info("There are no active nodes with type: {}, or all nodes with this type already set to latest version!", ruleNodeTypeForLogs); |
|
|
|
log.debug("There are no active nodes with type: {}, or all nodes with this type already set to latest version!", ruleNodeTypeForLogs); |
|
|
|
} else { |
|
|
|
for (var ruleNode : ruleNodesToUpdate) { |
|
|
|
var ruleNodeId = ruleNode.getId(); |
|
|
|
var oldConfiguration = ruleNode.getConfiguration(); |
|
|
|
int fromVersion = ruleNode.getConfigurationVersion(); |
|
|
|
log.info("Going to upgrade rule node with id: {} type: {} fromVersion: {} toVersion: {}", |
|
|
|
log.debug("Going to upgrade rule node with id: {} type: {} fromVersion: {} toVersion: {}", |
|
|
|
ruleNodeId, ruleNodeTypeForLogs, fromVersion, toVersion); |
|
|
|
try { |
|
|
|
var tbVersionedNode = (TbVersionedNode) clazz.getClazz().getDeclaredConstructor().newInstance(); |
|
|
|
@ -255,7 +255,7 @@ public class DefaultDataUpdateService implements DataUpdateService { |
|
|
|
} |
|
|
|
ruleNode.setConfigurationVersion(toVersion); |
|
|
|
ruleChainService.saveRuleNode(TenantId.SYS_TENANT_ID, ruleNode); |
|
|
|
log.info("Successfully upgrade rule node with id: {} type: {} fromVersion: {} toVersion: {}", |
|
|
|
log.debug("Successfully upgrade rule node with id: {} type: {} fromVersion: {} toVersion: {}", |
|
|
|
ruleNodeId, ruleNodeTypeForLogs, fromVersion, toVersion); |
|
|
|
} catch (Exception e) { |
|
|
|
log.warn("Failed to upgrade rule node with id: {} type: {} fromVersion: {} toVersion: {} due to: ", |
|
|
|
|