info.archinnov.achilles.consistency.ThriftConsistencyConvertor Maven / Gradle / Ivy
package info.archinnov.achilles.consistency;
import info.archinnov.achilles.type.ConsistencyLevel;
import java.util.HashMap;
import java.util.Map;
import me.prettyprint.hector.api.HConsistencyLevel;
/**
* ThriftConsistencyHelper
*
* @author DuyHai DOAN
*
*/
public class ThriftConsistencyConvertor
{
private final static Map fromAchillesToHector = new HashMap();
static
{
fromAchillesToHector.put(ConsistencyLevel.ANY, HConsistencyLevel.ANY);
fromAchillesToHector.put(ConsistencyLevel.ONE, HConsistencyLevel.ONE);
fromAchillesToHector.put(ConsistencyLevel.TWO, HConsistencyLevel.TWO);
fromAchillesToHector.put(ConsistencyLevel.THREE, HConsistencyLevel.THREE);
fromAchillesToHector.put(ConsistencyLevel.QUORUM, HConsistencyLevel.QUORUM);
fromAchillesToHector.put(ConsistencyLevel.LOCAL_QUORUM, HConsistencyLevel.LOCAL_QUORUM);
fromAchillesToHector.put(ConsistencyLevel.EACH_QUORUM, HConsistencyLevel.EACH_QUORUM);
fromAchillesToHector.put(ConsistencyLevel.ALL, HConsistencyLevel.ALL);
}
public static HConsistencyLevel getHectorLevel(ConsistencyLevel achillesLevel)
{
HConsistencyLevel hectorLevel = fromAchillesToHector.get(achillesLevel);
if (hectorLevel == null)
{
throw new IllegalArgumentException(
"No matching Hector Consistency Level for Achilles level '"
+ achillesLevel.name() + "'");
}
return hectorLevel;
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy