package org.insightech.er.editor.view.dialog.dbimport; import java.net.UnknownHostException; import java.sql.Connection; import java.sql.SQLException; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Shell; import org.insightech.er.Activator; import org.insightech.er.common.exception.InputException; import org.insightech.er.editor.model.ERDiagram; import org.insightech.er.editor.view.dialog.common.AbstractDBSettingDialog; import org.insightech.er.preference.PreferenceInitializer; public class ImportDBSettingDialog extends AbstractDBSettingDialog { public ImportDBSettingDialog(Shell parentShell, ERDiagram diagram) { super(parentShell, diagram); } /** * {@inheritDoc} */ @Override protected void initialize(Composite parent) { super.initialize(parent); this.dbSetting = PreferenceInitializer.getDBSetting(0); } /** * {@inheritDoc} */ @Override protected void perfomeOK() throws InputException { this.setCurrentSetting(); Connection con = null; try { con = this.dbSetting.connect(); } catch (InputException e) { throw e; } catch (Exception e) { Activator.log(e); Throwable cause = e.getCause(); if (cause instanceof UnknownHostException) { throw new InputException("error.server.not.found"); } Activator.showMessageDialog(e.getMessage()); throw new InputException("error.database.not.found"); } finally { if (con != null) { try { con.close(); } catch (SQLException e) { Activator.showExceptionDialog(e); } } } } /** * {@inheritDoc} */ @Override protected String getTitle() { return "dialog.title.import.tables"; } }