/** * */ package com.camptocamp.owsproxy; import java.io.File; import java.text.MessageFormat; import javax.swing.JFrame; import javax.swing.JOptionPane; import javax.swing.SwingUtilities; import owsproxyclient.CertificateWarningDialog; import owsproxyclient.ExamineCertPanel.AddCert; public class UIConnectionManager extends ConnectionManager { @Override public AddCert certificateValidationFailure(boolean readonlyKeystore, String errorMessage, String certificateInformation) { CertificateWarningDialog warningDialog = new CertificateWarningDialog("localhost", errorMessage, certificateInformation, new JFrame(), true); //$NON-NLS-1$ if( readonlyKeystore ) warningDialog.disablePermanentOption(); warningDialog.setVisible(true); AddCert howToHandle = warningDialog.addCertificateSelected(); return howToHandle; } @Override public void keystoreMissing(final File keystore) { try { SwingUtilities.invokeAndWait(new Runnable() { public void run() { String msg = MessageFormat.format(Translations.getString("UIConnectionManager.warningMsg"), keystore); //$NON-NLS-1$ Object[] options = { Translations.getString("UIConnectionManager.yes"), Translations.getString("UIConnectionManager.no") }; //$NON-NLS-1$ //$NON-NLS-2$ int result = JOptionPane.showOptionDialog(new JFrame(), msg, Translations.getString("UIConnectionManager.missingKeystore"), JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.QUESTION_MESSAGE, //$NON-NLS-1$ null, options, options[0]); if (result == 1) { throw new RuntimeException("cancel chosen"); //$NON-NLS-1$ } } }); } catch (Exception e) { super.keystoreMissing(keystore); } } }