SQL Plugin copied from Quantum plugin and refactored for PHPEclipse
[phpeclipse.git] / archive / net.sourceforge.phpeclipse.sql / src / net / sourceforge / phpdt / sql / actions / ViewTableDetailsAction.java
diff --git a/archive/net.sourceforge.phpeclipse.sql/src/net/sourceforge/phpdt/sql/actions/ViewTableDetailsAction.java b/archive/net.sourceforge.phpeclipse.sql/src/net/sourceforge/phpdt/sql/actions/ViewTableDetailsAction.java
new file mode 100644 (file)
index 0000000..2c8d5b5
--- /dev/null
@@ -0,0 +1,41 @@
+package net.sourceforge.phpdt.sql.actions;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.ui.IViewActionDelegate;
+import org.eclipse.ui.IViewPart;
+
+import net.sourceforge.phpdt.sql.sql.MultiSQLServer;
+import net.sourceforge.phpdt.sql.view.BookmarkView;
+import net.sourceforge.phpdt.sql.view.TableView;
+import net.sourceforge.phpdt.sql.view.bookmark.TableNode;
+import net.sourceforge.phpdt.sql.view.bookmark.TreeNode;
+import net.sourceforge.phpdt.sql.view.bookmark.ViewNode;
+
+public class ViewTableDetailsAction extends Action implements IViewActionDelegate {
+       BookmarkView view;
+       
+       public void init(IViewPart view) {
+               this.view = (BookmarkView) view;
+       }
+
+       public void run(IAction action) {
+               run();
+       }
+       public void run() {
+               TreeNode node = (TreeNode) view.getCurrent();
+               StringBuffer query = new StringBuffer();
+               query.append("METADATA:");
+               if (node instanceof TableNode) {
+                       query.append(((TableNode) node).getName());
+               } else if (node instanceof ViewNode) {
+                       query.append(((ViewNode) node).getName());
+               }
+               MultiSQLServer server = MultiSQLServer.getInstance();
+               TableView.getInstance().loadQuery(server.execute(query.toString()));
+       }
+       public void selectionChanged(IAction action, ISelection selection) {
+       }
+
+}