package net.sourceforge.squirrel_sql.client.session.action; import net.sourceforge.squirrel_sql.client.IApplication; import net.sourceforge.squirrel_sql.client.action.SquirrelAction; import net.sourceforge.squirrel_sql.client.session.ISQLPanelAPI; import net.sourceforge.squirrel_sql.client.session.mainpanel.IResultTab; import net.sourceforge.squirrel_sql.client.session.mainpanel.ISQLResultExecuter; import net.sourceforge.squirrel_sql.fw.util.log.ILogger; import net.sourceforge.squirrel_sql.fw.util.log.LoggerController; import java.awt.event.ActionEvent; public class RerunCurrentSQLResultTabAction extends SquirrelAction implements ISQLPanelAction { /** Current panel. */ private ISQLPanelAPI _panel; /** Logger for this class. */ private static final ILogger s_log = LoggerController.createLogger(RerunCurrentSQLResultTabAction.class); /** * Ctor specifying Application API. * * @param app Application API. */ public RerunCurrentSQLResultTabAction(IApplication app) { super(app); } public void setSQLPanel(ISQLPanelAPI panel) { _panel = panel; setEnabled(_panel != null); } /** * Close the current result tab * * @param evt Event being executed. */ public synchronized void actionPerformed(ActionEvent evt) { if (_panel != null) { ISQLResultExecuter sqlResultExecuter = _panel.getSQLResultExecuter(); if (sqlResultExecuter != null) { IResultTab selectedResultTab = sqlResultExecuter.getSelectedResultTab(); if (selectedResultTab != null) { selectedResultTab.reRunSQL(); } } } } }