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.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; if (node instanceof SequenceNode) { SequenceNode sequence = (SequenceNode) node; BookmarkNode parent = (BookmarkNode) sequence.getParent(); DatabaseAdapter adapter = AdapterFactory.getInstance().getAdapter(parent.getType()); if (adapter == null) return; name = sequence.getName(); String query = adapter.getNextValue(name); MultiSQLServer server = MultiSQLServer.getInstance(); SQLResults results = server.execute(parent.getConnection(), query); TableView.getInstance().loadQuery(parent, results); } } public void selectionChanged(IAction action, ISelection selection) { } }