private static void updateConnectorIdAnnouncement(Announcer announcer, ConnectorId connectorId, InternalNodeManager nodeManager) { // // This code was copied from PrestoServer, and is a hack that should be removed when the connectorId property is removed // // get existing announcement ServiceAnnouncement announcement = getPrestoAnnouncement(announcer.getServiceAnnouncements()); // update connectorIds property Map<String, String> properties = new LinkedHashMap<>(announcement.getProperties()); String property = nullToEmpty(properties.get("connectorIds")); Set<String> connectorIds = new LinkedHashSet<>(Splitter.on(',').trimResults().omitEmptyStrings().splitToList(property)); connectorIds.add(connectorId.toString()); properties.put("connectorIds", Joiner.on(',').join(connectorIds)); // update announcement announcer.removeServiceAnnouncement(announcement.getId()); announcer.addServiceAnnouncement(serviceAnnouncement(announcement.getType()).addProperties(properties).build()); announcer.forceAnnounce(); nodeManager.refreshNodes(); }
private static void updateDatasourcesAnnouncement(Announcer announcer, String connectorId) { // // This code was copied from PrestoServer, and is a hack that should be removed when the data source property is removed // // get existing announcement ServiceAnnouncement announcement = getPrestoAnnouncement(announcer.getServiceAnnouncements()); // update datasources property Map<String, String> properties = new LinkedHashMap<>(announcement.getProperties()); String property = nullToEmpty(properties.get("datasources")); Set<String> datasources = new LinkedHashSet<>(Splitter.on(',').trimResults().omitEmptyStrings().splitToList(property)); datasources.add(connectorId); properties.put("datasources", Joiner.on(',').join(datasources)); // update announcement announcer.removeServiceAnnouncement(announcement.getId()); announcer.addServiceAnnouncement(serviceAnnouncement(announcement.getType()).addProperties(properties).build()); announcer.forceAnnounce(); }
private static void updateConnectorIdAnnouncement(Announcer announcer, ConnectorId connectorId, InternalNodeManager nodeManager) { // // This code was copied from PrestoServer, and is a hack that should be removed when the connectorId property is removed // // get existing announcement ServiceAnnouncement announcement = getPrestoAnnouncement(announcer.getServiceAnnouncements()); // update connectorIds property Map<String, String> properties = new LinkedHashMap<>(announcement.getProperties()); String property = nullToEmpty(properties.get("connectorIds")); Set<String> connectorIds = new LinkedHashSet<>(Splitter.on(',').trimResults().omitEmptyStrings().splitToList(property)); connectorIds.add(connectorId.toString()); properties.put("connectorIds", Joiner.on(',').join(connectorIds)); // update announcement announcer.removeServiceAnnouncement(announcement.getId()); announcer.addServiceAnnouncement(serviceAnnouncement(announcement.getType()).addProperties(properties).build()); announcer.forceAnnounce(); nodeManager.refreshNodes(); }
.addProperties(ImmutableMap.of("key", "value")) .build();
private static void updateConnectorIdAnnouncement(Announcer announcer, ConnectorId connectorId, InternalNodeManager nodeManager) { // // This code was copied from PrestoServer, and is a hack that should be removed when the connectorId property is removed // // get existing announcement ServiceAnnouncement announcement = getPrestoAnnouncement(announcer.getServiceAnnouncements()); // update connectorIds property Map<String, String> properties = new LinkedHashMap<>(announcement.getProperties()); String property = nullToEmpty(properties.get("connectorIds")); Set<String> connectorIds = new LinkedHashSet<>(Splitter.on(',').trimResults().omitEmptyStrings().splitToList(property)); connectorIds.add(connectorId.toString()); properties.put("connectorIds", Joiner.on(',').join(connectorIds)); // update announcement announcer.removeServiceAnnouncement(announcement.getId()); announcer.addServiceAnnouncement(serviceAnnouncement(announcement.getType()).addProperties(properties).build()); announcer.forceAnnounce(); nodeManager.refreshNodes(); }
@Test public void testBuilder() { assertAnnouncement(serviceAnnouncement("foo").build(), "foo", ImmutableMap.<String, String>of()); assertAnnouncement(serviceAnnouncement("foo").build(), "foo", ImmutableMap.<String, String>of()); assertAnnouncement(serviceAnnouncement("foo").addProperty("a", "apple").build(), "foo", ImmutableMap.of("a", "apple")); assertAnnouncement(serviceAnnouncement("foo").addProperties(ImmutableMap.of("a", "apple", "b", "banana")).build(), "foo", ImmutableMap.of("a", "apple", "b", "banana")); }
@Test public void testBuilder() { assertAnnouncement(serviceAnnouncement("foo").build(), "foo", ImmutableMap.<String, String>of()); assertAnnouncement(serviceAnnouncement("foo").build(), "foo", ImmutableMap.<String, String>of()); assertAnnouncement(serviceAnnouncement("foo").addProperty("a", "apple").build(), "foo", ImmutableMap.of("a", "apple")); assertAnnouncement(serviceAnnouncement("foo").addProperties(ImmutableMap.of("a", "apple", "b", "banana")).build(), "foo", ImmutableMap.of("a", "apple", "b", "banana")); }
@Test public void testBuilder() { assertAnnouncement(serviceAnnouncement("foo").build(), "foo", ImmutableMap.<String, String>of()); assertAnnouncement(serviceAnnouncement("foo").build(), "foo", ImmutableMap.<String, String>of()); assertAnnouncement(serviceAnnouncement("foo").addProperty("a", "apple").build(), "foo", ImmutableMap.of("a", "apple")); assertAnnouncement(serviceAnnouncement("foo").addProperties(ImmutableMap.of("a", "apple", "b", "banana")).build(), "foo", ImmutableMap.of("a", "apple", "b", "banana")); }