package cn.baiweigang.qtaf.ift.testcase.autocreate;
import java.util.Map;
import java.util.TreeMap;
import cn.baiweigang.qtaf.ift.IftConf;
import cn.baiweigang.qtaf.toolkit.util.FreeMakerUtil;
import cn.baiweigang.qtaf.toolkit.util.LogUtil;
/**
* 封装用例集,对集合进行分组格式化等处理,当前是1个excel文件对应1个此类的实例
* @author @<a href='http://weibo.com/bwgang'>bwgang</a>(bwgang@163.com)<br/> 2012-11-12
*
*/
public class CreateJavaFile {
private static LogUtil log=LogUtil.getLogger(CreateJavaFile.class);//日志记录
/**
* 根据用例数据信息创建对应的.java源文件
* @return boolean 创建成功返回true,失败返回false
*/
public boolean creatJavaSrcFile(JavaCaseInfo javaInfo) {
String javaFilePathTmp = javaInfo.getJavaSavePath()+javaInfo.getJavaFileName()+".java";
FreeMakerUtil creatjava=new FreeMakerUtil();
if (creatjava.CreateJavaFile(IftConf.TemplatePath, getJavaFileData(javaInfo), javaFilePathTmp)) {
log.info("创建"+javaInfo.getJavaFileName()+"对应的.java文件成功:"+javaFilePathTmp);
return true;
}
log.error("创建"+javaInfo.getJavaFileName()+"对应的.java文件成功失败:"+javaFilePathTmp);
return false;
}
//私有方法
private Map<String, Object> getJavaFileData(JavaCaseInfo javaInfo){
Map<String, Object> data = new TreeMap<String, Object>();
data.put("javaInfo", javaInfo);
Map<String, String> clsInfo = new TreeMap<>();
String impotInfo = javaInfo.getCls().getPackage().toString();
impotInfo = impotInfo.substring(8)+"."+javaInfo.getCls().getSimpleName();
clsInfo.put("importInfo", impotInfo);
clsInfo.put("className", javaInfo.getCls().getSimpleName());
clsInfo.put("method", javaInfo.getMethod());
data.put("clsInfo", clsInfo);
return data;
}
}