String property = nullToEmpty(announcement.getProperties().get("connectorIds")); List<String> values = Splitter.on(',').trimResults().omitEmptyStrings().splitToList(property); Set<String> connectorIds = new LinkedHashSet<>(values); for (Map.Entry<String, String> entry : announcement.getProperties().entrySet()) { if (!entry.getKey().equals("connectorIds")) { builder.addProperty(entry.getKey(), entry.getValue());
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(); }
@Override public CheckedFuture<Duration, DiscoveryException> announce(Set<ServiceAnnouncement> services) { Preconditions.checkNotNull(services, "services is null"); ImmutableSet.Builder<ServiceDescriptor> builder = ImmutableSet.builder(); for (ServiceAnnouncement service : services) { builder.add(new ServiceDescriptor(service.getId(), nodeInfo.getNodeId(), service.getType(), nodeInfo.getPool(), null, ServiceState.RUNNING, service.getProperties())); } announcements.set(builder.build()); return Futures.immediateCheckedFuture(maxAge); }
private void assertAnnouncement(Set<ServiceAnnouncement> actualAnnouncements, ServiceAnnouncement expected) { assertNotNull(actualAnnouncements); assertEquals(actualAnnouncements.size(), 1); ServiceAnnouncement announcement = Iterables.getOnlyElement(actualAnnouncements); assertEquals(announcement.getType(), expected.getType()); assertEquals(announcement.getProperties(), expected.getProperties()); } }
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 void assertAnnouncement(Set<ServiceAnnouncement> actualAnnouncements, ServiceAnnouncement expected) { assertNotNull(actualAnnouncements); assertEquals(actualAnnouncements.size(), 1); ServiceAnnouncement announcement = Iterables.getOnlyElement(actualAnnouncements); assertEquals(announcement.getType(), expected.getType()); assertEquals(announcement.getProperties(), expected.getProperties()); } }
private void assertAnnouncement(Set<ServiceAnnouncement> actualAnnouncements, ServiceAnnouncement expected) { Assert.assertNotNull(actualAnnouncements); Assert.assertEquals(actualAnnouncements.size(), 1); ServiceAnnouncement announcement = Iterables.getOnlyElement(actualAnnouncements); Assert.assertEquals(announcement.getType(), expected.getType()); Assert.assertEquals(announcement.getProperties(), expected.getProperties()); } }
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 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(); }
String property = nullToEmpty(announcement.getProperties().get("datasources")); List<String> values = Splitter.on(',').trimResults().omitEmptyStrings().splitToList(property); Set<String> datasources = new LinkedHashSet<>(values); for (Map.Entry<String, String> entry : announcement.getProperties().entrySet()) { if (!entry.getKey().equals("datasources")) { builder.addProperty(entry.getKey(), entry.getValue());
String property = nullToEmpty(announcement.getProperties().get("connectorIds")); List<String> values = Splitter.on(',').trimResults().omitEmptyStrings().splitToList(property); Set<String> connectorIds = new LinkedHashSet<>(values); for (Map.Entry<String, String> entry : announcement.getProperties().entrySet()) { if (!entry.getKey().equals("connectorIds")) { builder.addProperty(entry.getKey(), entry.getValue());
String property = nullToEmpty(announcement.getProperties().get("connectorIds")); List<String> values = Splitter.on(',').trimResults().omitEmptyStrings().splitToList(property); Set<String> connectorIds = new LinkedHashSet<>(values); for (Map.Entry<String, String> entry : announcement.getProperties().entrySet()) { if (!entry.getKey().equals("connectorIds")) { builder.addProperty(entry.getKey(), entry.getValue());
private void assertAnnouncement(ServiceAnnouncement announcement, String type, Map<String, String> properties) { assertNotNull(announcement.getId()); assertEquals(announcement.getType(), type); assertEquals(announcement.getProperties(), properties); }
private void assertAnnouncement(ServiceAnnouncement announcement, String type, Map<String, String> properties) { assertNotNull(announcement.getId()); assertEquals(announcement.getType(), type); assertEquals(announcement.getProperties(), properties); }
private void assertAnnouncement(ServiceAnnouncement announcement, String type, Map<String, String> properties) { assertNotNull(announcement.getId()); assertEquals(announcement.getType(), type); assertEquals(announcement.getProperties(), properties); }
private void assertAnnounced(ServiceAnnouncement... serviceAnnouncements) { ServiceDescriptors serviceDescriptors = discoveryClient.getServices(serviceType.value(), "pool").checkedGet(); assertEquals(serviceDescriptors.getType(), serviceType.value()); assertEquals(serviceDescriptors.getPool(), "pool"); assertNotNull(serviceDescriptors.getETag()); assertEquals(serviceDescriptors.getMaxAge(), MAX_AGE); List<ServiceDescriptor> descriptors = serviceDescriptors.getServiceDescriptors(); assertEquals(descriptors.size(), serviceAnnouncements.length); ImmutableMap.Builder<UUID, ServiceDescriptor> builder = ImmutableMap.builder(); for (ServiceDescriptor descriptor : descriptors) { builder.put(descriptor.getId(), descriptor); } Map<UUID, ServiceDescriptor> descriptorMap = builder.build(); for (ServiceAnnouncement serviceAnnouncement : serviceAnnouncements) { ServiceDescriptor serviceDescriptor = descriptorMap.get(serviceAnnouncement.getId()); assertNotNull(serviceDescriptor, "No descriptor for announcement " + serviceAnnouncement.getId()); assertEquals(serviceDescriptor.getType(), serviceType.value()); assertEquals(serviceDescriptor.getPool(), "pool"); assertEquals(serviceDescriptor.getId(), serviceAnnouncement.getId()); assertEquals(serviceDescriptor.getProperties(), serviceAnnouncement.getProperties()); assertEquals(serviceDescriptor.getNodeId(), nodeInfo.getNodeId()); } } }
private void assertAnnounced(ServiceAnnouncement... serviceAnnouncements) { Future<ServiceDescriptors> future = discoveryClient.getServices(serviceType.value(), "pool"); ServiceDescriptors serviceDescriptors = getFutureValue(future, DiscoveryException.class); assertEquals(serviceDescriptors.getType(), serviceType.value()); assertEquals(serviceDescriptors.getPool(), "pool"); assertNotNull(serviceDescriptors.getETag()); assertEquals(serviceDescriptors.getMaxAge(), MAX_AGE); List<ServiceDescriptor> descriptors = serviceDescriptors.getServiceDescriptors(); assertEquals(descriptors.size(), serviceAnnouncements.length); ImmutableMap.Builder<UUID, ServiceDescriptor> builder = ImmutableMap.builder(); for (ServiceDescriptor descriptor : descriptors) { builder.put(descriptor.getId(), descriptor); } Map<UUID, ServiceDescriptor> descriptorMap = builder.build(); for (ServiceAnnouncement serviceAnnouncement : serviceAnnouncements) { ServiceDescriptor serviceDescriptor = descriptorMap.get(serviceAnnouncement.getId()); assertNotNull(serviceDescriptor, "No descriptor for announcement " + serviceAnnouncement.getId()); assertEquals(serviceDescriptor.getType(), serviceType.value()); assertEquals(serviceDescriptor.getPool(), "pool"); assertEquals(serviceDescriptor.getId(), serviceAnnouncement.getId()); assertEquals(serviceDescriptor.getProperties(), serviceAnnouncement.getProperties()); assertEquals(serviceDescriptor.getNodeId(), nodeInfo.getNodeId()); } } }
private void assertAnnounced(ServiceAnnouncement... serviceAnnouncements) { Future<ServiceDescriptors> future = discoveryClient.getServices(serviceType.value(), "pool"); ServiceDescriptors serviceDescriptors = getFutureValue(future, DiscoveryException.class); assertEquals(serviceDescriptors.getType(), serviceType.value()); assertEquals(serviceDescriptors.getPool(), "pool"); assertNotNull(serviceDescriptors.getETag()); assertEquals(serviceDescriptors.getMaxAge(), MAX_AGE); List<ServiceDescriptor> descriptors = serviceDescriptors.getServiceDescriptors(); assertEquals(descriptors.size(), serviceAnnouncements.length); ImmutableMap.Builder<UUID, ServiceDescriptor> builder = ImmutableMap.builder(); for (ServiceDescriptor descriptor : descriptors) { builder.put(descriptor.getId(), descriptor); } Map<UUID, ServiceDescriptor> descriptorMap = builder.build(); for (ServiceAnnouncement serviceAnnouncement : serviceAnnouncements) { ServiceDescriptor serviceDescriptor = descriptorMap.get(serviceAnnouncement.getId()); assertNotNull(serviceDescriptor, "No descriptor for announcement " + serviceAnnouncement.getId()); assertEquals(serviceDescriptor.getType(), serviceType.value()); assertEquals(serviceDescriptor.getPool(), "pool"); assertEquals(serviceDescriptor.getId(), serviceAnnouncement.getId()); assertEquals(serviceDescriptor.getProperties(), serviceAnnouncement.getProperties()); assertEquals(serviceDescriptor.getNodeId(), nodeInfo.getNodeId()); } } }
assertEquals(service.getLocation(), announcerNodeInfo.getLocation()); assertEquals(service.getPool(), announcerNodeInfo.getPool()); assertEquals(service.getProperties(), announcement.getProperties());
ServiceDescriptor descriptor = Iterables.getOnlyElement(descriptors); assertEquals(descriptor.getProperties(), announcement.getProperties());