/** 将工作流树节点对象保存到指定目录下 文件名为该对象的id */ public static void SaveProjectModelToFile(ProjectModel projectModel) throws IOException { if (projectModel == null) { logger.error("传入的FileModel的为空,保存失败!"); return; } // 数据库设计文件 File ppdFile = new File( SystemConstants.PROJECTSPACEPATH, projectModel.getFolderName() + File.separator + SystemConstants.ZIP_FILE_PROJECT); if (!ppdFile.exists()) { ppdFile.createNewFile(); } // 表格初始化信息文件 File spddFile = new File( SystemConstants.PROJECTSPACEPATH, projectModel.getFolderName() + File.separator + SystemConstants.ZIP_FILE_SUNCARDDESIGNER_DATA); if (!spddFile.exists()) { spddFile.createNewFile(); } Document document = SwitchObjAndXml.getDocFromProjectModel(projectModel); // 写入项目文件信息 OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(ppdFile), "UTF-8"); out.write(document.asXML()); out.close(); // 写入表格初始化信息 document = SwitchObjAndXml.getInitTableDataDocFromProjectModel(projectModel); out = new OutputStreamWriter(new FileOutputStream(spddFile), "UTF-8"); out.write(document.asXML()); out.close(); // 给文件模型对应的CommandStack设定保存点 CommandStack commandStack = ProjectDefaultViewPart.getCommandStackFromProjectModel(projectModel); if (commandStack != null) { commandStack.markSaveLocation(); } }