Example usage for org.springframework.util LinkedMultiValueMap isEmpty

List of usage examples for org.springframework.util LinkedMultiValueMap isEmpty

Introduction

In this page you can find the example usage for org.springframework.util LinkedMultiValueMap isEmpty.

Prototype

@Override
    public boolean isEmpty() 

Source Link

Usage

From source file:com.thoughtworks.go.server.service.ElasticAgentPluginService.java

public void heartbeat() {
    LinkedMultiValueMap<String, ElasticAgentMetadata> elasticAgentsOfMissingPlugins = agentService
            .allElasticAgents();/*from  w w w.  ja  v a  2 s.com*/
    //      pingMessage TTL is set lesser than elasticPluginHeartBeatInterval to ensure there aren't multiple ping request for the same plugin
    long pingMessageTimeToLive = elasticPluginHeartBeatInterval - 10000L;

    for (PluginDescriptor descriptor : elasticAgentPluginRegistry.getPlugins()) {
        List<ClusterProfile> clusterProfiles = clusterProfilesService.getPluginProfiles()
                .findByPluginId(descriptor.id());
        serverPingQueue.post(new ServerPingMessage(descriptor.id(), clusterProfiles), pingMessageTimeToLive);
        elasticAgentsOfMissingPlugins.remove(descriptor.id());
        serverHealthService.removeByScope(scope(descriptor.id()));
    }

    if (!elasticAgentsOfMissingPlugins.isEmpty()) {
        for (String pluginId : elasticAgentsOfMissingPlugins.keySet()) {
            Collection<String> uuids = elasticAgentsOfMissingPlugins.get(pluginId).stream()
                    .map(ElasticAgentMetadata::uuid).collect(Collectors.toList());
            String description = format(
                    "Elastic agent plugin with identifier %s has gone missing, but left behind %s agent(s) with UUIDs %s.",
                    pluginId, elasticAgentsOfMissingPlugins.get(pluginId).size(), uuids);
            serverHealthService.update(ServerHealthState.warning("Elastic agents with no matching plugins",
                    description, HealthStateType.general(scope(pluginId))));
            LOGGER.warn(description);
        }
    }
}