package apes.views;
import javax.swing.JOptionPane;
import apes.lib.Language;
import apes.models.Config;
/**
* Apes error messages.
*
* @author Johan Andersson (johandy@student.chalmers.se)
*/
public class ApesError
{
/**
* Unknown error.
*/
public static void unknownErrorOccurred()
{
ApesError.showError("unknown.title", "unknown.message");
}
/**
* Shows an error message saying that the format is not supported.
*/
public static void unsupportedFormat()
{
ApesError.showError("format.unsupported.title", "format.unsupported.message");
}
/**
* Saving the internal format failed.
*/
public static void saveFailure()
{
ApesError.showError("if.save.title", "if.save.message");
}
/**
* Opening an internal format failed.
*/
public static void couldNotOpenFileError()
{
ApesError.showError("if.open.title", "if.open.message");
}
/**
* Could not create configuration file.
*/
public static void couldNotCreateConfigurationFile()
{
ApesError.showError("config.file.create.title", "config.file.create.title");
}
/**
* Show a dialog error box or prints to STDERR.
*
* @param titleTag The title locale tag except "error.".
* @param messageTag The message locale tag except "error.".
*/
private static void showError(String titleTag, String messageTag)
{
Language language = Language.getInstance();
Config config = Config.getInstance();
String title = language.get("error." + titleTag);
String message = language.get("error." + messageTag);
if(config.getBooleanOption("gui_error_messages"))
{
JOptionPane.showMessageDialog(null, message, title, JOptionPane.ERROR_MESSAGE);
}
else
{
System.err.println(title + ":");
System.err.println(message);
}
}
}