同步操作将从 皇叔/elegent-builder(代码生成器) 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
package templet;import java.util.List;import java.util.Map;import entity.Table;import entity.Templet;/*** 代码相关操作类* @author Administrator**/public class Code {/*** 代码生成* @param pathMap 路径参数封装* @param publicMap 全局替换符*/public static void create(Map<String,String> pathMap,Map<String,String> publicMap){//变量定义String projectTempletPath=pathMap.get("projectTempletPath");//框架模板所在目录String tablleTempletPath=pathMap.get("tablleTempletPath");//表级模板所在目录String columnTempletPath=pathMap.get("columnTempletPath");//列级模板所在目录String xmlPath=pathMap.get("xmlPath");//数据库信息文件String codePath=pathMap.get("codePath");//代码输出目录//追加到全局替换符******************Map<String, String> propertyMap = xml.DatabaseXml.readProperty(xmlPath);publicMap.putAll(propertyMap);//******************************List<Table> tableList=xml.DatabaseXml.readDatabaseXml(xmlPath);//得到表的列表Map<String ,String > tableTempletMap= ClientTempletUtil.getTempletList(tablleTempletPath);//表级模板MAPMap<String ,String > columnTempletMap= ClientTempletUtil.getTempletList(columnTempletPath);//列级模板MAPList<Templet> list=TempletUtil.getTempletList(projectTempletPath);//循环所有模板for(Templet t:list ){System.out.println("处理模板:"+ t.getPath()+" --- "+t.getFileName());//如果是模板类文件if( FileUtil.isTemplatFile( t.getAllPath()) ){//读取模板文件内容String content=FileUtil.getContent(t.getAllPath());//替换表级模板部分content= ClientTempletUtil.createContentForTable(content, tableTempletMap, tableList);//如果文件名包含表替换符号则循环输出if(t.getFileName().indexOf("[table]")>=0 || t.getFileName().indexOf("[Table]")>=0 ||t.getFileName().indexOf("[table2]")>=0 || t.getFileName().indexOf("[Table2]")>=0){for(Table table:tableList){//输出的文件名String outFile=t.getFileName().replace("[table]", table.getName());outFile=outFile.replace("[Table]", Utils.getClassName(table.getName()) );outFile=outFile.replace("[Table2]", Utils.getClassName(table.getName2()) );outFile=outFile.replace("[table2]", table.getName2() );//得到模板内容String outContent=content;//替换列级模板部分outContent= ClientTempletUtil.createContent(outContent, columnTempletMap, table);//全局替换符嵌套替换符处理********System.out.println("全局替换符嵌套替换符处理********"+table.getName());/*for(String k:publicMap.keySet() ){String value = publicMap.get(k).replace("[table]", table.getName());publicMap.put(k,value );System.out.println("key:"+k+" value:"+value);} *///全局替换outContent= ClientTempletUtil.createContent(outContent, publicMap);outContent=outContent.replace("[table]", table.getName());//输出的路径(经过全局替换)String outPath= ClientTempletUtil.createContent(codePath+"/"+ t.getPath()+"/"+outFile, publicMap) ;//在新的文件中去掉模板文件标记***********(TFILE)outPath=outPath.replace("(TFILE)", "");//写入文件FileUtil.setContent(outPath, outContent);}}else //不用循环的文件{String outPath= ClientTempletUtil.createContent(codePath+"/"+ t.getPath()+"/"+t.getFileName(), publicMap);//在新的文件中去掉模板文件标记***********(TFILE)outPath=outPath.replace("(TFILE)", "");content= ClientTempletUtil.createContent(content, publicMap);FileUtil.setContent(outPath, content);//写入文件}}else //非模板文件直接拷贝{String newPath= ClientTempletUtil.createContent( codePath+"/"+ t.getPath()+"/"+t.getFileName(), publicMap);FileUtil.copyFile(t.getAllPath(), newPath);}}System.out.println("代码成功生成!");}}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。