1 19 20 package org.netbeans.modules.db.sql.editor.ui.actions; 21 22 import java.awt.Toolkit ; 23 import javax.swing.Action ; 24 import javax.swing.JMenuItem ; 25 import org.netbeans.api.db.explorer.DatabaseConnection; 26 import org.netbeans.modules.db.api.sql.execute.SQLExecution; 27 import org.openide.ErrorManager; 28 import org.openide.awt.Actions; 29 import org.openide.util.Lookup; 30 import org.openide.util.NbBundle; 31 import org.openide.util.actions.Presenter; 32 33 37 public class RunSQLSelectionAction extends SQLExecutionBaseAction { 38 39 private static final ErrorManager LOGGER = ErrorManager.getDefault().getInstance(RunSQLSelectionAction.class.getName()); 40 private static final boolean LOG = LOGGER.isLoggable(ErrorManager.INFORMATIONAL); 41 42 protected void initialize() { 43 putValue(Action.NAME, NbBundle.getMessage(RunSQLSelectionAction.class, "LBL_RunSQLSelectionAction")); 44 putValue("noIconInMenu", Boolean.TRUE); 45 } 46 47 public String getDisplayName(SQLExecution sqlExecution) { 48 if (sqlExecution == null || sqlExecution.isSelection()) { 49 return NbBundle.getMessage(RunSQLSelectionAction.class, "LBL_RunSelectionAction"); 50 } else { 51 return NbBundle.getMessage(RunSQLSelectionAction.class, "LBL_RunCurrentStatementAction"); 52 } 53 } 54 55 public void actionPerformed(SQLExecution sqlExecution) { 56 if (LOG) { 57 LOGGER.log(ErrorManager.INFORMATIONAL, "actionPerformed for " + sqlExecution); } 59 DatabaseConnection dbconn = sqlExecution.getDatabaseConnection(); 60 if (dbconn != null) { 61 sqlExecution.executeSelection(); 62 } else { 63 notifyNoDatabaseConnection(); 64 } 65 } 66 67 public Action createContextAwareInstance(Lookup actionContext) { 68 return new SelectionContextAwareDelegate(this, actionContext); 69 } 70 71 private static final class SelectionContextAwareDelegate extends ContextAwareDelegate implements Presenter.Popup { 72 73 public SelectionContextAwareDelegate(RunSQLSelectionAction parent, Lookup actionContext) { 74 super(parent, actionContext); 75 } 76 77 public JMenuItem getPopupPresenter() { 78 return new Actions.MenuItem(this, false); 79 } 80 } 81 } 82 | Popular Tags |