package org.openstack.atlas.util.common;
import java.util.HashMap;
import java.util.Map;
public class MapUtil {
public static <K, V> Map<K, Map<K, V>> swapKeys(Map<K, Map<K, V>> swapFromMap) {
if (swapFromMap == null) {
return null;
}
Map<K, Map<K, V>> swapToMap = new HashMap<K, Map<K, V>>();
for (K firstKey : swapFromMap.keySet()) {
for (K secondKey : swapFromMap.get(firstKey).keySet()) {
Map<K, V> hostMap;
if (!swapToMap.containsKey(secondKey)) {
hostMap = new HashMap<K, V>();
swapToMap.put(secondKey, hostMap);
}
hostMap = swapToMap.get(secondKey);
hostMap.put(firstKey, swapFromMap.get(firstKey).get(secondKey));
swapToMap.put(secondKey, hostMap);
}
}
return swapToMap;
}
}