package org.nlamah.QBase.Error;
import java.util.List;
import javax.swing.JFrame;
import org.nlamah.QBase.Tools.ArrayTools;
import org.nlamah.QBase.Tools.StringTools;
public class QBaseErrorViewController implements Runnable
{
private final static int FRAME_WIDTH = 900;
private final static int FRAME_HEIGHT = 600;
private List<QBaseWarning> warnings;
private List<? extends QBaseError> errors;
private JFrame frame;
private QBaseErrorView errorView;
public QBaseErrorViewController( List<QBaseWarning> warnings, List<QBaseError> errors)
{
this.warnings = warnings;
this.errors = errors;
loadFrame();
}
@Override
public void run()
{
errorView.fillInErrorString(produceErrorString());
errorView.fillInWarningString(produceWarningString());
frame.setVisible(true);
}
private void loadFrame()
{
frame = new JFrame();
frame.setTitle("Errors");
frame.setSize(FRAME_WIDTH, FRAME_HEIGHT);
frame.setLocationRelativeTo(null);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
errorView = new QBaseErrorView();
frame.setContentPane(errorView);
}
private String produceErrorString()
{
String errorString = "";
if (ArrayTools.arrayExistsAndHasElements(errors))
{
for (QBaseError error : errors)
{
errorString += "<p>" + error.description() + "</p>";
}
}
return StringTools.surroundStringWithHtmlTags(errorString);
}
private String produceWarningString()
{
String warningString = "";
if (ArrayTools.arrayExistsAndHasElements(warnings))
{
for (QBaseWarning warning : warnings)
{
warningString += "<p>" + warning.description() + "</p>";
}
}
return StringTools.surroundStringWithHtmlTags(warningString);
}
}