package com.sequenceiq.cloudbreak.service.stack.repair;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class UnhealthyInstances {
private Map<String, List<String>> instancesByGroup = new HashMap<>();
public void addInstance(String instanceId, String groupName) {
if (!instancesByGroup.containsKey(groupName)) {
instancesByGroup.put(groupName, new ArrayList<>());
}
List<String> instanceIds = instancesByGroup.get(groupName);
instanceIds.add(instanceId);
}
public Iterable<? extends String> getHostGroups() {
return instancesByGroup.keySet();
}
public List<String> getInstancesForGroup(String groupName) {
return instancesByGroup.get(groupName);
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
UnhealthyInstances that = (UnhealthyInstances) o;
return instancesByGroup.equals(that.instancesByGroup);
}
@Override
public int hashCode() {
return instancesByGroup.hashCode();
}
@Override
public String toString() {
return "UnhealthyInstances{"
+ "instancesByGroup=" + instancesByGroup
+ '}';
}
}