Quantum version 2.4.1
[phpeclipse.git] / archive / net.sourceforge.phpeclipse.quantum.sql / src / com / quantum / wizards / SortFilterPage.java
index c23d03e..4447e10 100644 (file)
@@ -1,9 +1,11 @@
 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;
@@ -20,25 +22,27 @@ import org.eclipse.swt.widgets.Label;
 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) {
@@ -50,30 +54,16 @@ public class SortFilterPage extends WizardPage implements SQLPage {
                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() {
@@ -98,7 +88,8 @@ public class SortFilterPage extends WizardPage implements SQLPage {
                        });
                        
                        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();
@@ -173,8 +164,14 @@ public class SortFilterPage extends WizardPage implements SQLPage {
        }
 
        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;
+               }
        }
 }