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) { } }