public static void upsertNode(DbConn cnx, NodeDto dto) { if (dto.getId() != null) { QueryResult qr = cnx.runUpdate("node_update_changed_by_id", dto.getOutputDirectory(), dto.getDns(), dto.getEnabled(), dto.getJmxRegistryPort(), dto.getJmxServerPort(), dto.getLoadApiAdmin(), dto.getLoadApiClient(), dto.getLoapApiSimple(), dto.getName(), dto.getPort(), dto.getJobRepoDirectory(), dto.getRootLogLevel(), dto.getStop(), dto.getTmpDirectory(), dto.getId(), dto.getOutputDirectory(), dto.getDns(), dto.getEnabled(), dto.getJmxRegistryPort(), dto.getJmxServerPort(), dto.getLoadApiAdmin(), dto.getLoadApiClient(), dto.getLoapApiSimple(), dto.getName(), dto.getPort(), dto.getJobRepoDirectory(), dto.getRootLogLevel(), dto.getStop(), dto.getTmpDirectory()); if (qr.nbUpdated != 1) { jqmlogger.debug("No update was done as object either does not exist or no modifications were done"); } } else { // Should actually never be used... nodes should be created through CLI. Node.create(cnx, dto.getName(), dto.getPort(), dto.getOutputDirectory(), dto.getJobRepoDirectory(), dto.getTmpDirectory(), dto.getDns(), dto.getRootLogLevel()); } }
for (QueueMappingDto mapping : mappings) if (mapping.getNodeId().equals(template.getId())) r.setNodeId(target.getId()); r.setNodeName(target.getName()); r.setPollingInterval(mapping.getPollingInterval()); r.setQueueId(mapping.getQueueId()); toAdd.add(r); if (mapping.getNodeId().equals(target.getId())) target.setEnabled(template.getEnabled()); target.setJmxRegistryPort(template.getJmxRegistryPort()); target.setJmxServerPort(template.getJmxServerPort()); target.setJobRepoDirectory(template.getJobRepoDirectory()); target.setLoadApiAdmin(template.getLoadApiAdmin()); target.setLoadApiClient(template.getLoadApiClient()); target.setLoapApiSimple(template.getLoapApiSimple()); target.setOutputDirectory(template.getOutputDirectory()); target.setDns(template.getDns()); target.setPort(template.getPort()); target.setRootLogLevel(template.getRootLogLevel()); target.setTmpDirectory(template.getTmpDirectory()); MetaService.upsertNode(cnx, target);
@Test public void testTemplate() throws Exception { NodeDto template = MetaService.getNode(cnx, TestHelpers.nodeMix.getId()); template.setPort(123); MetaService.upsertNode(cnx, template); cnx.commit(); NodeDto target = MetaService.getNode(cnx, TestHelpers.node.getId()); Assert.assertEquals(3, MetaService.getNodeQueueMappings(cnx, target.getId()).size()); // Capital letter -> should be ignored. Main.runCommand(new String[] { "Install-NodeTemPlate", "-t", TestHelpers.nodeMix.getName(), "-n", TestHelpers.node.getName() }); target = MetaService.getNode(cnx, TestHelpers.node.getId()); Assert.assertEquals(template.getPort(), target.getPort()); Assert.assertEquals(1, MetaService.getNodeQueueMappings(cnx, target.getId()).size()); } }
public static void syncNodes(DbConn cnx, List<NodeDto> dtos) { for (NodeDto existing : getNodes(cnx)) { boolean foundInNewSet = false; for (NodeDto newdto : dtos) { if (newdto.getId() != null && newdto.getId().equals(existing.getId())) { foundInNewSet = true; break; } } if (!foundInNewSet) { deleteQueue(cnx, existing.getId()); } } for (NodeDto dto : dtos) { upsertNode(cnx, dto); } }
for (QueueMappingDto mapping : mappings) if (mapping.getNodeId().equals(template.getId())) r.setNodeId(target.getId()); r.setNodeName(target.getName()); r.setPollingInterval(mapping.getPollingInterval()); r.setQueueId(mapping.getQueueId()); toAdd.add(r); if (mapping.getNodeId().equals(target.getId())) target.setEnabled(template.getEnabled()); target.setJmxRegistryPort(template.getJmxRegistryPort()); target.setJmxServerPort(template.getJmxServerPort()); target.setJobRepoDirectory(template.getJobRepoDirectory()); target.setLoadApiAdmin(template.getLoadApiAdmin()); target.setLoadApiClient(template.getLoadApiClient()); target.setLoapApiSimple(template.getLoapApiSimple()); target.setOutputDirectory(template.getOutputDirectory()); target.setDns(template.getDns()); target.setPort(template.getPort()); target.setRootLogLevel(template.getRootLogLevel()); target.setTmpDirectory(template.getTmpDirectory()); MetaService.upsertNode(cnx, target);
public static void syncNodes(DbConn cnx, List<NodeDto> dtos) { for (NodeDto existing : getNodes(cnx)) { boolean foundInNewSet = false; for (NodeDto newdto : dtos) { if (newdto.getId() != null && newdto.getId().equals(existing.getId())) { foundInNewSet = true; break; } } if (!foundInNewSet) { deleteQueue(cnx, existing.getId()); } } for (NodeDto dto : dtos) { upsertNode(cnx, dto); } }
public static void upsertNode(DbConn cnx, NodeDto dto) { if (dto.getId() != null) { QueryResult qr = cnx.runUpdate("node_update_changed_by_id", dto.getOutputDirectory(), dto.getDns(), dto.getEnabled(), dto.getJmxRegistryPort(), dto.getJmxServerPort(), dto.getLoadApiAdmin(), dto.getLoadApiClient(), dto.getLoapApiSimple(), dto.getName(), dto.getPort(), dto.getJobRepoDirectory(), dto.getRootLogLevel(), dto.getStop(), dto.getTmpDirectory(), dto.getId(), dto.getOutputDirectory(), dto.getDns(), dto.getEnabled(), dto.getJmxRegistryPort(), dto.getJmxServerPort(), dto.getLoadApiAdmin(), dto.getLoadApiClient(), dto.getLoapApiSimple(), dto.getName(), dto.getPort(), dto.getJobRepoDirectory(), dto.getRootLogLevel(), dto.getStop(), dto.getTmpDirectory()); if (qr.nbUpdated != 1) { jqmlogger.debug("No update was done as object either does not exist or no modifications were done"); } } else { // Should actually never be used... nodes should be created through CLI. Node.create(cnx, dto.getName(), dto.getPort(), dto.getOutputDirectory(), dto.getJobRepoDirectory(), dto.getTmpDirectory(), dto.getDns(), dto.getRootLogLevel()); } }
if (dto.getName().equals("Node1")) Assert.assertEquals("Node1", node.getName()); Assert.assertEquals("localhost", node.getDns()); Assert.assertEquals((Integer) 1789, node.getPort()); Assert.assertEquals((Integer) 1790, node.getJmxRegistryPort()); Assert.assertEquals((Integer) 1791, node.getJmxServerPort()); Assert.assertTrue(node.getEnabled()); Assert.assertTrue(node.getLoadApiAdmin()); Assert.assertTrue(node.getLoadApiClient()); Assert.assertTrue(node.getLoapApiSimple()); Assert.assertEquals("./jobs", node.getJobRepoDirectory()); Assert.assertEquals("./tmp", node.getTmpDirectory()); Assert.assertEquals("./outputfiles", node.getOutputDirectory()); Assert.assertEquals("INFO", node.getRootLogLevel()); if (dto.getName().equals("Node1")) Assert.assertEquals("Node1", node.getName()); Assert.assertEquals("localhost2", node.getDns()); Assert.assertEquals((Integer) 2789, node.getPort()); Assert.assertEquals((Integer) 2790, node.getJmxRegistryPort()); Assert.assertEquals((Integer) 2791, node.getJmxServerPort());