All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.opencredo.concourse.redis.RedisAggregateCatalogue Maven / Gradle / Ivy

The newest version!
package com.opencredo.concourse.redis;

import com.opencredo.concourse.domain.events.cataloguing.AggregateCatalogue;
import redis.clients.jedis.Jedis;

import java.util.List;
import java.util.UUID;
import java.util.stream.Collectors;

public final class RedisAggregateCatalogue implements AggregateCatalogue {

    public static RedisAggregateCatalogue create(Jedis jedis) {
        return new RedisAggregateCatalogue(jedis);
    }

    private final Jedis jedis;

    private RedisAggregateCatalogue(Jedis jedis) {
        this.jedis = jedis;
    }

    @Override
    public void add(String aggregateType, UUID aggregateId) {
        jedis.sadd(aggregateType, aggregateId.toString());
    }

    @Override
    public void remove(String aggregateType, UUID aggregateId) {
        jedis.srem(aggregateType, aggregateId.toString());
    }

    @Override
    public List getUuids(String aggregateType) {
        return jedis.smembers(aggregateType).stream().map(UUID::fromString).collect(Collectors.toList());
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy