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 755f9be..435f0cc 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,40 +1,49 @@ package com.quantum.wizards; import java.sql.SQLException; +import java.util.Arrays; 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.TableRow; -import com.quantum.view.ViewHelper; -import com.quantum.view.tableview.TableAdapter; +import com.quantum.sql.MultiSQLServer; +import com.quantum.sql.SQLResultSetResults; +import com.quantum.sql.SQLResults; +import com.quantum.ui.dialog.SQLExceptionDialog; +import com.quantum.util.connection.ConnectionUtil; import org.eclipse.jface.wizard.WizardPage; +import org.eclipse.swt.widgets.Table; +import org.eclipse.swt.widgets.TableColumn; /** - * @author BC + * @author BC Holmes + * @author Sirkware */ public abstract class BaseSQLPage extends WizardPage implements SQLPage { - protected TableRow row; - protected TableAdapter adapter; + protected SQLResultSetResults.Row row; + protected SQLResultSetResults results; + private ConnectionUtil connectionUtil = new ConnectionUtil(); public BaseSQLPage(String pageName) { 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; - } + Bookmark bookmark = this.results.getBookmark(); + try { + bookmark.addQuery(getQueryText()); + SQLResults sqlResults = MultiSQLServer.getInstance().execute(bookmark, + this.connectionUtil.getConnection(bookmark, getShell()), getQueryText()); + return sqlResults == null ? false : true; + } catch (SQLException e) { + SQLExceptionDialog.openException(getShell(), bookmark, e); + return false; + } + } + protected abstract String getQueryText(); protected void appendColumn(StringBuffer whereClause, Entity entity, String columnName, DatabaseAdapter adapter, String value) { @@ -61,8 +70,29 @@ public abstract class BaseSQLPage extends WizardPage implements SQLPage { return null; } } - public void init(TableRow row, TableAdapter adapter) { - this.row = row; - this.adapter = adapter; + public void init(SQLResultSetResults results, SQLResultSetResults.Row row) { + this.results = results; + this.row = row; } + + /** + * @param table + * @param colName + * @param style + * @param pos + * @param width + */ + protected void createTableColumn(Table table, String colName, int style, int pos, int width) { + TableColumn column = new TableColumn(table, style, pos); + column.setText(colName); + column.setWidth(width); + } + + /** + * @param columnNames + * @return + */ + protected java.util.List getColumnNamesAsList(String[] columnNames) { + return Arrays.asList(columnNames); + } }