if (StringUtils.isNotEmpty(sqlAction)) {
List<Set<IRoutingRule<IBatisRoutingFact, List<String>>>> ruleSequence = setUpRuleSequenceContainerIfNecessary(
router, StringUtils.substringBeforeLast(sqlAction, "."));
if (StringUtils.isEmpty(shardingExpression)) {
ruleSequence.get(1).add(new IBatisSqlActionRule(sqlAction, destinations));
} else {
IBatisSqlActionShardingRule issr = new IBatisSqlActionShardingRule(sqlAction,
destinations, shardingExpression);
if (MapUtils.isNotEmpty(functionsMap)) {
issr.setFunctionMap(functionsMap);