package com.quantum.wizards;
+import java.sql.SQLException;
+
import com.quantum.sql.FilterSort;
-import com.quantum.sql.TableRow;
-import com.quantum.view.tableview.TableAdapter;
-import com.quantum.view.tableview.TableView;
+import com.quantum.sql.SQLResultSetResults;
+import com.quantum.ui.dialog.ExceptionDisplayDialog;
+import com.quantum.util.connection.ConnectionUtil;
import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Text;
public class SortFilterPage extends WizardPage implements SQLPage {
- TableRow row;
- TableAdapter adapter;
Button[] filter;
Combo[] operator;
Text[] filterValues;
Button[] stringFlags;
Button[] sort;
Combo[] ascDesc;
+ private SQLResultSetResults.Row row;
+
+ private ConnectionUtil connectionUtil = new ConnectionUtil();
String columnNames[];
Label query;
FilterSort filterSort = new FilterSort();
+ private SQLResultSetResults results;
public SortFilterPage(String pageName) {
super(pageName);
}
- public void init(TableRow row, TableAdapter adapter) {
+ public void init(SQLResultSetResults results, SQLResultSetResults.Row row) {
+ this.results = results;
this.row = row;
- this.adapter = adapter;
}
public void createControl(Composite parent) {
int layoutColumns = 6;
layout.numColumns = layoutColumns;
- if (row == null) {
- System.out.println("Row is null"); //$NON-NLS-1$
- }
- if (row.getColumnNames() == null) {
- System.out.println("Columns are null"); //$NON-NLS-1$
- }
- if (row.getTableData() == null) {
- System.out.println("Data is null"); //$NON-NLS-1$
- }
+ columnNames = this.results.getColumnNames();
- columnNames = row.getColumnNames();
- String[] data = row.getTableData();
- for (int i = 0; i < row.getColumnCount(); i++) {
- System.out.println("data = " + i + "=" + data[i]); //$NON-NLS-1$ //$NON-NLS-2$
- System.out.println("column = " + i + "=" + columnNames[i]); //$NON-NLS-1$ //$NON-NLS-2$
- }
- int size = row.getColumnCount();
+ int size = this.results.getColumnCount();
filter = new Button[size];
operator = new Combo[size];
filterValues = new Text[size];
stringFlags = new Button[size];
sort = new Button[size];
ascDesc = new Combo[size];
- for (int i = 0; i < row.getColumnCount(); i++) {
+ for (int i = 0; i < size; i++) {
filter[i] = new Button(container, SWT.CHECK);
filter[i].setText(columnNames[i]);
filter[i].addSelectionListener(new SelectionListener() {
});
filterValues[i] = new Text(container, SWT.BORDER);
- filterValues[i].setText(data[i]);
+ Object data = this.row == null ? null : this.row.get(i+1);
+ filterValues[i].setText(data == null ? "" : data.toString());
filterValues[i].addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
updateQuery();
}
public boolean performFinish() {
- adapter.setFilterSort(filterSort);
- TableView.getInstance().refreshCurrent();
- return true;
+ this.results.setFilterSort(filterSort);
+ try {
+ this.results.refresh(this.connectionUtil.connect(
+ this.results.getBookmark(), getShell()));
+ return true;
+ } catch (SQLException e) {
+ ExceptionDisplayDialog.openError(getShell(), null, null, e);
+ return false;
+ }
}
}