package jdepend.client.report.ui;
import java.awt.BorderLayout;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import javax.swing.JScrollPane;
import jdepend.framework.ui.component.TextViewer;
import jdepend.framework.ui.dialog.CooperDialog;
import jdepend.model.JDependUnit;
import jdepend.client.report.way.textui.TextSummaryPrinter;
public class CycleDialog extends CooperDialog {
private String cycleText;
public CycleDialog(JDependUnit unit) {
super(unit.getName());
getContentPane().setLayout(new BorderLayout());
TextViewer classProperty = new TextViewer();
printCycle(unit);
classProperty.setText(cycleText);
classProperty.setCaretPosition(0);
this.add(new JScrollPane(classProperty));
}
private void printCycle(JDependUnit unit) {
OutputStream info = new ByteArrayOutputStream();
TextSummaryPrinter printer = new TextSummaryPrinter();
printer.setStream(info);
printer.printCycle(unit);
printer.getWriter().flush();
cycleText = info.toString();
try {
info.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}