package com.quantum.actions; import java.sql.Connection; import java.util.List; import com.quantum.model.Bookmark; import com.quantum.util.connection.ConnectionUtil; import com.quantum.view.bookmark.EntityNode; import com.quantum.view.bookmark.TreeNode; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.swt.widgets.Shell; import org.eclipse.ui.IViewPart; import org.eclipse.ui.actions.SelectionListenerAction; /** * @author BC */ public abstract class BaseSequenceAction extends SelectionListenerAction { protected IViewPart view; private ConnectionUtil connectionUtil = new ConnectionUtil(); protected BaseSequenceAction(String text, IViewPart view) { super(text); } protected Bookmark getBookmark() { TreeNode node = getEntityNode(); return node.getBookmark(); } protected Connection getConnection() { return connectionUtil.getConnection(getBookmark(), getShell()); } protected EntityNode getEntityNode() { List list = getSelectedNonResources(); return (EntityNode) list.get(0); } protected Shell getShell() { return this.view.getViewSite().getShell(); } protected boolean updateSelection(IStructuredSelection selection) { boolean enabled = super.updateSelection(selection); return enabled && selection.size() == 1 && (selection.getFirstElement() instanceof EntityNode) && ((EntityNode) selection.getFirstElement()).isSequence(); } }