package jdepend.client.report.ui;
import java.awt.BorderLayout;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Collection;
import javax.swing.JScrollPane;
import jdepend.framework.ui.dialog.CooperDialog;
import jdepend.model.JDependUnit;
import jdepend.model.JDependUnitMgr;
import jdepend.client.report.way.textui.JDependPrinter;
public class CouplingDialog extends CooperDialog {
private StringBuilder couplingText;
public CouplingDialog(JDependUnit unit) {
super(unit.getName() + " 耦合值(倒序)");
getContentPane().setLayout(new BorderLayout());
Collection<JDependUnit> units = new ArrayList<JDependUnit>();
units.add(unit);
printCoupling(units);
this.add(new JScrollPane((new XMLJDependUtil()).createResult(couplingText)));
}
public CouplingDialog() {
super("耦合值(倒序)");
getContentPane().setLayout(new BorderLayout());
printCoupling(JDependUnitMgr.getInstance().getComponents());
this.add(new JScrollPane((new XMLJDependUtil()).createResult(couplingText)));
}
private void printCoupling(Collection<? extends JDependUnit> units) {
OutputStream info = new ByteArrayOutputStream();
JDependPrinter printer = new JDependPrinter();
printer.setStream(info);
printer.printCouplings(units);
printer.getWriter().flush();
couplingText = new StringBuilder(info.toString());
try {
info.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}