package net.sourceforge.phpeclipse.wizards.actions.metadata; import java.sql.SQLException; import org.eclipse.jface.wizard.WizardPage; import com.quantum.adapters.DatabaseAdapter; import com.quantum.model.Column; import com.quantum.model.Entity; import com.quantum.model.NotConnectedException; import com.quantum.util.connection.ConnectionUtil; /** * @author BC Holmes */ public abstract class BaseSQLPage extends WizardPage implements SQLPage { protected Row row; protected Column[] columns; // protected SQLResultSetResults results; private ConnectionUtil connectionUtil = new ConnectionUtil(); public BaseSQLPage(String pageName) { super(pageName); } public boolean performFinish() { // Bookmark bookmark = (Bookmark) this.results.getConnectable(); // 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; // } return false; } protected abstract String getQueryText(); protected void appendColumn(StringBuffer whereClause, Entity entity, String columnName, DatabaseAdapter adapter, String value) { 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); } } /** * @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(Row row, Column[] columns) { // this.results = results; this.row = row; this.columns = columns; } }