package jdepend.statistics.action; import java.awt.event.ActionEvent; import jdepend.core.score.ScoreInfo; import jdepend.framework.exception.JDependException; import jdepend.framework.log.LogUtil; import jdepend.framework.ui.graph.GraphUtil; import jdepend.framework.ui.graph.model.GraphData; import jdepend.framework.ui.graph.model.GraphDataItem; import jdepend.model.result.AnalysisResult; import jdepend.model.util.JavaClassRelationUtil; import jdepend.statistics.StaticsFrame; public class ClassRelationTypeAction extends ScoreListAction { public ClassRelationTypeAction(StaticsFrame frame) { super(frame, "类关系类型比例分析"); } @Override protected void analyse(ActionEvent e) throws JDependException { GraphData graph = new GraphData(); GraphDataItem item; String title; JavaClassRelationUtil javaClassRelationUtil = null; AnalysisResult result; String group; String command; for (ScoreInfo scoreInfo : scoreCollection.getScoreInfos()) { result = scoreCollection.getTheResult(scoreInfo); javaClassRelationUtil = new JavaClassRelationUtil(result); item = new GraphDataItem(); group = result.getRunningContext().getGroup(); command = result.getRunningContext().getCommand(); title = group + " " + command + " 类关系类型比例"; item.setTitle(title); item.setType(GraphDataItem.PIE); item.setDatas(javaClassRelationUtil.getTypes()); graph.addItem(item); this.progress(); LogUtil.getInstance(ClassRelationTypeAction.class).systemLog( "分析了[" + group + "][" + command + "]的ClassRelationType"); } this.addResult("类关系类型比例饼图", GraphUtil.createGraph(graph)); } }