package com.taobao.tddl.rule;
import org.apache.commons.lang.StringUtils;
/**
* 做一下老的rule兼容处理,tddl5版本类名做了下统一调整,所以以前配置中使用的一下类名已经不存在,需要做转换
*
* @author <a href="jianghang.loujh@taobao.com">jianghang</a>
* @since 5.0.0
*/
public class RuleCompatibleHelper {
// 当前使用的类名
public static final String RULE_CURRENT_ROOT_NAME = "com.taobao.tddl.rule.VirtualTableRoot";
public static final String RULE_CURRENT_TABLE_NAME = "com.taobao.tddl.rule.TableRule";
// 历史曾经使用过的类名
public static final String RULE_INTERACT_ROOT_NAME = "com.taobao.tddl.interact.rule.VirtualTableRoot";
public static final String RULE_INTERACT_TABLE_NAME = "com.taobao.tddl.interact.rule.TableRule";
public static final String RULE_LE_ROOT_NAME = "com.taobao.tddl.rule.le.VirtualTableRoot";
public static final String RULE_LE_TABLE_NAME = "com.taobao.tddl.rule.le.TableRule";
public static final String RULE_LE2_ROOT_NAME = "com.taobao.tddl.rule.VirtualTableRoot";
public static final String RULE_LE2_TABLE_NAME = "com.taobao.tddl.rule.config.TableRule";
public static String compatibleRule(String ruleStr) {
ruleStr = StringUtils.replace(ruleStr, RULE_INTERACT_ROOT_NAME, RULE_CURRENT_ROOT_NAME);
ruleStr = StringUtils.replace(ruleStr, RULE_INTERACT_TABLE_NAME, RULE_CURRENT_TABLE_NAME);
ruleStr = StringUtils.replace(ruleStr, RULE_LE_ROOT_NAME, RULE_CURRENT_ROOT_NAME);
ruleStr = StringUtils.replace(ruleStr, RULE_LE_TABLE_NAME, RULE_CURRENT_TABLE_NAME);
// ruleStr = StringUtils.replace(ruleStr, RULE_LE2_ROOT_NAME,
// RULE_CURRENT_ROOT_NAME);
ruleStr = StringUtils.replace(ruleStr, RULE_LE2_TABLE_NAME, RULE_CURRENT_TABLE_NAME);
return ruleStr;
}
}