package io.airlift.airship.coordinator; import com.google.common.base.Preconditions; import io.airlift.airship.shared.AgentLifecycleState; import io.airlift.airship.shared.AgentStatus; import java.util.Map; public class MockRemoteAgentFactory implements RemoteAgentFactory { private final Map<String, AgentStatus> agents; public MockRemoteAgentFactory(Map<String, AgentStatus> agents) { Preconditions.checkNotNull(agents, "agents is null"); this.agents = agents; } @Override public RemoteAgent createRemoteAgent(Instance instance, AgentLifecycleState state) { AgentStatus agentStatus = agents.get(instance.getInstanceId()); Preconditions.checkArgument(agentStatus != null, "Unknown instance %s", instance.getInstanceId()); return new MockRemoteAgent(instance.getInstanceId(), agents); } }