Author: [EMAIL PROTECTED]
Date: Fri Oct 10 07:54:10 2008
New Revision: 2767

Added:
   trunk/src/ca/sqlpower/architect/swingui/query/QueryDropListener.java
Modified:
   trunk/src/ca/sqlpower/architect/swingui/query/QueryDialog.java
   trunk/src/ca/sqlpower/architect/swingui/query/SQLQueryUIComponents.java

Log:
Removed any remaining architect dependencies from the SQLQueryUIComponent so that we can move it to the sqlpower library. The static method in "SQLQueryUIComponent" no longer takes in a dbTree and thus there will be no drag and drop action from the table to the textArea. This will be implemented differently Later. QueryDropListener has also been moved to its own class in the architect since it works with the dbTree.
The queryDialog was also updated to accept those changes.

Modified: trunk/src/ca/sqlpower/architect/swingui/query/QueryDialog.java
==============================================================================
--- trunk/src/ca/sqlpower/architect/swingui/query/QueryDialog.java (original) +++ trunk/src/ca/sqlpower/architect/swingui/query/QueryDialog.java Fri Oct 10 07:54:10 2008
@@ -50,15 +50,19 @@
      */
     public QueryDialog(ArchitectSwingSession session) {

-        try {
-            dbTree = new DBTree(session);
-        } catch (ArchitectException e) {
-            throw new RuntimeException(e);
-        }
-        TreeModel model = session.getSourceDatabases().getModel();
-        dbTree.setModel(model);
+ /*
+ * TODO the createQueryPanel does not accept a DBTree anymore, this will be fixed later.
+  */
+       try {
+           dbTree = new DBTree(session);
+       } catch (ArchitectException e) {
+           throw new RuntimeException(e);
+       }
+
+       TreeModel model = session.getSourceDatabases().getModel();
+       dbTree.setModel(model);

- queryPanel = SQLQueryUIComponents.createQueryPanel(session, session.getContext().getPlDotIni(), dbTree); + queryPanel = SQLQueryUIComponents.createQueryPanel(session, session.getContext().getPlDotIni());

         buildUI(session);
     }
@@ -73,5 +77,5 @@
         setLayout(new BorderLayout());
         add(treePane, BorderLayout.CENTER);
     }
-
+
 }

Added: trunk/src/ca/sqlpower/architect/swingui/query/QueryDropListener.java
==============================================================================
--- (empty file)
+++ trunk/src/ca/sqlpower/architect/swingui/query/QueryDropListener.java Fri Oct 10 07:54:10 2008
@@ -0,0 +1,124 @@
+/*
+ * Copyright (c) 2008, SQL Power Group Inc.
+ *
+ * This file is part of Power*Architect.
+ *
+ * Power*Architect is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * Power*Architect is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+package ca.sqlpower.architect.swingui.query;
+
+import java.awt.datatransfer.DataFlavor;
+import java.awt.datatransfer.UnsupportedFlavorException;
+import java.awt.dnd.DropTargetDragEvent;
+import java.awt.dnd.DropTargetDropEvent;
+import java.awt.dnd.DropTargetEvent;
+import java.awt.dnd.DropTargetListener;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Iterator;
+
+import javax.swing.JTextArea;
+
+import org.apache.log4j.Logger;
+
+import ca.sqlpower.architect.ArchitectException;
+import ca.sqlpower.architect.SQLObject;
+import ca.sqlpower.architect.SQLTable;
+import ca.sqlpower.architect.swingui.DBTree;
+import ca.sqlpower.architect.swingui.DnDTreePathTransferable;
+
+/**
+ * This QueryDropListener Listens to the SQLObjects being dragged onto the
+ * QueryTextArea from a DBTree. When an object is dragged onto the text area
+ * the object's name will be entered at the caret position.
+ */
+public class QueryDropListener implements DropTargetListener {
+
+ private static Logger logger = Logger.getLogger(SQLQueryUIComponents.class);
+    private DBTree dbTree;
+    private final JTextArea queryArea;
+
+    public QueryDropListener(DBTree dbtree, JTextArea textArea) {
+        this.queryArea = textArea;
+        this.dbTree = dbtree;
+    }
+
+    public void dragEnter(DropTargetDragEvent dtde) {
+        logger.debug("we are in dragEnter");
+
+    }
+
+    public void dragExit(DropTargetEvent dte) {
+        logger.debug("we are in dragExit");
+
+    }
+
+    public void dragOver(DropTargetDragEvent dtde) {
+        logger.debug("we are in dragOver");
+
+    }
+
+    public void drop(DropTargetDropEvent dtde) {
+ DataFlavor[] flavours = dtde.getTransferable().getTransferDataFlavors();
+        DataFlavor bestFlavour = null;
+        for (int i = 0; i < flavours.length; i++) {
+            if (flavours[i] != null) {
+                bestFlavour = flavours[i];
+                break;
+            }
+        }
+        try {
+ ArrayList paths = (ArrayList) dtde.getTransferable().getTransferData(bestFlavour);
+            Iterator it = paths.iterator();
+            while(it.hasNext()) {
+ Object oo = DnDTreePathTransferable.getNodeForDnDPath((SQLObject) dbTree.getModel().getRoot(), (int[])it.next());
+                if (oo instanceof SQLTable) {
+                    SQLTable table = ((SQLTable) oo);
+                    StringBuffer buffer = new StringBuffer();
+                    if (!table.getCatalogName().equals("")) {
+                        buffer.append(table.getCatalogName());
+                        buffer.append(".");
+                    }
+                    if(!table.getSchemaName().equals("")) {
+                        buffer.append(table.getSchemaName());
+                        buffer.append(".");
+                    }
+                    buffer.append(table.getPhysicalName());
+ queryArea.insert(buffer.toString(), queryArea.getCaretPosition());
+                } else if (oo instanceof SQLObject) {
+ queryArea.insert(((SQLObject) oo).getPhysicalName(), queryArea.getCaretPosition());
+                } else {
+                    logger.error("Unknown object dropped in PlayPen: "+oo);
+                }
+            }
+            dtde.dropComplete(true);
+        } catch (UnsupportedFlavorException e) {
+            logger.error(e);
+            dtde.rejectDrop();
+        } catch (IOException e) {
+            logger.error(e);
+            dtde.rejectDrop();
+        } catch (ArchitectException e) {
+            logger.error(e);
+            dtde.rejectDrop();
+        }
+    }
+
+    public void dropActionChanged(DropTargetDragEvent dtde) {
+        logger.debug("we are in dropActionChange");
+
+    }
+
+}

Modified: trunk/src/ca/sqlpower/architect/swingui/query/SQLQueryUIComponents.java
==============================================================================
--- trunk/src/ca/sqlpower/architect/swingui/query/SQLQueryUIComponents.java (original) +++ trunk/src/ca/sqlpower/architect/swingui/query/SQLQueryUIComponents.java Fri Oct 10 07:54:10 2008
@@ -21,19 +21,11 @@

 import java.awt.Toolkit;
 import java.awt.Window;
-import java.awt.datatransfer.DataFlavor;
-import java.awt.datatransfer.UnsupportedFlavorException;
-import java.awt.dnd.DropTarget;
-import java.awt.dnd.DropTargetDragEvent;
-import java.awt.dnd.DropTargetDropEvent;
-import java.awt.dnd.DropTargetEvent;
-import java.awt.dnd.DropTargetListener;
 import java.awt.event.ActionEvent;
 import java.awt.event.InputEvent;
 import java.awt.event.ItemEvent;
 import java.awt.event.ItemListener;
 import java.awt.event.KeyEvent;
-import java.io.IOException;
 import java.sql.Connection;
 import java.sql.ResultSet;
 import java.sql.SQLException;
@@ -41,7 +33,6 @@
 import java.text.ParseException;
 import java.util.ArrayList;
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;

@@ -72,11 +63,6 @@

 import org.apache.log4j.Logger;

-import ca.sqlpower.architect.ArchitectException;
-import ca.sqlpower.architect.SQLObject;
-import ca.sqlpower.architect.SQLTable;
-import ca.sqlpower.architect.swingui.DBTree;
-import ca.sqlpower.architect.swingui.DnDTreePathTransferable;
 import ca.sqlpower.sql.CachedRowSet;
 import ca.sqlpower.sql.DataSourceCollection;
 import ca.sqlpower.sql.DatabaseListChangeEvent;
@@ -118,86 +104,6 @@
      */
     private static final Object REDO_SQL_EDIT = "Redo SQL Edit";

-    /**
- * This QueryDropListener Listens to the SQLObjects being dragged onto the - * QueryTextArea from a DBTree. When an object is dragged onto the text area
-     * the object's name will be entered at the caret position.
-     */
-    private class QueryDropListener implements DropTargetListener {
-
-        private DBTree dbTree;
-
-        public QueryDropListener(DBTree dbtree) {
-            this.dbTree = dbtree;
-        }
-
-        public void dragEnter(DropTargetDragEvent dtde) {
-            logger.debug("we are in dragEnter");
-
-        }
-
-        public void dragExit(DropTargetEvent dte) {
-            logger.debug("we are in dragExit");
-
-        }
-
-        public void dragOver(DropTargetDragEvent dtde) {
-            logger.debug("we are in dragOver");
-
-        }
-
-        public void drop(DropTargetDropEvent dtde) {
- DataFlavor[] flavours = dtde.getTransferable().getTransferDataFlavors();
-            DataFlavor bestFlavour = null;
-            for (int i = 0; i < flavours.length; i++) {
-                if (flavours[i] != null) {
-                    bestFlavour = flavours[i];
-                    break;
-                }
-            }
-            try {
- ArrayList paths = (ArrayList) dtde.getTransferable().getTransferData(bestFlavour);
-                Iterator it = paths.iterator();
-                while(it.hasNext()) {
- Object oo = DnDTreePathTransferable.getNodeForDnDPath((SQLObject) dbTree.getModel().getRoot(), (int[])it.next());
-                    if (oo instanceof SQLTable) {
-                        SQLTable table = ((SQLTable) oo);
-                        StringBuffer buffer = new StringBuffer();
-                        if (!table.getCatalogName().equals("")) {
-                            buffer.append(table.getCatalogName());
-                            buffer.append(".");
-                        }
-                        if(!table.getSchemaName().equals("")) {
-                            buffer.append(table.getSchemaName());
-                            buffer.append(".");
-                        }
-                        buffer.append(table.getPhysicalName());
- queryArea.insert(buffer.toString(), queryArea.getCaretPosition());
-                    } else if (oo instanceof SQLObject) {
- queryArea.insert(((SQLObject) oo).getPhysicalName(), queryArea.getCaretPosition());
-                    } else {
- logger.error("Unknown object dropped in PlayPen: "+oo);
-                    }
-                }
-                dtde.dropComplete(true);
-            } catch (UnsupportedFlavorException e) {
-                logger.error(e);
-                dtde.rejectDrop();
-            } catch (IOException e) {
-                logger.error(e);
-                dtde.rejectDrop();
-            } catch (ArchitectException e) {
-                logger.error(e);
-                dtde.rejectDrop();
-            }
-        }
-
-        public void dropActionChanged(DropTargetDragEvent dtde) {
-            logger.debug("we are in dropActionChange");
-
-        }
-
-    }

     /**
* A listener for item selection on a combo box containing [EMAIL PROTECTED] SPDataSource}s.
@@ -368,11 +274,8 @@
      */
     private final JComboBox databaseComboBox;

-    private DropTarget dt;
-
-
     /**
-     * A JTextField for the user to enter the row limit of a query.
+     * A JSpinner for the user to enter the row limit of a query.
      */
     private final JSpinner rowLimitSpinner;

@@ -519,12 +422,7 @@
* Creates a DataBaseConnectionManager so we can edit delete and add connections on the button
      */
     DatabaseConnectionManager dbConnectionManager;
-
- public SQLQueryUIComponents(SwingWorkerRegistry s, DataSourceCollection ds, DBTree dbTree, JPanel panel) {
-        this(s, ds, panel);
-        dt = new DropTarget(queryArea, new QueryDropListener(dbTree));
-    }
-
+
public SQLQueryUIComponents(SwingWorkerRegistry s, DataSourceCollection ds, JPanel panel) {
         super();
         queryPanel = panel;
@@ -681,10 +579,10 @@
     /**
      * Builds the UI of the [EMAIL PROTECTED] SQLQueryUIComponents}.
      */
- public static JComponent createQueryPanel(SwingWorkerRegistry swRegistry,DataSourceCollection ds, DBTree dbTree) { + public static JComponent createQueryPanel(SwingWorkerRegistry swRegistry,DataSourceCollection ds) {

         JPanel defaultQueryPanel = new JPanel();
- SQLQueryUIComponents queryParts = new SQLQueryUIComponents(swRegistry, ds, dbTree, defaultQueryPanel); + SQLQueryUIComponents queryParts = new SQLQueryUIComponents(swRegistry, ds, defaultQueryPanel);
         JToolBar toolbar = new JToolBar();
         toolbar.add(queryParts.getExecuteButton());
         toolbar.add(queryParts.getStopButton());

Reply via email to