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