fixed NPE
[phpeclipse.git] / archive / net.sourceforge.phpeclipse.quantum.sql / src / com / quantum / wizards / BaseSQLPage.java
index a7a84fe..435f0cc 100644 (file)
@@ -1,19 +1,22 @@
 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.MultiSQLServer;
+import com.quantum.sql.SQLResultSetResults;
 import com.quantum.sql.SQLResults;
-import com.quantum.sql.TableRow;
-import com.quantum.view.ViewHelper;
-import com.quantum.view.tableview.TableAdapter;
+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 Holmes
@@ -21,21 +24,22 @@ import org.eclipse.jface.wizard.WizardPage;
  */
 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() {
+               Bookmark bookmark = this.results.getBookmark();
                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();
+                       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;
                }
        }
@@ -66,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);      
+       }
 }