package com.hubspot.baragon.service; import java.util.Collection; import java.util.Set; import org.apache.curator.framework.CuratorFramework; import com.fasterxml.jackson.databind.ObjectMapper; import com.google.common.base.Optional; import com.google.inject.Inject; import com.hubspot.baragon.config.ZooKeeperConfiguration; import com.hubspot.baragon.data.BaragonLoadBalancerDatastore; import com.hubspot.baragon.models.BaragonAgentMetadata; public class BaragonLoadBalancerTestDatastore extends BaragonLoadBalancerDatastore { private Optional<Set<String>> loadBalancerGroupsOverride = Optional.absent(); private Optional<Collection<BaragonAgentMetadata>> loadBalancerAgentsOverride = Optional.absent(); @Inject public BaragonLoadBalancerTestDatastore(CuratorFramework curatorFramework, ObjectMapper objectMapper, ZooKeeperConfiguration zooKeeperConfiguration) { super(curatorFramework, objectMapper, zooKeeperConfiguration); } public void setLoadBalancerGroupsOverride(Optional<Set<String>> loadBalancerGroupsOverride) { this.loadBalancerGroupsOverride = loadBalancerGroupsOverride; } public void setLoadBalancerAgentsOverride(Optional<Collection<BaragonAgentMetadata>> loadBalancerAgentsOverride) { this.loadBalancerAgentsOverride = loadBalancerAgentsOverride; } @Override public Set<String> getLoadBalancerGroupNames() { if (loadBalancerGroupsOverride.isPresent()) { return loadBalancerGroupsOverride.get(); } return super.getLoadBalancerGroupNames(); } @Override public Collection<BaragonAgentMetadata> getAgentMetadata(Collection<String> clusterNames) { if (loadBalancerAgentsOverride.isPresent()) { return loadBalancerAgentsOverride.get(); } else { return super.getAgentMetadata(clusterNames); } } @Override public Collection<BaragonAgentMetadata> getAgentMetadata(String clusterName) { if (loadBalancerAgentsOverride.isPresent()) { return loadBalancerAgentsOverride.get(); } else { return super.getAgentMetadata(clusterName); } } }