package sk.stuba.fiit.perconik.elasticsearch.ui.preferences;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IWorkbenchWindow;
import sk.stuba.fiit.perconik.eclipse.jface.dialogs.MessageDialogWithPreference;
import sk.stuba.fiit.perconik.eclipse.jface.dialogs.MessageDialogWithPreference.Preference;
import sk.stuba.fiit.perconik.eclipse.ui.Windows;
import sk.stuba.fiit.perconik.elasticsearch.preferences.ElasticsearchPreferences;
public final class ElasticsearchMessageDialogs {
private ElasticsearchMessageDialogs() {}
public static void openError(final String key, final String message) {
openError(key, message, "Always display warning on service failure");
}
public static void openError(final String key, final String message, final String toggle) {
final Runnable dialog = new Runnable() {
public void run() {
IWorkbenchWindow window = Windows.getActiveWindow();
Shell shell = window != null ? window.getShell() : Display.getDefault().getActiveShell();
String title = "Elasticsearch Proxy Error";
IPreferenceStore store = ElasticsearchPreferences.getShared().getPreferenceStore();
Preference preference = Preference.usingToggleState(store, key);
MessageDialogWithPreference.openError(shell, title, message, toggle, preference).setBlockOnOpen(true);
}
};
Display.getDefault().syncExec(dialog);
}
}