You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sa...@apache.org on 2011/12/15 00:29:00 UTC
svn commit: r1214544 -
/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/menues/run/RunMenuItem.java
Author: samindaw
Date: Wed Dec 14 23:28:59 2011
New Revision: 1214544
URL: http://svn.apache.org/viewvc?rev=1214544&view=rev
Log:
ask to reset/stop previous run b4 running another workflow
Modified:
incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/menues/run/RunMenuItem.java
Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/menues/run/RunMenuItem.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/menues/run/RunMenuItem.java?rev=1214544&r1=1214543&r2=1214544&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/menues/run/RunMenuItem.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/menues/run/RunMenuItem.java Wed Dec 14 23:28:59 2011
@@ -27,6 +27,7 @@ import java.awt.event.KeyEvent;
import javax.swing.AbstractAction;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
+import javax.swing.JOptionPane;
import javax.swing.SwingUtilities;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
@@ -45,6 +46,7 @@ import org.apache.airavata.xbaya.jython.
import org.apache.airavata.xbaya.menues.MenuIcons;
import org.apache.airavata.xbaya.monitor.Monitor;
import org.apache.airavata.xbaya.monitor.MonitorConfiguration;
+import org.apache.airavata.xbaya.monitor.MonitorException;
import org.apache.airavata.xbaya.monitor.gui.MonitorConfigurationWindow;
import org.apache.airavata.xbaya.monitor.gui.MonitorStarter;
import org.slf4j.Logger;
@@ -232,13 +234,7 @@ public class RunMenuItem implements Eve
item.setMnemonic(KeyEvent.VK_R);
item.addActionListener(new AbstractAction() {
public void actionPerformed(ActionEvent event) {
- try {
- engine.getMonitor().reset();
- } catch (RuntimeException e) {
- engine.getErrorWindow().error(ErrorMessages.MONITOR_ERROR, e);
- } catch (Error e) {
- engine.getErrorWindow().error(ErrorMessages.UNEXPECTED_ERROR, e);
- }
+ stopMonitoring();
}
});
item.setVisible(false);
@@ -270,6 +266,13 @@ public class RunMenuItem implements Eve
private DynamicWorkflowRunnerWindow window;
public void actionPerformed(ActionEvent event) {
+ if (lastEvent!=null && lastEvent.getType()!=Event.Type.MONITOR_STOPED){
+ if (JOptionPane.showConfirmDialog(null, "A previous workflow excution data needs to be cleared before launching another workflow. Do you wish to continue?", "Run Dynamic Workflow", JOptionPane.YES_NO_OPTION)==JOptionPane.YES_OPTION){
+ stopMonitoring();
+ }else{
+ return;
+ }
+ }
if (this.window == null) {
this.window = new DynamicWorkflowRunnerWindow(engine);
}
@@ -340,6 +343,7 @@ public class RunMenuItem implements Eve
*/
public void eventReceived(Event event) {
Type type = event.getType();
+ lastEvent=event;
if (type.equals(Event.Type.MONITOR_CONFIGURATION_CHANGED)) {
MonitorConfiguration configuration = this.engine.getMonitor().getConfiguration();
boolean valid = configuration.isValid();
@@ -366,4 +370,19 @@ public class RunMenuItem implements Eve
public void setToolBar(XBayaToolBar toolBar) {
this.toolBar = toolBar;
}
+
+ private void stopMonitoring() {
+ try {
+ engine.getMonitor().reset();
+ engine.getMonitor().stop();
+ } catch (RuntimeException e) {
+ engine.getErrorWindow().error(ErrorMessages.MONITOR_ERROR, e);
+ } catch (Error e) {
+ engine.getErrorWindow().error(ErrorMessages.UNEXPECTED_ERROR, e);
+ } catch (MonitorException e) {
+ engine.getErrorWindow().error(e.getLocalizedMessage(), e);
+ }
+ }
+
+ private Event lastEvent=null;
}
\ No newline at end of file