package com.netflix.astyanax.thrift; import java.util.regex.Matcher; import java.util.regex.Pattern; import com.netflix.astyanax.AstyanaxConfiguration; public class ThriftCqlFactoryResolver { private static final Pattern VERSION_REGEX = Pattern.compile("^([0-9])+\\.([0-9])+(.*)"); public static ThriftCqlFactory createFactory(AstyanaxConfiguration config) { if (config.getTargetCassandraVersion() != null) { Matcher m = VERSION_REGEX.matcher(config.getTargetCassandraVersion()); if (m.matches()) { int major = Integer.parseInt(m.group(1)); int minor = Integer.parseInt(m.group(2)); if (major > 1 || (major == 1 && minor >= 2)) { return new ThriftCql3Factory(); } } } return new ThriftCql2Factory(); } }