package com.jivesoftware.os.amzabot.deployable; import com.google.common.collect.Maps; import java.util.Collections; import java.util.Map.Entry; import java.util.Set; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentMap; public class AmzaKeyClearingHousePool { private Set<AmzaKeyClearingHouse> amzaKeyClearingHouseSet = Collections.newSetFromMap(new ConcurrentHashMap<AmzaKeyClearingHouse, Boolean>()); public AmzaKeyClearingHouse genAmzaKeyClearingHouse() { AmzaKeyClearingHouse res = new AmzaKeyClearingHouse(); amzaKeyClearingHouseSet.add(res); return res; } public AmzaKeyClearingHouse genAmzaKeyClearingHouse(long capacity) { AmzaKeyClearingHouse res = new AmzaKeyClearingHouse(capacity); amzaKeyClearingHouseSet.add(res); return res; } public void removeAmzaKeyClearingHouse(AmzaKeyClearingHouse amzaKeyClearingHouse) { amzaKeyClearingHouseSet.remove(amzaKeyClearingHouse); } public ConcurrentMap<String, Entry<Integer, Integer>> getAllQuarantinedEntries() { ConcurrentMap<String, Entry<Integer, Integer>> res = Maps.newConcurrentMap(); for (AmzaKeyClearingHouse amzaKeyClearingHouse : amzaKeyClearingHouseSet) { res.putAll(amzaKeyClearingHouse.getQuarantinedKeyMap()); } return res; } }