package jdepend.client.ui.result.panel;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import javax.swing.JScrollPane;
import jdepend.framework.ui.graph.CooperTable;
import jdepend.framework.ui.graph.model.TableData;
import jdepend.knowledge.pattern.PatternIdentifyerMgrFactory;
import jdepend.knowledge.pattern.PatternInfo;
import jdepend.model.result.AnalysisResult;
import jdepend.client.ui.result.framework.SubResultTabPanel;
public final class DesignPatternPanel extends SubResultTabPanel {
@Override
protected void init(AnalysisResult result) {
Map<String, Collection<PatternInfo>> patternList = new PatternIdentifyerMgrFactory().create().identify(result);
TableData tableData = new TableData();
List<String> patternNames = new ArrayList<String>(patternList.keySet());
Collections.sort(patternNames);
for (String patternName : patternNames) {
if (patternList.get(patternName) != null && patternList.get(patternName).size() != 0) {
for (PatternInfo className : patternList.get(patternName)) {
tableData.setData("模型类型", patternName);
tableData.setData("类名", className.getJavaClass().getName());
tableData.setData("信息", className.toString());
}
} else {
tableData.setData("模型类型", patternName);
tableData.setData("类名", "无");
tableData.setData("信息", "无");
}
}
this.add(new JScrollPane(new CooperTable(tableData, true)));
}
}