package com.jinhe.tss.component.support.test; import java.io.File; import java.sql.Connection; import java.sql.Statement; import java.util.List; import org.apache.log4j.Logger; import com.jinhe.tss.component.log.maintain.LogQueryCondition; import com.jinhe.tss.component.log.maintain.LogService; import com.jinhe.tss.core.cachepool.extend.connection.DBHelper; import com.jinhe.tss.core.persistence.IDao; import com.jinhe.tss.core.util.FileHelper; import com.jinhe.tss.core.util.URLUtil; public class TestUtil { protected static Logger log = Logger.getLogger(TestUtil.class); public static String DYN_ENTITY_CONFIG_PATH = "template/dyninit/"; public static String getInitSQLDir() { String path = URLUtil.getResourceFileUrl("com/jinhe/tss").getPath(); return path.substring(1, path.indexOf("jinhe-tss") + 9) + "/tss-webapp/sql"; } public static void excuteSQL(String sqlDir) { log.info("正在执行目录:" + sqlDir+ "下的SQL脚本。。。。。。"); try { Connection conn = DBHelper.getConnection(); Statement stat = conn.createStatement(); List<File> sqlFiles = FileHelper.listFilesByTypeDeeply(".sql", new File(sqlDir)); for(File sqlFile : sqlFiles) { stat.execute(FileHelper.readFile(sqlFile)); log.info("SQL脚本:" + sqlFile+ " 执行完毕。"); } log.info("成功执行目录:" + sqlDir+ "下的SQL脚本!"); stat.close(); conn.close(); } catch (Exception e) { e.printStackTrace(); throw new RuntimeException("目录:" + sqlDir+ "下的SQL脚本执行出错:", e); } } public static int printLogs(LogService logService) { LogQueryCondition condition = new LogQueryCondition(); Object[] result = logService.getLogsByCondition(condition); List<?> logs = (List<?>) result[0]; Integer logCount = (Integer) result[1]; log.debug("本次测试共生成了 " + logCount + " 条日志"); for(Object temp : logs) { log.debug(temp); } log.debug("\n"); return logs.size(); } public static void printEntity(IDao<?> dao, String entity) { List<?> list = dao.getEntities("from " + entity ); log.debug("表【" + entity + "】的所有记录:"); for(Object temp : list) { log.debug(temp); } log.debug("\n"); } }