X-Git-Url: http://git.phpeclipse.com diff --git a/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/actions/NextSequenceAction.java b/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/actions/NextSequenceAction.java new file mode 100644 index 0000000..88331d8 --- /dev/null +++ b/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/actions/NextSequenceAction.java @@ -0,0 +1,42 @@ +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); + } + } +}