package cn.org.rapid_framework.generator.ext.ant;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import cn.org.rapid_framework.generator.ext.tableconfig.model.TableConfig;
import cn.org.rapid_framework.generator.ext.tableconfig.model.TableConfigSet;
import cn.org.rapid_framework.generator.util.BeanHelper;
import cn.org.rapid_framework.generator.util.StringHelper;
public class TableConfigGenTask extends BaseTableConfigSetTask {
private String tableSqlName;
@Override
protected List<Map> getGeneratorContexts() {
if("*".equals(tableSqlName)) {
return toMaps(tableConfigSet.getTableConfigs());
}else {
TableConfig tableConfig = tableConfigSet.getBySqlName(tableSqlName);
if(tableConfig == null) {
log("根据表名"+tableSqlName+"没有找到配置文件");
return null;
}
Map map = toMap(tableConfig);
return Arrays.asList(map);
}
}
private List<Map> toMaps(Collection<TableConfig> tableConfigs) {
List<Map> result = new ArrayList();
for(TableConfig c : tableConfigs) {
result.add(toMap(c));
}
return result;
}
private Map toMap(TableConfig tableConfig) {
Map map = new HashMap();
map.putAll(BeanHelper.describe(tableConfig,"sqls"));
map.put("tableConfig", tableConfig);
return map;
}
public void setTableSqlName(String tableSqlName) {
this.tableSqlName = tableSqlName;
}
}