noctarius
01/11/2017, 10:31 AMoverride fun findAllConnections(): MultiValueMap<String, Connection<*>> {
val connections = connectionRepository.findAllByUserIdOrderByProviderIdDescRankDesc(userId)
val providers = connections.map(mapConnectionModel)
.map { connectionFactoryLocator.getConnectionFactory(it.providerId).createConnection(it) }
.groupBy { it.key.providerId }.toSortedMap()
val registeredProviders = connectionFactoryLocator.registeredProviderIds()
return registeredProviders.filter { rp -> providers.keys.contains(rp) }
.associateBy({ it }, { emptyList<Connection<*>>() }).plus(providers)
.let { LinkedMultiValueMap<String, Connection<*>>(it) }
}