--- /dev/null
+package com.quantum.actions;
+
+import com.quantum.Messages;
+import com.quantum.QuantumPlugin;
+import com.quantum.adapters.AdapterFactory;
+import com.quantum.adapters.DatabaseAdapter;
+import com.quantum.model.Bookmark;
+import com.quantum.sql.SQLResults;
+import com.quantum.view.ViewHelper;
+import com.quantum.view.bookmark.EntityNode;
+import com.quantum.view.tableview.TableView;
+
+import org.eclipse.ui.IViewPart;
+
+public class NextSequenceAction extends BaseSequenceAction {
+
+ /**
+ * @param text
+ * @param view
+ */
+ public NextSequenceAction(IViewPart view) {
+ super(Messages.getString(NextSequenceAction.class.getName() + ".text"), view);
+ setImageDescriptor(QuantumPlugin.getImageDescriptor("append.gif"));
+ }
+
+ public void run() {
+ EntityNode node = getEntityNode();
+ String name = null;
+ if (node.isSequence()) {
+ EntityNode sequence = (EntityNode) node;
+ Bookmark bookmark = sequence.getBookmark();
+ DatabaseAdapter adapter = AdapterFactory.getInstance().getAdapter(bookmark.getType());
+ if (adapter == null) return;
+ name = sequence.getName();
+ String query = adapter.getNextValue(name, sequence.getEntity().getSchema());
+
+ SQLResults results = ViewHelper.tryGetResults(view, getConnection(), query);
+ if (results != null && ! results.isError())
+ TableView.getInstance().loadQuery(bookmark, results);
+ }
+ }
+}