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 2012/04/30 18:58:02 UTC

svn commit: r1332291 - in /incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya: ./ gui/ menues/registry/ menues/run/ menues/xbaya/

Author: samindaw
Date: Mon Apr 30 16:58:02 2012
New Revision: 1332291

URL: http://svn.apache.org/viewvc?rev=1332291&view=rev
Log:
introducing xbaya execution mode

Added:
    incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/gui/XBayaExecutionModeListener.java
Modified:
    incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/XBaya.java
    incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/XBayaConfiguration.java
    incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/gui/XBayaGUI.java
    incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/gui/XBayaMenu.java
    incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/menues/registry/RegistryMenuItem.java
    incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/menues/run/RunMenuItem.java
    incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/menues/xbaya/XBayaMenuItem.java

Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/XBaya.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/XBaya.java?rev=1332291&r1=1332290&r2=1332291&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/XBaya.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/XBaya.java Mon Apr 30 16:58:02 2012
@@ -24,6 +24,7 @@ package org.apache.airavata.xbaya;
 import java.net.URI;
 import java.net.URISyntaxException;
 
+import org.apache.airavata.xbaya.XBayaConfiguration.XBayaExecutionMode;
 import org.apache.airavata.xbaya.component.registry.JCRComponentRegistry;
 import org.apache.airavata.xbaya.gui.ErrorMessages;
 import org.slf4j.Logger;
@@ -87,7 +88,7 @@ public class XBaya {
                 + " [-karmaWorkflowInstanceID]" + " [-myProxyPort port]" + " [-myProxyUsername username]"
                 + " [-myProxyLifetime sec]" + " [-loadMyProxy {true,false}]" + " [-messageBoxURL url]"
                 + " [-width width]" + " [-height height]" + " [-exitOnClose false/true]" + "[-enableProvenance false/true]"
-                + "[-enableProvenanceSmartRun false/true]" + "[-runWithCrossProduct true/false]");
+                + "[-enableProvenanceSmartRun false/true]" + "[-runWithCrossProduct true/false]"+"[-mode ide/monitor]");
     }
 
     private void parseArguments(String[] args) {
@@ -257,8 +258,11 @@ public class XBaya {
                     if ("false".equalsIgnoreCase(exit)) {
                         this.config.setRunWithCrossProduct(false);
                     }
-                }
-                else {
+                }  else if ("-mode".equalsIgnoreCase(arg)) {
+                	index++;
+                	String modeValue = args[index].toUpperCase();
+                	this.config.setXbayaExecutionMode(XBayaExecutionMode.valueOf(modeValue));
+                }  else {
                     String message = "Unknown option: " + arg;
                     logger.error(message);
                     this.config.addError(new XBayaException(message));

Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/XBayaConfiguration.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/XBayaConfiguration.java?rev=1332291&r1=1332290&r2=1332291&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/XBayaConfiguration.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/XBayaConfiguration.java Mon Apr 30 16:58:02 2012
@@ -30,6 +30,7 @@ import java.util.Observer;
 
 import org.apache.airavata.xbaya.component.registry.JCRComponentRegistry;
 import org.apache.airavata.xbaya.file.XBayaPathConstants;
+import org.apache.airavata.xbaya.gui.XBayaExecutionModeListener;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -132,6 +133,14 @@ public class XBayaConfiguration extends 
 
     private String trustedCertLocation = "";
 
+    private XBayaExecutionMode xbayaExecutionMode=XBayaExecutionMode.IDE;
+    
+    private List<XBayaExecutionModeListener> xbayaExecutionModeChangeListners=new ArrayList<XBayaExecutionModeListener>();
+    
+    public enum XBayaExecutionMode{
+    	IDE,
+    	MONITOR
+    }
     /**
      * Constructs an XwfConfiguration.
      */
@@ -844,4 +853,32 @@ public class XBayaConfiguration extends 
     public void setTrustedCertLocation(String trustedCertLocation) {
         this.trustedCertLocation = trustedCertLocation;
     }
+
+	public XBayaExecutionMode getXbayaExecutionMode() {
+		return xbayaExecutionMode;
+	}
+
+	public void setXbayaExecutionMode(XBayaExecutionMode xbayaExecutionMode) {
+		boolean modeChanged=(this.xbayaExecutionMode != xbayaExecutionMode);
+		this.xbayaExecutionMode = xbayaExecutionMode;
+		if (modeChanged) {
+			for (XBayaExecutionModeListener listner : xbayaExecutionModeChangeListners) {
+				try {
+					listner.executionModeChanged(this);
+				} catch (Exception e) {
+					e.printStackTrace();
+				}
+			}
+		}
+	}
+	
+	public void registerExecutionModeChangeListener(XBayaExecutionModeListener listner){
+		xbayaExecutionModeChangeListners.add(listner);
+	}
+	
+	public void unregisterExecutionModeChangeListener(XBayaExecutionModeListener listner){
+		if (xbayaExecutionModeChangeListners.contains(listner)) {
+			xbayaExecutionModeChangeListners.remove(listner);
+		}
+	}
 }
\ No newline at end of file

Added: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/gui/XBayaExecutionModeListener.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/gui/XBayaExecutionModeListener.java?rev=1332291&view=auto
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/gui/XBayaExecutionModeListener.java (added)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/gui/XBayaExecutionModeListener.java Mon Apr 30 16:58:02 2012
@@ -0,0 +1,34 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+
+package org.apache.airavata.xbaya.gui;
+
+import org.apache.airavata.xbaya.XBayaConfiguration;
+
+public interface XBayaExecutionModeListener {
+	/**
+	 * Triggers when the execution mode in xbaya is changed
+	 * For possition executions modes see, 
+	 * 			XBayaConfiguration.XBayaExecutionMode
+	 * @param config - XBaya configuration object
+	 */
+	public void executionModeChanged(XBayaConfiguration config);
+}

Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/gui/XBayaGUI.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/gui/XBayaGUI.java?rev=1332291&r1=1332290&r2=1332291&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/gui/XBayaGUI.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/gui/XBayaGUI.java Mon Apr 30 16:58:02 2012
@@ -50,6 +50,7 @@ import javax.swing.event.ChangeListener;
 
 import org.apache.airavata.common.utils.SwingUtil;
 import org.apache.airavata.xbaya.XBayaConfiguration;
+import org.apache.airavata.xbaya.XBayaConfiguration.XBayaExecutionMode;
 import org.apache.airavata.xbaya.XBayaConstants;
 import org.apache.airavata.xbaya.XBayaEngine;
 import org.apache.airavata.xbaya.XBayaException;
@@ -74,7 +75,7 @@ import org.apache.airavata.xbaya.wf.Work
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class XBayaGUI implements EventListener {
+public class XBayaGUI implements EventListener, XBayaExecutionModeListener {
 
     private static final Logger logger = LoggerFactory.getLogger(XBayaGUI.class);
 
@@ -131,6 +132,7 @@ public class XBayaGUI implements EventLi
         this.engine = engine;
         this.engine.getMonitor().addEventListener(this);
         graphFiler = new WorkflowFiler(engine);
+        engine.getConfiguration().registerExecutionModeChangeListener(this);
 
         try {
             SwingUtilities.invokeAndWait(new Runnable() {
@@ -510,6 +512,7 @@ public class XBayaGUI implements EventLi
 //        newGraphCanvas(true);
 
         this.frame.setVisible(true);
+        executionModeChanged(this.engine.getConfiguration());
     }
 
     /**
@@ -740,6 +743,11 @@ public class XBayaGUI implements EventLi
         this.frame.setTitle(workflowName + " - " + title);
     }
 
+	@Override
+	public void executionModeChanged(XBayaConfiguration config) {
+		this.leftSplitPane.setVisible(config.getXbayaExecutionMode()==XBayaExecutionMode.IDE);
+	}
+
 
 
 }
\ No newline at end of file

Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/gui/XBayaMenu.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/gui/XBayaMenu.java?rev=1332291&r1=1332290&r2=1332291&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/gui/XBayaMenu.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/gui/XBayaMenu.java Mon Apr 30 16:58:02 2012
@@ -30,6 +30,8 @@ import javax.swing.JMenu;
 import javax.swing.JMenuBar;
 import javax.swing.JMenuItem;
 
+import org.apache.airavata.xbaya.XBayaConfiguration;
+import org.apache.airavata.xbaya.XBayaConfiguration.XBayaExecutionMode;
 import org.apache.airavata.xbaya.XBayaConstants;
 import org.apache.airavata.xbaya.XBayaEngine;
 import org.apache.airavata.xbaya.amazonEC2.gui.AmazonEC2Menu;
@@ -47,7 +49,7 @@ import org.apache.airavata.xbaya.monitor
 import org.apache.airavata.xbaya.pegasus.gui.PegasusMenu;
 import org.apache.airavata.xbaya.wf.gui.WorkflowMenu;
 
-public class XBayaMenu implements XBayaComponent {
+public class XBayaMenu implements XBayaComponent,XBayaExecutionModeListener{
 
     private XBayaEngine engine;
 
@@ -96,6 +98,7 @@ public class XBayaMenu implements XBayaC
         this.setEngine(engine);
         setToolBar(toolBar);
         initMenu();
+		engine.getConfiguration().registerExecutionModeChangeListener(this);
 //        SwingUtilities.invokeLater(new Runnable() {
 //            public void run() {
 //                try {
@@ -126,6 +129,7 @@ public class XBayaMenu implements XBayaC
 		registerApplications = new RegisterApplicationsMenu(getEngine());
 
 		createMenuBar();
+		executionModeChanged(getEngine().getConfiguration());
 	}
 
     /**
@@ -149,21 +153,10 @@ public class XBayaMenu implements XBayaC
         menuBar.add(runMenuItem.getMenu());
         menuBar.add(toolsMenuItem.getMenu());
         menuBar.add(registryMenuItem.getMenu());
-
-//        this.menuBar.add(this.fileMenu.getMenu());
-//        this.menuBar.add(this.workflowMenu.getMenu());
-//        this.menuBar.add(this.componentMenu.getMenu());
-//        this.menuBar.add(this.experimentMenu.getMenu());
-//        menuBar.add(this.amazonEC2Menu.getMenu());
-//        // this.menuBar.add(this.myProxyMenu.getMenu());
-//        this.menuBar.add(this.monitorMenu.getMenu());
-//        this.menuBar.add(this.registerApplications.getMenu());
-
         // Space before Help
         this.menuBar.add(Box.createHorizontalGlue());
 
         this.menuBar.add(createHelpMenu());
-
     }
 
     private JMenu createHelpMenu() {
@@ -204,4 +197,9 @@ public class XBayaMenu implements XBayaC
 		this.toolBar = toolBar;
 	}
 
+	@Override
+	public void executionModeChanged(XBayaConfiguration config) {
+		this.menuBar.setVisible(config.getXbayaExecutionMode()==XBayaExecutionMode.IDE);	
+	}
+
 }
\ No newline at end of file

Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/menues/registry/RegistryMenuItem.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/menues/registry/RegistryMenuItem.java?rev=1332291&r1=1332290&r2=1332291&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/menues/registry/RegistryMenuItem.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/menues/registry/RegistryMenuItem.java Mon Apr 30 16:58:02 2012
@@ -28,15 +28,18 @@ import javax.swing.AbstractAction;
 import javax.swing.JMenu;
 import javax.swing.JMenuItem;
 
+import org.apache.airavata.xbaya.XBayaConfiguration;
 import org.apache.airavata.xbaya.XBayaEngine;
+import org.apache.airavata.xbaya.XBayaConfiguration.XBayaExecutionMode;
 import org.apache.airavata.xbaya.component.gui.JCRRegistryWindow;
 import org.apache.airavata.xbaya.gui.ToolbarButton;
+import org.apache.airavata.xbaya.gui.XBayaExecutionModeListener;
 import org.apache.airavata.xbaya.gui.XBayaToolBar;
 import org.apache.airavata.xbaya.menues.MenuIcons;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class RegistryMenuItem {
+public class RegistryMenuItem implements XBayaExecutionModeListener {
 
 	private static final String REGISTRY_ACTIONS = "registry_actions";
 
@@ -50,7 +53,7 @@ public class RegistryMenuItem {
 
     private XBayaToolBar toolBar;
 
-	private ToolbarButton jcrButton;
+	private ToolbarButton toolbarButtonJCR;
     
     /**
      * Constructs a WorkflowMenu.
@@ -61,6 +64,7 @@ public class RegistryMenuItem {
         this.engine = engine;
         setToolBar(toolBar);
         createWorkflowMenu();
+		engine.getConfiguration().registerExecutionModeChangeListener(this);
     }
 
     /**
@@ -80,6 +84,7 @@ public class RegistryMenuItem {
         registryMenu.setMnemonic(KeyEvent.VK_G);
 
         registryMenu.add(this.jcrRegistryItem);
+        executionModeChanged(engine.getConfiguration());
 
     }
     
@@ -98,7 +103,7 @@ public class RegistryMenuItem {
             }
         };
 		item.addActionListener(action);
-		jcrButton = getToolBar().addToolbarButton(REGISTRY_ACTIONS, item.getText(), MenuIcons.JCR_ICON, item.getText(), action, 1);
+		toolbarButtonJCR = getToolBar().addToolbarButton(REGISTRY_ACTIONS, item.getText(), MenuIcons.JCR_ICON, item.getText(), action, 1);
         return item;
     }
 
@@ -109,4 +114,9 @@ public class RegistryMenuItem {
 	public void setToolBar(XBayaToolBar toolBar) {
 		this.toolBar = toolBar;
 	}
+	
+	@Override
+	public void executionModeChanged(XBayaConfiguration config) {
+		toolbarButtonJCR.setVisible(config.getXbayaExecutionMode()==XBayaExecutionMode.IDE);
+	}
 }
\ No newline at end of file

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=1332291&r1=1332290&r2=1332291&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 Mon Apr 30 16:58:02 2012
@@ -34,8 +34,9 @@ import javax.swing.event.ChangeListener;
 import javax.swing.event.MenuEvent;
 import javax.swing.event.MenuListener;
 
+import org.apache.airavata.xbaya.XBayaConfiguration;
+import org.apache.airavata.xbaya.XBayaConfiguration.XBayaExecutionMode;
 import org.apache.airavata.xbaya.XBayaEngine;
-import org.apache.airavata.xbaya.XBayaException;
 import org.apache.airavata.xbaya.XBayaRuntimeException;
 import org.apache.airavata.xbaya.event.Event;
 import org.apache.airavata.xbaya.event.Event.Type;
@@ -45,6 +46,7 @@ import org.apache.airavata.xbaya.graph.d
 import org.apache.airavata.xbaya.gridchem.gui.GridChemRunnerWindow;
 import org.apache.airavata.xbaya.gui.ErrorMessages;
 import org.apache.airavata.xbaya.gui.ToolbarButton;
+import org.apache.airavata.xbaya.gui.XBayaExecutionModeListener;
 import org.apache.airavata.xbaya.gui.XBayaToolBar;
 import org.apache.airavata.xbaya.interpretor.XBayaExecutionState;
 import org.apache.airavata.xbaya.jython.gui.JythonRunnerWindow;
@@ -54,11 +56,10 @@ import org.apache.airavata.xbaya.monitor
 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.apache.airavata.xbaya.wf.Workflow;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class RunMenuItem  implements EventListener{
+public class RunMenuItem  implements EventListener, XBayaExecutionModeListener{
 
     private XBayaEngine engine;
 
@@ -87,15 +88,15 @@ public class RunMenuItem  implements Eve
 
     private XBayaToolBar toolBar;
 
-	private ToolbarButton runWorkflowButton;
+	private ToolbarButton toolbarButtonRunWorkflow;
 
-	private ToolbarButton pauseMonitorButton;
+	private ToolbarButton toolbarButtonPauseMonitor;
 
-	private ToolbarButton resumeMonitorButton;
+	private ToolbarButton toolbarButtonResumeMonitor;
 
 	private JMenuItem stopWorkflowItem;
 
-	private ToolbarButton stopWorkflowButton;
+	private ToolbarButton toolbarButtonStopWorkflow;
     
     /**
      * Constructs a WorkflowMenu.
@@ -109,6 +110,7 @@ public class RunMenuItem  implements Eve
         Monitor monitor = this.engine.getMonitor();
         monitor.addEventListener(this);
         monitor.getConfiguration().addEventListener(this);
+        engine.getConfiguration().registerExecutionModeChangeListener(this);
         XBayaToolBar.setGroupOrder(EXECUTE_ACTIONS, 5);
         XBayaToolBar.setGroupOrder(EXECUTE_MONITOR_ACTIONS, 6);
     }
@@ -167,6 +169,7 @@ public class RunMenuItem  implements Eve
         
         setupMonitors();
         startStopButtonStateUpdater();
+        executionModeChanged(engine.getConfiguration());
     }
 
 	private void setupMonitors() {
@@ -179,7 +182,7 @@ public class RunMenuItem  implements Eve
 					@Override
 					public void stateChanged(ChangeEvent event) {
 						boolean runShouldBeActive = isRunShouldBeActive();
-						runWorkflowButton.setEnabled(runShouldBeActive);	
+						toolbarButtonRunWorkflow.setEnabled(runShouldBeActive);	
 						launchDynamicWorkflowItem.setEnabled(runShouldBeActive);
 						launchXBayaInterpreterItem.setEnabled(runShouldBeActive);
                         launchGridChemWorkflowItem.setEnabled(false);
@@ -222,8 +225,8 @@ public class RunMenuItem  implements Eve
 		item.addActionListener(action);
         boolean valid = this.engine.getMonitor().getConfiguration().isValid();
         item.setVisible(valid);
-        resumeMonitorButton = getToolBar().addToolbarButton(EXECUTE_MONITOR_ACTIONS,item.getText(), MenuIcons.MONITOR_RESUME_ICON, "Resume monitoring", action,4);
-        resumeMonitorButton.setEnabled(false);
+        toolbarButtonResumeMonitor = getToolBar().addToolbarButton(EXECUTE_MONITOR_ACTIONS,item.getText(), MenuIcons.MONITOR_RESUME_ICON, "Resume monitoring", action,4);
+        toolbarButtonResumeMonitor.setEnabled(false);
         return item;
     }
 
@@ -243,8 +246,8 @@ public class RunMenuItem  implements Eve
         };
 		item.addActionListener(action);
         item.setVisible(false);
-        pauseMonitorButton = getToolBar().addToolbarButton(EXECUTE_MONITOR_ACTIONS,item.getText(), MenuIcons.MONITOR_PAUSE_ICON, "Pause monitoring", action,3);
-        pauseMonitorButton.setEnabled(false);
+        toolbarButtonPauseMonitor = getToolBar().addToolbarButton(EXECUTE_MONITOR_ACTIONS,item.getText(), MenuIcons.MONITOR_PAUSE_ICON, "Pause monitoring", action,3);
+        toolbarButtonPauseMonitor.setEnabled(false);
         return item;
     }
 
@@ -270,8 +273,8 @@ public class RunMenuItem  implements Eve
         };
 		item.addActionListener(action);
         item.setEnabled(false);
-        stopWorkflowButton = getToolBar().addToolbarButton(EXECUTE_ACTIONS,item.getText(), MenuIcons.STOP_ICON, "Stop workflow", action,2);
-        stopWorkflowButton.setEnabled(item.isEnabled());
+        toolbarButtonStopWorkflow = getToolBar().addToolbarButton(EXECUTE_ACTIONS,item.getText(), MenuIcons.STOP_ICON, "Stop workflow", action,2);
+        toolbarButtonStopWorkflow.setEnabled(item.isEnabled());
         return item;
     }
     
@@ -329,8 +332,8 @@ public class RunMenuItem  implements Eve
         };
 		menuItem.addActionListener(action);
 		menuItem.setEnabled(false);
-        runWorkflowButton = getToolBar().addToolbarButton(EXECUTE_ACTIONS,menuItem.getText(), MenuIcons.RUN_ICON, "Run workflow", action,1);
-        runWorkflowButton.setEnabled(menuItem.isEnabled());
+        toolbarButtonRunWorkflow = getToolBar().addToolbarButton(EXECUTE_ACTIONS,menuItem.getText(), MenuIcons.RUN_ICON, "Run workflow", action,1);
+        toolbarButtonRunWorkflow.setEnabled(menuItem.isEnabled());
         return menuItem;
     }
     
@@ -406,8 +409,8 @@ public class RunMenuItem  implements Eve
             pauseMonitoringItem.setVisible(false);
             resetMonitoringItem.setVisible(false);
         }
-        pauseMonitorButton.setEnabled(pauseMonitoringItem.isVisible());
-        resumeMonitorButton.setEnabled(resumeMonitoringItem.isVisible());
+        toolbarButtonPauseMonitor.setEnabled(pauseMonitoringItem.isVisible());
+        toolbarButtonResumeMonitor.setEnabled(resumeMonitoringItem.isVisible());
     }
 
 	public XBayaToolBar getToolBar() {
@@ -435,12 +438,18 @@ public class RunMenuItem  implements Eve
 		return engine.getWorkflowInterpreter()!=null;
 	}
 
+	@Override
+	public void executionModeChanged(XBayaConfiguration config) {
+		toolbarButtonRunWorkflow.setVisible(config.getXbayaExecutionMode()==XBayaExecutionMode.IDE);
+		toolbarButtonStopWorkflow.setVisible(config.getXbayaExecutionMode()==XBayaExecutionMode.IDE);
+	}
+	
 	private void startStopButtonStateUpdater() {
 		Thread t=new Thread(){
 			@Override
 			public void run() {
 				while(true){
-					stopWorkflowButton.setEnabled(isWorkflowRunning());
+					toolbarButtonStopWorkflow.setEnabled(isWorkflowRunning());
 //					if (!isWorkflowRunning()){
 //						pauseMonitorButton.setEnabled(false);
 //						resumeMonitorButton.setEnabled(false);

Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/menues/xbaya/XBayaMenuItem.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/menues/xbaya/XBayaMenuItem.java?rev=1332291&r1=1332290&r2=1332291&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/menues/xbaya/XBayaMenuItem.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/menues/xbaya/XBayaMenuItem.java Mon Apr 30 16:58:02 2012
@@ -34,6 +34,8 @@ import javax.swing.event.ChangeListener;
 import javax.swing.event.MenuEvent;
 import javax.swing.event.MenuListener;
 
+import org.apache.airavata.xbaya.XBayaConfiguration;
+import org.apache.airavata.xbaya.XBayaConfiguration.XBayaExecutionMode;
 import org.apache.airavata.xbaya.XBayaEngine;
 import org.apache.airavata.xbaya.XBayaException;
 import org.apache.airavata.xbaya.appwrapper.ApplicationDescriptionDialog;
@@ -43,6 +45,7 @@ import org.apache.airavata.xbaya.compone
 import org.apache.airavata.xbaya.experiment.gui.RegistryLoaderWindow;
 import org.apache.airavata.xbaya.graph.gui.GraphCanvas;
 import org.apache.airavata.xbaya.gui.ToolbarButton;
+import org.apache.airavata.xbaya.gui.XBayaExecutionModeListener;
 import org.apache.airavata.xbaya.gui.XBayaToolBar;
 import org.apache.airavata.xbaya.menues.MenuIcons;
 import org.apache.airavata.xbaya.registry.RegistryAccesser;
@@ -50,7 +53,9 @@ import org.apache.airavata.xbaya.util.XB
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-public class XBayaMenuItem {
+import com.sun.corba.se.spi.legacy.connection.GetEndPointInfoAgainException;
+
+public class XBayaMenuItem implements XBayaExecutionModeListener {
 
     private static final Logger logger = LoggerFactory.getLogger(XBayaMenuItem.class);
 
@@ -116,7 +121,11 @@ public class XBayaMenuItem {
 
 	private XBayaToolBar toolBar;
 
-	private ToolbarButton saveToolBarButton;
+	private ToolbarButton toolbarButtonSave;
+
+	private ToolbarButton toolbarButtonOpen;
+
+	private ToolbarButton toolbarButtonNew;
 	
 	private static final String FILE_ACTIONS="file";
 	
@@ -141,7 +150,7 @@ public class XBayaMenuItem {
         this.exitItem = createExitItem();
 
         createFileMenu();
-        
+        engine.getConfiguration().registerExecutionModeChangeListener(this);
         XBayaToolBar.setGroupOrder(FILE_ACTIONS, 1);
     }
 
@@ -243,6 +252,7 @@ public class XBayaMenuItem {
 			@Override
 			public void menuCanceled(MenuEvent e) {}
 		});
+        executionModeChanged(engine.getConfiguration());
     }
 
     /**
@@ -368,7 +378,7 @@ public class XBayaMenuItem {
             }
         };
 		menuItem.addActionListener(action);
-		getToolBar().addToolbarButton(FILE_ACTIONS,menuItem.getText(), MenuIcons.NEW_ICON, "Create new workflow", action,1);
+		toolbarButtonNew=getToolBar().addToolbarButton(FILE_ACTIONS,menuItem.getText(), MenuIcons.NEW_ICON, "Create new workflow", action,1);
         return menuItem;
     }
 
@@ -423,7 +433,7 @@ public class XBayaMenuItem {
             }
         };
 		this.openWorkflowItem.addActionListener(action);
-		getToolBar().addToolbarButton(FILE_ACTIONS,openWorkflowItem.getText(), MenuIcons.OPEN_ICON, "Open workflow", action,2);
+		toolbarButtonOpen=getToolBar().addToolbarButton(FILE_ACTIONS,openWorkflowItem.getText(), MenuIcons.OPEN_ICON, "Open workflow", action,2);
     }
 
     private void createSaveWorkflowItem() {
@@ -434,12 +444,12 @@ public class XBayaMenuItem {
 			private static final long serialVersionUID = 1L;
             public void actionPerformed(ActionEvent e) {
                 XBayaMenuItem.this.graphFiler.saveWorkflow();
-                saveToolBarButton.setEnabled(isSaveShouldBeActive());
+                toolbarButtonSave.setEnabled(isSaveShouldBeActive());
             }
         };
 		saveWorkflowItem.addActionListener(action);
-        saveToolBarButton = getToolBar().addToolbarButton(FILE_ACTIONS,saveWorkflowItem.getText(), MenuIcons.SAVE_ICON, "Save workflow", action,3);
-        saveToolBarButton.setEnabled(false);
+        toolbarButtonSave = getToolBar().addToolbarButton(FILE_ACTIONS,saveWorkflowItem.getText(), MenuIcons.SAVE_ICON, "Save workflow", action,3);
+        toolbarButtonSave.setEnabled(false);
         SwingUtilities.invokeLater(new Runnable() {
             public void run() {
             	while(engine.getGUI()==null){
@@ -448,7 +458,7 @@ public class XBayaMenuItem {
                 engine.getGUI().addWorkflowTabChangeListener(new ChangeListener(){
 					@Override
 					public void stateChanged(ChangeEvent event) {
-						saveToolBarButton.setEnabled(isSaveShouldBeActive());						
+						toolbarButtonSave.setEnabled(isSaveShouldBeActive());						
 					}
                 });
             }
@@ -575,4 +585,11 @@ public class XBayaMenuItem {
 	private boolean isWorkflowTabPresent() {
 		return engine.getGUI().getGraphCanvas() !=null;
 	}
+
+	@Override
+	public void executionModeChanged(XBayaConfiguration config) {
+		toolbarButtonNew.setVisible(config.getXbayaExecutionMode()==XBayaExecutionMode.IDE);
+		toolbarButtonSave.setVisible(config.getXbayaExecutionMode()==XBayaExecutionMode.IDE);
+		toolbarButtonOpen.setVisible(config.getXbayaExecutionMode()==XBayaExecutionMode.IDE);
+	}
 }
\ No newline at end of file