package cn.org.rapid_framework.generator.ext.ant; import java.sql.SQLException; import java.util.ArrayList; 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.provider.db.sql.model.Sql; import cn.org.rapid_framework.generator.util.BeanHelper; import cn.org.rapid_framework.generator.util.StringHelper; public class OperationGenTask extends BaseTableConfigSetTask { private String tableSqlName; @Override protected List<Map> getGeneratorContexts() throws SQLException, Exception { if("*".equals(tableSqlName)) { List<Map> result = new ArrayList(); for(TableConfig tableConfig : tableConfigSet.getTableConfigs()) { result.addAll(toMaps(tableConfig)); } return result; }else { TableConfig tableConfig = tableConfigSet.getBySqlName(tableSqlName); if(tableConfig == null) { log("根据表名"+tableSqlName+"没有找到配置文件"); return null; } List<Map> result = toMaps(tableConfig); return result; } } private List<Map> toMaps(TableConfig tableConfig) throws SQLException, Exception { List<Map> result = new ArrayList(); for(Sql sql : tableConfig.getSqls()) { Map operationMap = new HashMap(); operationMap.putAll(BeanHelper.describe(sql)); operationMap.put("sql", sql); operationMap.put("basepackage", tableConfig.getBasepackage()); operationMap.put("tableConfig", tableConfig); result.add(operationMap); } return result; } public void setTableSqlName(String tableSqlName) { this.tableSqlName = tableSqlName; } }