--- /dev/null
+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.adapters.AdapterFactory;
+import net.sourceforge.phpdt.sql.adapters.DatabaseAdapter;
+import net.sourceforge.phpdt.sql.adapters.NoSuchAdapterException;
+import net.sourceforge.phpdt.sql.sql.MultiSQLServer;
+import net.sourceforge.phpdt.sql.sql.SQLResults;
+import net.sourceforge.phpdt.sql.view.BookmarkView;
+import net.sourceforge.phpdt.sql.view.TableView;
+import net.sourceforge.phpdt.sql.view.bookmark.BookmarkNode;
+import net.sourceforge.phpdt.sql.view.bookmark.SequenceNode;
+import net.sourceforge.phpdt.sql.view.bookmark.TreeNode;
+
+public class NextSequenceAction 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();
+ String name = null;
+ try {
+ if (node instanceof SequenceNode) {
+ SequenceNode sequence = (SequenceNode) node;
+ BookmarkNode parent = (BookmarkNode) sequence.getParent();
+ DatabaseAdapter adapter = AdapterFactory.getInstance().getAdapter(parent.getType());
+ name = sequence.getName();
+ String query = adapter.getNextValue(name);
+ MultiSQLServer server = MultiSQLServer.getInstance();
+ SQLResults results = server.execute(query);
+ TableView.getInstance().loadQuery(results);
+ }
+ } catch (NoSuchAdapterException e) {
+ }
+ }
+
+ public void selectionChanged(IAction action, ISelection selection) {
+ }
+
+}