From ed1f8d4384ff850647cfec3e2039de24b82b4309 Mon Sep 17 00:00:00 2001 From: "surenpi.com" Date: Sat, 17 Jun 2017 22:54:14 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=A3=E7=A0=81=E6=95=B4=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 6 + .../surenpi/autotest/report/ExcelReport.java | 45 ------- .../autotest/report/ExcelReportWriter.java | 62 +++++++++ .../autotest/report/model/ExcelReport.java | 125 ++++++++++++++++++ 4 files changed, 193 insertions(+), 45 deletions(-) delete mode 100644 src/main/java/com/surenpi/autotest/report/ExcelReport.java create mode 100644 src/main/java/com/surenpi/autotest/report/ExcelReportWriter.java create mode 100644 src/main/java/com/surenpi/autotest/report/model/ExcelReport.java diff --git a/pom.xml b/pom.xml index f7390a0..99f261a 100644 --- a/pom.xml +++ b/pom.xml @@ -51,5 +51,11 @@ org.springframework spring-context + + + org.modelmapper + modelmapper + 0.7.5 + \ No newline at end of file diff --git a/src/main/java/com/surenpi/autotest/report/ExcelReport.java b/src/main/java/com/surenpi/autotest/report/ExcelReport.java deleted file mode 100644 index 696ef6c..0000000 --- a/src/main/java/com/surenpi/autotest/report/ExcelReport.java +++ /dev/null @@ -1,45 +0,0 @@ -package com.surenpi.autotest.report; - -import com.surenpi.autotest.report.record.ExceptionRecord; -import com.surenpi.autotest.report.record.NormalRecord; -import com.surenpi.autotest.report.record.ProjectRecord; -import org.springframework.stereotype.Component; - -import javax.annotation.PreDestroy; -import java.io.File; - -/** - * Excel格式报告导出 - * @author suren - */ -@Component -public class ExcelReport implements RecordReportWriter -{ - private ExcelUtils utils; - - @Override - public void write(ExceptionRecord record) - { - utils.export(record); - } - - @Override - public void write(NormalRecord normalRecord) - { - utils.export(normalRecord); - } - - @Override - public void write(ProjectRecord projectRecord) - { - utils = new ExcelUtils( - new File(projectRecord.getName() + "" + System.currentTimeMillis() + ".xls")); - utils.init(); - } - - @PreDestroy - public void saveFile() - { - utils.save(); - } -} diff --git a/src/main/java/com/surenpi/autotest/report/ExcelReportWriter.java b/src/main/java/com/surenpi/autotest/report/ExcelReportWriter.java new file mode 100644 index 0000000..7dea8f9 --- /dev/null +++ b/src/main/java/com/surenpi/autotest/report/ExcelReportWriter.java @@ -0,0 +1,62 @@ +package com.surenpi.autotest.report; + +import com.surenpi.autotest.report.model.ExcelReport; +import com.surenpi.autotest.report.record.ExceptionRecord; +import com.surenpi.autotest.report.record.NormalRecord; +import com.surenpi.autotest.report.record.ProjectRecord; +import com.surenpi.autotest.report.util.DateUtils; +import org.modelmapper.ModelMapper; +import org.springframework.stereotype.Component; + +import javax.annotation.PreDestroy; +import java.io.File; + +/** + * Excel格式报告导出 + * @author suren + */ +@Component +public class ExcelReportWriter implements RecordReportWriter +{ + private ExcelUtils utils; + + @Override + public void write(ExceptionRecord record) + { + NormalRecord normalRecord = record.getNormalRecord(); + + ModelMapper mapper = new ModelMapper(); + ExcelReport excelReport = mapper.map(normalRecord, ExcelReport.class); + excelReport.setDetail(record.getStackTraceText()); + excelReport.setStatus(ReportStatus.EXCEPTION.name()); + excelReport.setBeginTime(DateUtils.getDateText(normalRecord.getBeginTime())); + excelReport.setEndTime(DateUtils.getDateText(normalRecord.getEndTime())); + + utils.export(excelReport); + } + + @Override + public void write(NormalRecord normalRecord) + { + ExcelReport excelReport = new ModelMapper().map(normalRecord, ExcelReport.class); + excelReport.setStatus(ReportStatus.NORMAL.name()); + excelReport.setBeginTime(DateUtils.getDateText(normalRecord.getBeginTime())); + excelReport.setEndTime(DateUtils.getDateText(normalRecord.getEndTime())); + + utils.export(excelReport); + } + + @Override + public void write(ProjectRecord projectRecord) + { + utils = new ExcelUtils( + new File(projectRecord.getName() + "" + System.currentTimeMillis() + ".xls")); + utils.init(); + } + + @PreDestroy + public void saveFile() + { + utils.save(); + } +} diff --git a/src/main/java/com/surenpi/autotest/report/model/ExcelReport.java b/src/main/java/com/surenpi/autotest/report/model/ExcelReport.java new file mode 100644 index 0000000..8de3f99 --- /dev/null +++ b/src/main/java/com/surenpi/autotest/report/model/ExcelReport.java @@ -0,0 +1,125 @@ +/* + * + * * Copyright 2002-2007 the original author or authors. + * * + * * Licensed under the Apache License, Version 2.0 (the "License"); + * * you may not use this file except in compliance with the License. + * * You may obtain a copy of the License at + * * + * * http://www.apache.org/licenses/LICENSE-2.0 + * * + * * Unless required by applicable law or agreed to in writing, software + * * distributed under the License is distributed on an "AS IS" BASIS, + * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * * See the License for the specific language governing permissions and + * * limitations under the License. + * + */ + +package com.surenpi.autotest.report.model; + +/** + * @author suren + */ +public class ExcelReport +{ + private String moduleName; + private String moduleDescription; + private String clazzName; + private String methodName; + private String status; + private String project; + private String beginTime; + private String endTime; + private String detail; + + public String getModuleName() + { + return moduleName; + } + + public void setModuleName(String moduleName) + { + this.moduleName = moduleName; + } + + public String getModuleDescription() + { + return moduleDescription; + } + + public void setModuleDescription(String moduleDescription) + { + this.moduleDescription = moduleDescription; + } + + public String getClazzName() + { + return clazzName; + } + + public void setClazzName(String clazzName) + { + this.clazzName = clazzName; + } + + public String getMethodName() + { + return methodName; + } + + public void setMethodName(String methodName) + { + this.methodName = methodName; + } + + public String getStatus() + { + return status; + } + + public void setStatus(String status) + { + this.status = status; + } + + public String getProject() + { + return project; + } + + public void setProject(String project) + { + this.project = project; + } + + public String getBeginTime() + { + return beginTime; + } + + public void setBeginTime(String beginTime) + { + this.beginTime = beginTime; + } + + public String getEndTime() + { + return endTime; + } + + public void setEndTime(String endTime) + { + this.endTime = endTime; + } + + public String getDetail() + { + return detail; + } + + public void setDetail(String detail) + { + this.detail = detail; + } +}