|
@@ -31,14 +31,14 @@ public class TemplateGenerator {
|
|
|
// 定义数据模型(Map)
|
|
|
Map<String, Object> dataModel = new HashMap<>();
|
|
|
//几何文件路径
|
|
|
- dataModel.put("geoFilePath", "/home/disaster/Water/Geometry");
|
|
|
+ dataModel.put("geoFilePath", BPATH+"/"+aid+"/"+jid+"/Geometry");
|
|
|
//initFile 文件路径
|
|
|
dataModel.put("initFilePath", BPATH+"/"+aid+"/"+jid+"/water"+"/"+"water.init");
|
|
|
|
|
|
//midPath
|
|
|
dataModel.put("midPath", BPATH+"/"+aid+"/"+jid+"/water"+"/mid");
|
|
|
//monitorPath
|
|
|
- dataModel.put("monitorPath", "/home/disaster/Water/monitor.in");
|
|
|
+ dataModel.put("monitorPath",BPATH+"/"+aid+"/"+jid+"/monitor.in");
|
|
|
//outPath
|
|
|
dataModel.put("outPath", BPATH+"/"+aid+"/"+jid+"/water"+"/out");
|
|
|
dataModel.put("totaltime",totaltime);
|
|
@@ -68,12 +68,7 @@ public class TemplateGenerator {
|
|
|
// 将数据模型传入模板进行处理
|
|
|
StringWriter writer = new StringWriter();
|
|
|
template.process(dataModel, writer);
|
|
|
- XIFileUtils.mkdir(BPATH);
|
|
|
- XIFileUtils.mkdir(BPATH+"/"+aid);
|
|
|
- XIFileUtils.mkdir(BPATH+"/"+aid+"/"+jid);
|
|
|
- XIFileUtils.mkdir(BPATH+"/"+aid+"/"+jid+"/water");
|
|
|
- XIFileUtils.mkdir(BPATH+"/"+aid+"/"+jid+"/water"+"/mid");
|
|
|
- XIFileUtils.mkdir(BPATH+"/"+aid+"/"+jid+"/water"+"/out");
|
|
|
+ mkDirs(aid, jid, "/water");
|
|
|
|
|
|
FileWriter fileWriter =new FileWriter(BPATH+"/"+aid+"/"+jid+"/"+"/water"+"/water.control");
|
|
|
fileWriter.write(writer.toString());
|
|
@@ -162,7 +157,78 @@ public class TemplateGenerator {
|
|
|
fileWriter.close();
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 生成几何文件
|
|
|
+ */
|
|
|
+ public static void createGeometry(Integer aid,Integer jid) throws IOException, TemplateException {
|
|
|
+ Configuration cfg = new Configuration(Configuration.VERSION_2_3_0);
|
|
|
+ // 设置模板所在目录
|
|
|
+ cfg.setClassForTemplateLoading(TemplateGenerator.class, "/templates");
|
|
|
+ // 获取模板对象
|
|
|
+ Template template = cfg.getTemplate("geometry.ftl");
|
|
|
+ // 定义数据模型(Map)
|
|
|
+ Map<String, Object> dataModel = new HashMap<>();
|
|
|
+
|
|
|
+ DNodeMapper nodeMapper =UtilTools.getBean(DNodeMapper.class);
|
|
|
+ List<DNode> nodes = nodeMapper.selectAll();
|
|
|
+
|
|
|
+ //节点数量
|
|
|
+ dataModel.put("nodenum", nodes.size());
|
|
|
+ //节点
|
|
|
+ dataModel.put("nodes", nodes);
|
|
|
+
|
|
|
+ DPipeMapper pipeMapper =UtilTools.getBean(DPipeMapper.class);
|
|
|
+ List<DPipe> pipes =pipeMapper.selectAll();
|
|
|
+ //管道数量
|
|
|
+ dataModel.put("pipenum", pipes.size());
|
|
|
+ //管道
|
|
|
+ dataModel.put("pipes", pipes);
|
|
|
+
|
|
|
+ // 将数据模型传入模板进行处理
|
|
|
+ StringWriter writer = new StringWriter();
|
|
|
+ template.process(dataModel, writer);
|
|
|
+ mkDirs(aid, jid, "/fire");
|
|
|
+ FileWriter fileWriter =new FileWriter(BPATH+"/"+aid+"/"+jid+"/Geometry");
|
|
|
+ fileWriter.write(writer.toString());
|
|
|
+ fileWriter.close();
|
|
|
+ }
|
|
|
+
|
|
|
+ private static void mkDirs(Integer aid, Integer jid, String s) {
|
|
|
+ XIFileUtils.mkdir(BPATH);
|
|
|
+ XIFileUtils.mkdir(BPATH + "/" + aid);
|
|
|
+ XIFileUtils.mkdir(BPATH + "/" + aid + "/" + jid);
|
|
|
+ XIFileUtils.mkdir(BPATH + "/" + aid + "/" + jid + s);
|
|
|
+ XIFileUtils.mkdir(BPATH + "/" + aid + "/" + jid + s + "/mid");
|
|
|
+ XIFileUtils.mkdir(BPATH + "/" + aid + "/" + jid + s + "/out");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 生成监测点文件
|
|
|
+ */
|
|
|
+ public static void createMonitor(Integer aid,Integer jid) throws IOException, TemplateException {
|
|
|
+ Configuration cfg = new Configuration(Configuration.VERSION_2_3_0);
|
|
|
+ // 设置模板所在目录
|
|
|
+ cfg.setClassForTemplateLoading(TemplateGenerator.class, "/templates");
|
|
|
+ // 获取模板对象
|
|
|
+ Template template = cfg.getTemplate("monitor.ftl");
|
|
|
+ // 定义数据模型(Map)
|
|
|
+ Map<String, Object> dataModel = new HashMap<>();
|
|
|
|
|
|
+ DChecknodeMapper checknodeMapper = UtilTools.getBean(DChecknodeMapper.class);
|
|
|
+ List<DChecknode> monitors=checknodeMapper.selectAll();
|
|
|
+
|
|
|
+ dataModel.put("monnum", monitors.size());
|
|
|
+ //管道
|
|
|
+ dataModel.put("monitors", monitors);
|
|
|
+
|
|
|
+ // 将数据模型传入模板进行处理
|
|
|
+ StringWriter writer = new StringWriter();
|
|
|
+ template.process(dataModel, writer);
|
|
|
+ mkDirs(aid, jid, "/fire");
|
|
|
+ FileWriter fileWriter =new FileWriter(BPATH+"/"+aid+"/"+jid+"/monitor.in");
|
|
|
+ fileWriter.write(writer.toString());
|
|
|
+ fileWriter.close();
|
|
|
+ }
|
|
|
public static void createFireControl(Integer aid,Integer jid,String totaltime,
|
|
|
String dt,String dx,String reportstep,String interactionstep,
|
|
|
String cocodes) throws IOException, TemplateException {
|
|
@@ -174,13 +240,13 @@ public class TemplateGenerator {
|
|
|
// 定义数据模型(Map)
|
|
|
Map<String, Object> dataModel = new HashMap<>();
|
|
|
//几何文件路径
|
|
|
- dataModel.put("geoFilePath", "/home/disaster/fire/Geometry");
|
|
|
+ dataModel.put("geoFilePath", BPATH+"/"+aid+"/"+jid+"/Geometry");
|
|
|
//fireinit 文件路径
|
|
|
dataModel.put("initFilePath", BPATH+"/"+aid+"/"+jid+"/fire"+"/"+"Fire.init");
|
|
|
//fireInteractionPath 阀门文件路径
|
|
|
dataModel.put("fireInteractionPath", "/home/disaster/fire/Fire.interaction");
|
|
|
//midPath
|
|
|
- dataModel.put("monitorPath", "/home/disaster/fire/monitor.in");
|
|
|
+ dataModel.put("monitorPath", BPATH+"/"+aid+"/"+jid+"/monitor.in");
|
|
|
//midPath
|
|
|
dataModel.put("midPath", BPATH+"/"+aid+"/"+jid+"/fire"+"/mid");
|
|
|
//outPath
|
|
@@ -228,12 +294,7 @@ public class TemplateGenerator {
|
|
|
// 将数据模型传入模板进行处理
|
|
|
StringWriter writer = new StringWriter();
|
|
|
template.process(dataModel, writer);
|
|
|
- XIFileUtils.mkdir(BPATH);
|
|
|
- XIFileUtils.mkdir(BPATH+"/"+aid);
|
|
|
- XIFileUtils.mkdir(BPATH+"/"+aid+"/"+jid);
|
|
|
- XIFileUtils.mkdir(BPATH+"/"+aid+"/"+jid+"/fire");
|
|
|
- XIFileUtils.mkdir(BPATH+"/"+aid+"/"+jid+"/fire"+"/mid");
|
|
|
- XIFileUtils.mkdir(BPATH+"/"+aid+"/"+jid+"/fire"+"/out");
|
|
|
+ mkDirs(aid, jid, "/fire");
|
|
|
|
|
|
FileWriter fileWriter =new FileWriter(BPATH+"/"+aid+"/"+jid+"/"+"/fire"+"/Fire.control");
|
|
|
fileWriter.write(writer.toString());
|