X-Git-Url: http://git.phpeclipse.com diff --git a/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/wizards/BaseSQLPage.java b/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/wizards/BaseSQLPage.java index 459a949..a7a84fe 100644 --- a/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/wizards/BaseSQLPage.java +++ b/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/wizards/BaseSQLPage.java @@ -1,10 +1,14 @@ package com.quantum.wizards; +import java.sql.SQLException; + import com.quantum.adapters.DatabaseAdapter; import com.quantum.model.Bookmark; import com.quantum.model.Column; import com.quantum.model.ConnectionException; import com.quantum.model.Entity; +import com.quantum.model.NotConnectedException; +import com.quantum.sql.SQLResults; import com.quantum.sql.TableRow; import com.quantum.view.ViewHelper; import com.quantum.view.tableview.TableAdapter; @@ -12,7 +16,8 @@ import com.quantum.view.tableview.TableAdapter; import org.eclipse.jface.wizard.WizardPage; /** - * @author BC + * @author BC Holmes + * @author Sirkware */ public abstract class BaseSQLPage extends WizardPage implements SQLPage { @@ -23,26 +28,45 @@ public abstract class BaseSQLPage extends WizardPage implements SQLPage { super(pageName); } public boolean performFinish() { - try { - Bookmark bookmark = this.adapter.getBookmark(); - bookmark.addQuery(getQueryText()); - ViewHelper.tryGetResults(getShell(), bookmark.getConnection(), getQueryText()); - } catch (ConnectionException e) { - e.printStackTrace(); - } - return true; - } + try { + Bookmark bookmark = this.adapter.getBookmark(); + bookmark.addQuery(getQueryText()); + SQLResults sqlResults = ViewHelper.tryGetResults(getShell(), + bookmark.getConnection(), getQueryText()); + return sqlResults.isError() ? false : true; + } catch (ConnectionException e) { + e.printStackTrace(); + return false; + } + } + protected abstract String getQueryText(); protected void appendColumn(StringBuffer whereClause, Entity entity, String columnName, DatabaseAdapter adapter, String value) { - - if (adapter != null && entity != null && entity.getColumn(columnName) != null) { - Column column = entity.getColumn(columnName); + + if (adapter != null && entity != null && getColumn(entity, columnName) != null) { + Column column = getColumn(entity, columnName); whereClause.append(adapter.quote(value, column.getType(), column.getTypeName())); } else { whereClause.append(value); } } - public void init(TableRow row, TableAdapter adapter) { + /** + * @param entity + * @param columnName + * @return + * @throws NotConnectedException + * @throws SQLException + */ + protected Column getColumn(Entity entity, String columnName) { + try { + return entity == null ? null : entity.getColumn(columnName); + } catch (NotConnectedException e) { + return null; + } catch (SQLException e) { + return null; + } + } + public void init(TableRow row, TableAdapter adapter) { this.row = row; this.adapter = adapter; }