package at.medevit.elexis.ehc.ui.vacdoc.preferences;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.preference.FieldEditor;
import org.eclipse.jface.preference.FieldEditorPreferencePage;
import org.eclipse.jface.preference.FileFieldEditor;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;
import at.medevit.elexis.ehc.ui.vacdoc.service.MeineImpfungenServiceHolder;
import at.medevit.elexis.ehc.vacdoc.service.MeineImpfungenService;
import ch.elexis.core.data.activator.CoreHub;
import ch.elexis.core.ui.preferences.SettingsPreferenceStore;
import ch.elexis.core.ui.preferences.inputs.PasswordFieldEditor;
public class MeineImpfungenPreferences extends FieldEditorPreferencePage
implements IWorkbenchPreferencePage {
@Override
public void init(IWorkbench workbench){
setPreferenceStore(new SettingsPreferenceStore(CoreHub.mandantCfg));
setDescription("Mandanten spezifische Einstellungen für meineimpfungen.");
}
@Override
protected void createFieldEditors(){
FieldEditor editor;
editor = new FileFieldEditor(MeineImpfungenService.CONFIG_TRUSTSTORE_PATH, "Truststore",
getFieldEditorParent());
addField(editor);
editor = new PasswordFieldEditor(MeineImpfungenService.CONFIG_TRUSTSTORE_PASS,
"Truststore Passwort", getFieldEditorParent());
addField(editor);
editor = new FileFieldEditor(MeineImpfungenService.CONFIG_KEYSTORE_PATH, "Keystore",
getFieldEditorParent());
addField(editor);
editor = new PasswordFieldEditor(MeineImpfungenService.CONFIG_KEYSTORE_PASS,
"Keystore Passwort", getFieldEditorParent());
addField(editor);
}
@Override
public boolean performOk(){
boolean ret = super.performOk();
if (ret) {
boolean configOk = MeineImpfungenServiceHolder.getService().updateConfiguration();
if (!configOk) {
MessageDialog.openError(getShell(), "meineimpfungen",
"Es ist ein Fehler aufgetreten, bitte überprüfen Sie die Konfiguration.");
return false;
}
}
return ret;
}
}