final Controller controller = Controller.getCurrentController();
if (controller == null) {
// ReportGenerator is not available during controller initialization
return;
}
final ViewController viewController = controller.getViewController();
if (out == null) {
out = new ByteArrayOutputStream();
setOutputStream(out);
}
if (!isLoggable(record)) {
return;
}
if (!(disabled || isRunning || reportCollected)) {
reportCollected = true;
viewController.invokeLater(new SubmitStarter());
}
viewController.invokeLater(new Runnable() {
@SuppressWarnings("serial")
public void run() {
try {
errorCounter++;
if(TextUtils.getRawText("internal_error_tooltip", null) != null){
if(logButton == null){
final ImageIcon errorIcon = new ImageIcon(ResourceController.getResourceController().getResource(
"/images/icons/messagebox_warning.png"));
logButton = new JButton(){
@Override public Dimension getPreferredSize(){
Dimension preferredSize = super.getPreferredSize();
preferredSize.height = getIcon().getIconHeight();
return preferredSize;
}
};
logButton.addActionListener(new LogOpener());
logButton.setIcon(errorIcon);
String tooltip = TextUtils.getText("internal_error_tooltip");
logButton.setToolTipText(tooltip);
viewController.addStatusComponent("internal_error", logButton);
}
logButton.setText(TextUtils.format("errornumber", errorCounter));
}
}
catch (Exception e) {