- 浏览: 178180 次
- 性别:
- 来自: 西安
文章分类
- 全部博客 (163)
- POI (8)
- Collection容器 (1)
- java.util (2)
- java调用批处理 (1)
- xml (1)
- jfreechart (3)
- SVN (1)
- tomcat中文 (1)
- jquery (6)
- Log4j (1)
- ppt (1)
- js (48)
- ss (1)
- 综合 (1)
- Spring (2)
- 数据库 (6)
- tomcat (1)
- commons-lang包使用 (1)
- AJAX【Jquery】 (3)
- RMI (2)
- OpenLayers (25)
- html (20)
- css (25)
- Google地图 (2)
- java (1)
- Ibatis (1)
- GoogleMaps (1)
- J2EE (2)
- 软件设计 (1)
- 服务器 (1)
- html5 (4)
- cursor (1)
- AngularJs (5)
- 缓存 (1)
- 构建 (2)
- 域名、空间、服务器 (1)
import java.awt.Color;
import java.awt.RenderingHints;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
import javax.servlet.http.HttpSession;
import org.apache.struts2.ServletActionContext;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartRenderingInfo;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.entity.StandardEntityCollection;
import org.jfree.chart.labels.StandardCategoryItemLabelGenerator;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.LineAndShapeRenderer;
import org.jfree.chart.servlet.ServletUtilities;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
/
public class ProInforAction {
// 对象及对象集合
private CompileCheckResult compileCheckResult;
private T3lintCheckResult t3lCheckResult;
private List<CompileCheck> compileCheckList;
private List<T3lintCheck> t3lintChekList;
// 业务类对象
private CompileCheckService checkService = new CompileCheckService();
private T3lintCheckService t3lintService = new T3lintCheckService();
private ProjectService projectService = new ProjectService();
private GenStatChartData genstatechartdata = new GenStatChartData();
/**
* 获取编译结果【compilecheck】【t3lintcompilecheck】。
*
* @return String
*/
public String getCompiledInfor() {
// 以下数据仅为测试,到时要调用后台数据。
compileCheckList = this.getCheckService().findAllList();
//
t3lintChekList = this.getT3lintService().findAllList();
return "success";
}
/**
* 查看历史记录
*
* @return List
*/
public String getComplileHistory() {
// 1.先获取工程编号 2.在通过工程编号获取到工程的历史编译记录
compileCheckList = this.getCheckService().findLastedMonthList(this.getCompileCheckResult().getProjectName());
return "success";
}
/**
* 查看t3lint历史记录。
*
* @return List
*/
public String getT3lintCompileHistory() {
t3lintChekList = this.getT3lintService().findLastMonth(this.getT3lCheckResult().getProjectName());
ServletActionContext.getRequest().getSession().setAttribute("proName", t3lCheckResult.getProjectName());
return "success";
}
public String generateTotalChart(HttpSession session, PrintWriter pw,int w, int h,String proName){
String filename = null;
Map<String,Integer> dataMap = genstatechartdata.getLastMonthTotalMap(proName);
if(dataMap == null){
return "";
}
CategoryDataset dataset = getTotalData(dataMap);
JFreeChart chart = ChartFactory.createLineChart(
"total趋势图",
"日期",
"数量",
dataset,
PlotOrientation.VERTICAL,
true,
true,
false
);
chart.getRenderingHints().put(RenderingHints.KEY_TEXT_ANTIALIASING,
RenderingHints.VALUE_TEXT_ANTIALIAS_OFF);
chart.setBackgroundPaint(Color.white);
CategoryPlot plot = chart.getCategoryPlot();
plot.setDomainGridlinePaint(Color.black);
plot.setDomainGridlinesVisible(true);
plot.setRangeGridlinePaint(Color.blue);
plot.setRangeGridlinesVisible(true);
LineAndShapeRenderer lineandshaperenderer = (LineAndShapeRenderer) plot.getRenderer();
lineandshaperenderer.setBaseShapesVisible(true);
lineandshaperenderer.setBaseLinesVisible(true);
lineandshaperenderer.setBaseItemLabelGenerator(new
StandardCategoryItemLabelGenerator());
lineandshaperenderer.setBaseItemLabelsVisible(true);
try {
ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());
filename = ServletUtilities.saveChartAsPNG(chart, w, h, info,session);
ChartUtilities.writeImageMap(pw, filename, info, true);
pw.flush();
} catch (IOException e) {
e.printStackTrace();
}
return filename;
}
public String generateTestCaseChart(HttpSession session, PrintWriter pw,int w, int h,String proName){
String filename = null;
Map<String,Integer> dataMap = genstatechartdata.getLastMonthTcMap(proName);
if(dataMap == null){
return "";
}
CategoryDataset dataset = getTestcaseData(dataMap);
JFreeChart chart = ChartFactory.createLineChart(
"testcase趋势图",
"日期",
"数量",
dataset,
PlotOrientation.VERTICAL,
true,
true,
false
);
chart.getRenderingHints().put(RenderingHints.KEY_TEXT_ANTIALIASING,
RenderingHints.VALUE_TEXT_ANTIALIAS_OFF);
chart.setBackgroundPaint(Color.white);
CategoryPlot plot = chart.getCategoryPlot();
plot.setDomainGridlinePaint(Color.black);
plot.setDomainGridlinesVisible(true);
plot.setRangeGridlinePaint(Color.blue);
plot.setRangeGridlinesVisible(true);
LineAndShapeRenderer lineandshaperenderer = (LineAndShapeRenderer) plot.getRenderer();
lineandshaperenderer.setBaseShapesVisible(true);
lineandshaperenderer.setBaseLinesVisible(true);
lineandshaperenderer.setBaseItemLabelGenerator(new
StandardCategoryItemLabelGenerator());
lineandshaperenderer.setBaseItemLabelsVisible(true);
try {
ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());
filename = ServletUtilities.saveChartAsPNG(chart, w, h, info,session);
ChartUtilities.writeImageMap(pw, filename, info, true);
pw.flush();
} catch (IOException e) {
e.printStackTrace();
}
return filename;
}
public String generateWarnChart(HttpSession session, PrintWriter pw,int w, int h,String proName){
String filename = null;
Map<String,Integer> warnMap = genstatechartdata.getLastMonthWarnMap(proName);
Map<String,Integer> errorMap = genstatechartdata.getLastMonthErrorMap(proName);
Map<String,Integer> fatalMap = genstatechartdata.getLastMonthFatalMap(proName);
Map<String,Integer> severityMap = genstatechartdata.getLastMonthSeverityMap(proName);
Map<String,Integer> hintMap = genstatechartdata.getLastMonthHintMap(proName);
if(warnMap == null && errorMap== null && fatalMap == null && severityMap== null && hintMap == null){
return "";
}
CategoryDataset dataset = getWarnData(warnMap,errorMap,fatalMap, severityMap,hintMap);
JFreeChart chart = ChartFactory.createLineChart(
"警告趋势图",// 图表标题
"日期",// 目录轴的显示标签
"数量",// 数值轴的显示标签
dataset,// 数据集
PlotOrientation.VERTICAL,// 图表方向:水平、垂直
true,// 是否显示图例(对于简单的柱状图必须是false)
false,// 是否生成工具
false// 是否生成URL链接
);
/*----------设置消除字体的锯齿渲染(解决中文问题)--------------*/
chart.getRenderingHints().put(RenderingHints.KEY_TEXT_ANTIALIASING,
RenderingHints.VALUE_TEXT_ANTIALIAS_OFF);
/*------------配置图表属性--------------*/
// 1,设置整个图表背景颜色
chart.setBackgroundPaint(Color.white);
/*------------设定Plot参数-------------*/
CategoryPlot plot = chart.getCategoryPlot();
// 2,设置详细图表的显示细节部分的背景颜色
//plot.setBackgroundPaint(Color.PINK);
// 3,设置垂直网格线颜色
plot.setDomainGridlinePaint(Color.black);
//4,设置是否显示垂直网格线
plot.setDomainGridlinesVisible(true);
//5,设置水平网格线颜色
plot.setRangeGridlinePaint(Color.blue);
//6,设置是否显示水平网格线
plot.setRangeGridlinesVisible(true);
LineAndShapeRenderer lineandshaperenderer = (LineAndShapeRenderer) plot.getRenderer();
lineandshaperenderer.setBaseShapesVisible(true); // series 点(即数据点)可见
lineandshaperenderer.setBaseLinesVisible(true); // series 点(即数据点)间有连线可见
lineandshaperenderer.setBaseItemLabelGenerator(new
StandardCategoryItemLabelGenerator());
lineandshaperenderer.setBaseItemLabelsVisible(true);
try {
/*------得到chart的保存路径----*/
ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());
filename = ServletUtilities.saveChartAsPNG(chart, w, h, info,session);
/*------使用printWriter将文件写出----*/
ChartUtilities.writeImageMap(pw, filename, info, true);
pw.flush();
} catch (IOException e) {
e.printStackTrace();
}
return filename;
}
/**
* PDU数据。
* @param dataMap
* @return
*/
private static CategoryDataset getTotalData(Map<String,Integer> dataMap){
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
Set<String> keySet = dataMap.keySet();
Iterator<String> iter = keySet.iterator();
while(iter.hasNext()){
String key = iter.next();
int smark = key.indexOf("-");
int emark = key.lastIndexOf("-");
StringBuilder builder = new StringBuilder();
builder.append(key.substring(smark+1, emark));
builder.append(".");
builder.append(key.substring(emark+1));
dataset.setValue(dataMap.get(key), "total", builder.toString());
}
return dataset;
}
/**
* testcase数据。
* @param dataMap
* @return
*/
private static CategoryDataset getTestcaseData(Map<String,Integer> dataMap){
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
Set<String> keySet = dataMap.keySet();
Iterator<String> iter = keySet.iterator();
while(iter.hasNext()){
String key = iter.next();
int smark = key.indexOf("-");
int emark = key.lastIndexOf("-");
StringBuilder builder = new StringBuilder();
builder.append(key.substring(smark+1, emark));
builder.append(".");
builder.append(key.substring(emark+1));
dataset.setValue(dataMap.get(key), "testcase", builder.toString());
}
return dataset;
}
/**
* warn数据。
* @param warnMap
* @return
*/
private static CategoryDataset getWarnData(Map<String,Integer> warnMap,Map<String,Integer> errorMap,Map<String,Integer> fatalMap,Map<String,Integer> severityMap,Map<String,Integer> hintMap){
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
if(warnMap != null){
Set<String> keySet = warnMap.keySet();
Iterator<String> iter = keySet.iterator();
while(iter.hasNext()){
String key = iter.next();
int smark = key.indexOf("-");
int emark = key.lastIndexOf("-");
StringBuilder builder = new StringBuilder();
builder.append(key.substring(smark+1, emark));
builder.append(".");
builder.append(key.substring(emark+1));
dataset.setValue(warnMap.get(key), "warn", builder.toString());
}
}
if(errorMap != null){
Set<String> keySet = errorMap.keySet();
Iterator<String> iter = keySet.iterator();
while(iter.hasNext()){
String key = iter.next();
int smark = key.indexOf("-");
int emark = key.lastIndexOf("-");
StringBuilder builder = new StringBuilder();
builder.append(key.substring(smark+1, emark));
builder.append(".");
builder.append(key.substring(emark+1));
dataset.setValue(errorMap.get(key), "error", builder.toString());
}
}
if(fatalMap != null){
Set<String> keySet = fatalMap.keySet();
Iterator<String> iter = keySet.iterator();
while(iter.hasNext()){
String key = iter.next();
int smark = key.indexOf("-");
int emark = key.lastIndexOf("-");
StringBuilder builder = new StringBuilder();
builder.append(key.substring(smark+1, emark));
builder.append(".");
builder.append(key.substring(emark+1));
dataset.setValue(fatalMap.get(key), "fatal", builder.toString());
}
}
if(severityMap != null){
Set<String> keySet = severityMap.keySet();
Iterator<String> iter = keySet.iterator();
while(iter.hasNext()){
String key = iter.next();
int smark = key.indexOf("-");
int emark = key.lastIndexOf("-");
StringBuilder builder = new StringBuilder();
builder.append(key.substring(smark+1, emark));
builder.append(".");
builder.append(key.substring(emark+1));
dataset.setValue(severityMap.get(key), "severity", builder.toString());
}
}
if(hintMap != null){
Set<String> keySet = hintMap.keySet();
Iterator<String> iter = keySet.iterator();
while(iter.hasNext()){
String key = iter.next();
int smark = key.indexOf("-");
int emark = key.lastIndexOf("-");
StringBuilder builder = new StringBuilder();
builder.append(key.substring(smark+1, emark));
builder.append(".");
builder.append(key.substring(emark+1));
dataset.setValue(hintMap.get(key), "hint", builder.toString());
}
}
return dataset;
}
/**
* 获取日志信息
*
* @return
*/
public String getLogs() {
return "success";
}
public T3lintCheckResult getT3lCheckResult() {
return t3lCheckResult;
}
public void setT3lCheckResult(T3lintCheckResult checkResult) {
t3lCheckResult = checkResult;
}
public List<CompileCheck> getCompileCheckList() {
return compileCheckList;
}
public void setCompileCheckList(List<CompileCheck> compileCheckList) {
this.compileCheckList = compileCheckList;
}
public List<T3lintCheck> getT3lintChekList() {
return t3lintChekList;
}
public void setT3lintChekList(List<T3lintCheck> chekList) {
t3lintChekList = chekList;
}
public CompileCheckService getCheckService() {
return checkService;
}
public void setCheckService(CompileCheckService checkService) {
this.checkService = checkService;
}
public T3lintCheckService getT3lintService() {
return t3lintService;
}
public void setT3lintService(T3lintCheckService service) {
t3lintService = service;
}
public ProjectService getProjectService() {
return projectService;
}
public void setProjectService(ProjectService projectService) {
this.projectService = projectService;
}
public CompileCheckResult getCompileCheckResult() {
return compileCheckResult;
}
public void setCompileCheckResult(CompileCheckResult compileCheckResult) {
this.compileCheckResult = compileCheckResult;
}
}
相关推荐
jfreechart-1.5.2.jar,jfreechart|jfreechart
通过分析源代码,开发者可以快速上手,并了解到如何将JFreeChart集成到自己的项目中。 4. **兼容性与性能**: JFreeChart是基于Java平台的,因此可以运行在任何支持Java的系统上。它的高性能和稳定表现使得即使...
"JFreeChart 官方例子 JFreeChart Dome" 提供了一系列官方示例,帮助开发者更好地理解和运用JFreeChart库的各种功能。 "ChangeLog" 文件通常记录了软件的更新历史,其中包括了每次版本升级中添加的新特性、修复的...
**JFreeChart 演示程序详解** JFreeChart 是一个强大的 Java 图表库,它提供了丰富的图表类型,包括柱状图、饼图、线图、散点图、甘特图等,适用于各种数据可视化需求。这篇内容将深入探讨 JFreeChart 的基本使用...
* jfreechart的文档不够完善,需要开发者自己探索和学习。 * jfreechart的性能可能不太好,对于大规模数据可能会出现性能问题。 jfreechart是一个非常强大的图表库,提供了非常灵活的图表定制功能和丰富的图表类型...
JFreeChart 是一个流行的 Java 库,用于创建各种类型的图表,包括饼图、折线图、柱状图等。在使用 JFreeChart 进行数据可视化时,可能会遇到乱码的问题,这通常与字体设置不当有关。本文将详细分析 Jfreechart 乱码...
JFreeChart是一款强大的Java库,用于创建各种类型的图表,包括柱状图、饼图、线图、散点图等。在“JFreeChart混合图表演示”中,我们重点探讨如何利用JFreeChart来创建一个包含多种图表类型的混合图表,以提供更丰富...
JFreeChart是一款强大的Java图表库,它允许开发者创建多种类型的2D图表,包括折线图、柱状图、饼图、散点图等。在Java应用程序中,JFreeChart经常被用于数据分析和可视化,尤其在报表系统、数据分析工具或者任何需要...
### JFreeChart应用详解:Java图形解决方案的深度解析 #### JFreeChart概述 JFreeChart是Java领域中领先的开源图表库,由JFree组织在SourceForge.net上维护和发布。它提供了一系列强大的图表生成功能,适用于多种...
"JFreechart教程与实例" JFreechart是一款功能强大的图形报表组件,主要用于生成各种动态图表。在Java项目的应用中,JFreechart组件几乎可以满足目前图形报表的所有需求。JFreechart组件可以生成各种各样的图形报表...
JFreeChart 是一个强大的 Java 图形库,它为开发者提供了丰富的图表类型,包括柱状图、折线图、饼状图等,用于在 Java 应用程序中进行数据可视化。在 Java 后台开发中,数据的图形化表示能够帮助用户更直观地理解...
标题 "jfreechart" 指的是 JFreeChart,这是一个流行的开源 Java 图形库,用于创建高质量的图表。它在各种应用中广泛使用,包括报表、仪表盘、科学出版物等,提供了丰富的图表类型,如饼图、柱状图、线图、散点图和...
**JFreeChart 使用详解** JFreeChart 是一个用于 Java 的开源图表库,它提供了一种简单的方法来创建各种复杂的图表,如折线图、柱状图、饼图、散点图以及更专业的图表类型,如甘特图和雷达图。在Java应用中,如果你...
**JFreeChart库详解** JFreeChart是一款强大的Java图表库,它允许开发者在Java应用程序或网页中创建多种类型的图表,包括雷达图(也称为蜘蛛网图)。本篇将深入探讨如何利用JFreeChart生成雷达图以及相关的数据导出...
**JFreeChart 1.0.9:一个强大的Java图表库** JFreeChart是一个流行的开源Java库,用于创建各种高质量的图表,包括折线图、柱状图、饼图、散点图、甘特图等。它在描述复杂数据集时提供了一种直观的方式,广泛应用于...
FusionCharts是一款强大的数据可视化工具,它可以作为Java图表库jFreeChart的一个替代选择。与jFreeChart相比,FusionCharts提供了更加丰富的图表类型、更美观的图表效果以及更友好的用户体验。本文将深入探讨...
### jfreechart中文学习文档 #### 一、引言 ##### 1.1 JFreeChart 是什么? **1.1.1 概览** JFreeChart 是一款为 Java 平台设计的免费图表库。这款工具非常适合在各种 Java 应用程序、Applet 和 Servlet 中使用...
**JFreeChart** 是一个广泛使用的Java库,用于创建高质量的图表,包括折线图、柱状图、饼图、散点图等。它在Java应用程序、Web应用、报告和移动应用中都有广泛应用。JFreeChart支持多种图表类型,允许自定义颜色、...
JFreeChart是一款功能强大的Java图表库,它能够生成多种图表,如柱状图、折线图、饼图、时间序列图等,常用于Java应用程序中。而Eclipse是一个开源的集成开发环境,广泛用于Java语言的开发。在Eclipse中配置...