Skip to content

Commit

Permalink
refactor
Browse files Browse the repository at this point in the history
  • Loading branch information
terrymanu committed May 31, 2016
1 parent 7f9c007 commit 28a3ed2
Show file tree
Hide file tree
Showing 8 changed files with 40 additions and 32 deletions.
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
language: java
jdk:
- oraclejdk8
# - oraclejdk8
- oraclejdk7
- openjdk7
before_script:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public final class MasterSlaveDataSourceBeanDefinitionParserTag {

public static final String MASTER_DATA_SOURCE_REF_ATTR = "master-data-source-ref";
public static final String MASTER_DATA_SOURCE_REF_ATTRIBUTE = "master-data-source-ref";

public static final String SLAVE_DATA_SOURCES_REF_ATTR = "slave-data-sources-ref";
public static final String SLAVE_DATA_SOURCES_REF_ATTRIBUTE = "slave-data-sources-ref";
}
Original file line number Diff line number Diff line change
Expand Up @@ -44,21 +44,21 @@ public final class ShardingJdbcDataSourceBeanDefinitionParserTag {

public static final String BINDING_TABLE_RULE_TAG = "binding-table-rule";

public static final String LOGIC_TABLE_ATTR = "logic-table";
public static final String LOGIC_TABLE_ATTRIBUTE = "logic-table";

public static final String LOGIC_TABLES_ATTR = "logic-tables";
public static final String LOGIC_TABLES_ATTRIBUTE = "logic-tables";

public static final String DYNAMIC_TABLE_ATTR = "dynamic";
public static final String DYNAMIC_TABLE_ATTRIBUTE = "dynamic";

public static final String ACTUAL_TABLES_ATTR = "actual-tables";
public static final String ACTUAL_TABLES_ATTRIBUTE = "actual-tables";

public static final String DATA_SOURCE_NAMES_ATTR = "data-source-names";
public static final String DATA_SOURCE_NAMES_ATTRIBUTE = "data-source-names";

public static final String DATABASE_STRATEGY_ATTR = "database-strategy";
public static final String DATABASE_STRATEGY_ATTRIBUTE = "database-strategy";

public static final String TABLE_STRATEGY_ATTR = "table-strategy";
public static final String TABLE_STRATEGY_ATTRIBUTE = "table-strategy";

public static final String DEFAULT_DATABASE_STRATEGY_ATTR = "default-database-strategy";
public static final String DEFAULT_DATABASE_STRATEGY_ATTRIBUTE = "default-database-strategy";

public static final String DEFAULT_TABLE_STRATEGY_ATTR = "default-table-strategy";
public static final String DEFAULT_TABLE_STRATEGY_ATTRIBUTE = "default-table-strategy";
}
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,9 @@
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public final class ShardingJdbcStrategyBeanDefinitionParserTag {

public static final String SHARDING_COLUMNS_TAG = "sharding-columns";
public static final String SHARDING_COLUMNS_ATTRIBUTE = "sharding-columns";

public static final String ALGORITHM_CLASS_TAG = "algorithm-class";
public static final String ALGORITHM_CLASS_ATTRIBUTE = "algorithm-class";

public static final String ALGORITHM_EXPRESSION_TAG = "algorithm-expression";
public static final String ALGORITHM_EXPRESSION_ATTRIBUTE = "algorithm-expression";
}
Original file line number Diff line number Diff line change
Expand Up @@ -42,14 +42,22 @@ public class MasterSlaveDataSourceBeanDefinitionParser extends AbstractBeanDefin
protected AbstractBeanDefinition parseInternal(final Element element, final ParserContext parserContext) {
//CHECKSTYLE:ON
BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition(MasterSlaveDataSource.class);
factory.addConstructorArgValue(element.getAttribute(ID_ATTRIBUTE));
factory.addConstructorArgReference(element.getAttribute(MasterSlaveDataSourceBeanDefinitionParserTag.MASTER_DATA_SOURCE_REF_ATTR));
factory.addConstructorArgValue(parseId(element));
factory.addConstructorArgReference(parseMasterDataSourceRef(element));
factory.addConstructorArgValue(parseSlaveDataSources(element, parserContext));
return factory.getBeanDefinition();
}

private String parseId(final Element element) {
return element.getAttribute(ID_ATTRIBUTE);
}

private String parseMasterDataSourceRef(final Element element) {
return element.getAttribute(MasterSlaveDataSourceBeanDefinitionParserTag.MASTER_DATA_SOURCE_REF_ATTRIBUTE);
}

private List<BeanDefinition> parseSlaveDataSources(final Element element, final ParserContext parserContext) {
List<String> slaveDataSources = Splitter.on(",").trimResults().splitToList(element.getAttribute(MasterSlaveDataSourceBeanDefinitionParserTag.SLAVE_DATA_SOURCES_REF_ATTR));
List<String> slaveDataSources = Splitter.on(",").trimResults().splitToList(element.getAttribute(MasterSlaveDataSourceBeanDefinitionParserTag.SLAVE_DATA_SOURCES_REF_ATTRIBUTE));
List<BeanDefinition> result = new ManagedList<>(slaveDataSources.size());
for (String each : slaveDataSources) {
result.add(parserContext.getRegistry().getBeanDefinition(each));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,30 +89,30 @@ private Map<String, BeanDefinition> parseTableRulesConfig(final Element element)
List<Element> tableRuleElements = DomUtils.getChildElementsByTagName(tableRulesElement, ShardingJdbcDataSourceBeanDefinitionParserTag.TABLE_RULE_TAG);
Map<String, BeanDefinition> result = new ManagedMap<>(tableRuleElements.size());
for (Element each : tableRuleElements) {
result.put(each.getAttribute(ShardingJdbcDataSourceBeanDefinitionParserTag.LOGIC_TABLE_ATTR), parseTableRuleConfig(each));
result.put(each.getAttribute(ShardingJdbcDataSourceBeanDefinitionParserTag.LOGIC_TABLE_ATTRIBUTE), parseTableRuleConfig(each));
}
return result;
}

private BeanDefinition parseTableRuleConfig(final Element tableElement) {
BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition(TableRuleConfig.class);
String dynamic = tableElement.getAttribute(ShardingJdbcDataSourceBeanDefinitionParserTag.DYNAMIC_TABLE_ATTR);
String dynamic = tableElement.getAttribute(ShardingJdbcDataSourceBeanDefinitionParserTag.DYNAMIC_TABLE_ATTRIBUTE);
if (!Strings.isNullOrEmpty(dynamic)) {
factory.addPropertyValue("dynamic", dynamic);
}
String actualTables = tableElement.getAttribute(ShardingJdbcDataSourceBeanDefinitionParserTag.ACTUAL_TABLES_ATTR);
String actualTables = tableElement.getAttribute(ShardingJdbcDataSourceBeanDefinitionParserTag.ACTUAL_TABLES_ATTRIBUTE);
if (!Strings.isNullOrEmpty(actualTables)) {
factory.addPropertyValue("actualTables", actualTables);
}
String dataSourceNames = tableElement.getAttribute(ShardingJdbcDataSourceBeanDefinitionParserTag.DATA_SOURCE_NAMES_ATTR);
String dataSourceNames = tableElement.getAttribute(ShardingJdbcDataSourceBeanDefinitionParserTag.DATA_SOURCE_NAMES_ATTRIBUTE);
if (!Strings.isNullOrEmpty(dataSourceNames)) {
factory.addPropertyValue("dataSourceNames", dataSourceNames);
}
String databaseStrategy = tableElement.getAttribute(ShardingJdbcDataSourceBeanDefinitionParserTag.DATABASE_STRATEGY_ATTR);
String databaseStrategy = tableElement.getAttribute(ShardingJdbcDataSourceBeanDefinitionParserTag.DATABASE_STRATEGY_ATTRIBUTE);
if (!Strings.isNullOrEmpty(databaseStrategy)) {
factory.addPropertyReference("databaseStrategy", databaseStrategy);
}
String tableStrategy = tableElement.getAttribute(ShardingJdbcDataSourceBeanDefinitionParserTag.TABLE_STRATEGY_ATTR);
String tableStrategy = tableElement.getAttribute(ShardingJdbcDataSourceBeanDefinitionParserTag.TABLE_STRATEGY_ATTRIBUTE);
if (!Strings.isNullOrEmpty(tableStrategy)) {
factory.addPropertyReference("tableStrategy", tableStrategy);
}
Expand All @@ -128,18 +128,18 @@ private List<BeanDefinition> parseBindingTablesConfig(final Element element) {
BeanDefinitionBuilder bindingTableRuleFactory = BeanDefinitionBuilder.rootBeanDefinition(BindingTableRuleConfig.class);
List<BeanDefinition> result = new ManagedList<>(bindingTableRuleElements.size());
for (Element bindingTableRuleElement : bindingTableRuleElements) {
bindingTableRuleFactory.addPropertyValue("tableNames", bindingTableRuleElement.getAttribute(ShardingJdbcDataSourceBeanDefinitionParserTag.LOGIC_TABLES_ATTR));
bindingTableRuleFactory.addPropertyValue("tableNames", bindingTableRuleElement.getAttribute(ShardingJdbcDataSourceBeanDefinitionParserTag.LOGIC_TABLES_ATTRIBUTE));
result.add(bindingTableRuleFactory.getBeanDefinition());
}
return result;
}

private BeanDefinition parseDefaultDatabaseStrategyConfig(final Element element) {
return parseDefaultStrategyConfig(element, ShardingJdbcDataSourceBeanDefinitionParserTag.DEFAULT_DATABASE_STRATEGY_ATTR);
return parseDefaultStrategyConfig(element, ShardingJdbcDataSourceBeanDefinitionParserTag.DEFAULT_DATABASE_STRATEGY_ATTRIBUTE);
}

private BeanDefinition parseDefaultTableStrategyConfig(final Element element) {
return parseDefaultStrategyConfig(element, ShardingJdbcDataSourceBeanDefinitionParserTag.DEFAULT_TABLE_STRATEGY_ATTR);
return parseDefaultStrategyConfig(element, ShardingJdbcDataSourceBeanDefinitionParserTag.DEFAULT_TABLE_STRATEGY_ATTRIBUTE);
}

private BeanDefinition parseDefaultStrategyConfig(final Element element, final String attr) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,9 @@ public class ShardingJdbcStrategyBeanDefinition {

static AbstractBeanDefinition getBeanDefinitionByElement(final Element element) {
BeanDefinitionBuilder factory = BeanDefinitionBuilder.rootBeanDefinition(StrategyConfig.class);
factory.addPropertyValue("shardingColumns", element.getAttribute(ShardingJdbcStrategyBeanDefinitionParserTag.SHARDING_COLUMNS_TAG));
factory.addPropertyValue("algorithmClassName", element.getAttribute(ShardingJdbcStrategyBeanDefinitionParserTag.ALGORITHM_CLASS_TAG));
factory.addPropertyValue("algorithmExpression", element.getAttribute(ShardingJdbcStrategyBeanDefinitionParserTag.ALGORITHM_EXPRESSION_TAG));
factory.addPropertyValue("shardingColumns", element.getAttribute(ShardingJdbcStrategyBeanDefinitionParserTag.SHARDING_COLUMNS_ATTRIBUTE));
factory.addPropertyValue("algorithmClassName", element.getAttribute(ShardingJdbcStrategyBeanDefinitionParserTag.ALGORITHM_CLASS_ATTRIBUTE));
factory.addPropertyValue("algorithmExpression", element.getAttribute(ShardingJdbcStrategyBeanDefinitionParserTag.ALGORITHM_EXPRESSION_ATTRIBUTE));
return factory.getBeanDefinition();
}
}
4 changes: 2 additions & 2 deletions sharding-jdbc-doc/content/post/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ weight = 2
```xml
<dependency>
<groupId>com.dangdang</groupId>
<artifactId>sharding-jdbc-yaml</artifactId>
<artifactId>sharding-jdbc-config-yaml</artifactId>
<version>${latest.release.version}</version>
</dependency>
```
Expand Down Expand Up @@ -134,7 +134,7 @@ props: 属性配置(可选)
```xml
<dependency>
<groupId>com.dangdang</groupId>
<artifactId>sharding-jdbc-spring</artifactId>
<artifactId>sharding-jdbc-config-spring</artifactId>
<version>${latest.release.version}</version>
</dependency>
```
Expand Down

0 comments on commit 28a3ed2

Please sign in to comment.