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/05/09 16:42:45 UTC

svn commit: r1336231 - in /incubator/airavata/trunk/modules: commons/registry-api/src/main/java/org/apache/airavata/registry/api/impl/ xbaya-gui/src/main/java/org/apache/airavata/xbaya/graph/gui/ xbaya-gui/src/main/java/org/apache/airavata/xbaya/monito...

Author: samindaw
Date: Wed May  9 14:42:45 2012
New Revision: 1336231

URL: http://svn.apache.org/viewvc?rev=1336231&view=rev
Log:
monitoring with a listener + keyboard+popup_menu delete disabled in monitor mode

Added:
    incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/monitor/MonitorEventListener.java
Modified:
    incubator/airavata/trunk/modules/commons/registry-api/src/main/java/org/apache/airavata/registry/api/impl/AiravataJCRRegistry.java
    incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/graph/gui/GraphCanvas.java
    incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/monitor/Monitor.java
    incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/monitor/MonitorEvent.java
    incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/monitor/MonitorEventData.java
    incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/registrybrowser/model/XBayaWorkflowExperiments.java
    incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/util/XBayaUtil.java

Modified: incubator/airavata/trunk/modules/commons/registry-api/src/main/java/org/apache/airavata/registry/api/impl/AiravataJCRRegistry.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/commons/registry-api/src/main/java/org/apache/airavata/registry/api/impl/AiravataJCRRegistry.java?rev=1336231&r1=1336230&r2=1336231&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/commons/registry-api/src/main/java/org/apache/airavata/registry/api/impl/AiravataJCRRegistry.java (original)
+++ incubator/airavata/trunk/modules/commons/registry-api/src/main/java/org/apache/airavata/registry/api/impl/AiravataJCRRegistry.java Wed May  9 14:42:45 2012
@@ -1149,7 +1149,7 @@ public class AiravataJCRRegistry extends
 			session = getSession();
 			List<String> matchingExperimentIds = getMatchingExperimentIds(".*", session);
 			for (String id : matchingExperimentIds) {
-				if (user.equals(getWorkflowExecutionUser(id))){
+				if (user==null || user.equals(getWorkflowExecutionUser(id))){
 					ids.add(id);
 				}
 			}

Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/graph/gui/GraphCanvas.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/graph/gui/GraphCanvas.java?rev=1336231&r1=1336230&r2=1336231&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/graph/gui/GraphCanvas.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/graph/gui/GraphCanvas.java Wed May  9 14:42:45 2012
@@ -773,7 +773,7 @@ public class GraphCanvas implements XBay
 
     private void keyPressed(KeyEvent event) {
         int keyCode = event.getKeyCode();
-        if (keyCode == KeyEvent.VK_DELETE) {
+        if (editable && keyCode == KeyEvent.VK_DELETE) {
             try {
                 removeSelected();
             } catch (GraphException e) {
@@ -1177,29 +1177,32 @@ public class GraphCanvas implements XBay
 
     private void createNodePopupMenu() {
         this.nodePopup = new JPopupMenu();
-        JMenuItem deleteItem = new JMenuItem("Delete");
-        deleteItem.addActionListener(new AbstractAction() {
-            public void actionPerformed(ActionEvent event) {
-                try {
-                    removeSelectedNode();
-                } catch (GraphException e) {
-                    // Should not happen
-                    logger.error(e.getMessage(), e);
-                    GraphCanvas.this.engine.getGUI().getErrorWindow().error(ErrorMessages.UNEXPECTED_ERROR, e);
-                } catch (RuntimeException e) {
-                    logger.error(e.getMessage(), e);
-                    GraphCanvas.this.engine.getGUI().getErrorWindow().error(ErrorMessages.UNEXPECTED_ERROR, e);
-                } catch (Error e) {
-                    logger.error(e.getMessage(), e);
-                    GraphCanvas.this.engine.getGUI().getErrorWindow().error(ErrorMessages.UNEXPECTED_ERROR, e);
-                }
-
-            }
-        });
-
-        this.nodePopup.add(deleteItem);
-
-        rerunItem = new JMenuItem("ReRun");
+        if (editable) {
+			JMenuItem deleteItem = new JMenuItem("Delete");
+			deleteItem.addActionListener(new AbstractAction() {
+				public void actionPerformed(ActionEvent event) {
+					try {
+						removeSelectedNode();
+					} catch (GraphException e) {
+						// Should not happen
+						logger.error(e.getMessage(), e);
+						GraphCanvas.this.engine.getGUI().getErrorWindow()
+								.error(ErrorMessages.UNEXPECTED_ERROR, e);
+					} catch (RuntimeException e) {
+						logger.error(e.getMessage(), e);
+						GraphCanvas.this.engine.getGUI().getErrorWindow()
+								.error(ErrorMessages.UNEXPECTED_ERROR, e);
+					} catch (Error e) {
+						logger.error(e.getMessage(), e);
+						GraphCanvas.this.engine.getGUI().getErrorWindow()
+								.error(ErrorMessages.UNEXPECTED_ERROR, e);
+					}
+
+				}
+			});
+			this.nodePopup.add(deleteItem);
+		}
+		rerunItem = new JMenuItem("ReRun");
         rerunItem.addActionListener(new AbstractAction() {
             public void actionPerformed(ActionEvent event) {
                 try {
@@ -1281,16 +1284,17 @@ public class GraphCanvas implements XBay
 
     private void createEdgePopupMenu() {
         this.edgePopup = new JPopupMenu();
-        JMenuItem deleteItem = new JMenuItem("Delete");
-        deleteItem.addActionListener(new AbstractAction() {
-            private static final long serialVersionUID = 1L;
-
-            public void actionPerformed(ActionEvent e) {
-                removeSelectedEdge();
-            }
-        });
-
-        this.edgePopup.add(deleteItem);
+        if (editable) {
+			JMenuItem deleteItem = new JMenuItem("Delete");
+			deleteItem.addActionListener(new AbstractAction() {
+				private static final long serialVersionUID = 1L;
+
+				public void actionPerformed(ActionEvent e) {
+					removeSelectedEdge();
+				}
+			});
+			this.edgePopup.add(deleteItem);
+		}
     }
 
     private void maybeShowPopup(MouseEvent event) {

Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/monitor/Monitor.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/monitor/Monitor.java?rev=1336231&r1=1336230&r2=1336231&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/monitor/Monitor.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/monitor/Monitor.java Wed May  9 14:42:45 2012
@@ -49,7 +49,7 @@ public class Monitor extends EventProduc
     protected WsmgClient wsmgClient;
 
     protected boolean print;
-
+    
     /**
      * Constructs a Monitor.
      * 
@@ -204,4 +204,5 @@ public class Monitor extends EventProduc
     public void setPrint(boolean print) {
         this.print = print;
     }
+
 }
\ No newline at end of file

Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/monitor/MonitorEvent.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/monitor/MonitorEvent.java?rev=1336231&r1=1336230&r2=1336231&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/monitor/MonitorEvent.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/monitor/MonitorEvent.java Wed May  9 14:42:45 2012
@@ -31,6 +31,8 @@ import org.xmlpull.infoset.XmlElement;
 public class MonitorEvent {
 
     private String timeText;
+    
+    private Date timestamp;
 
     private String idText;
 
@@ -133,7 +135,7 @@ public class MonitorEvent {
         this.workflowID = MonitorUtil.getWorkflowID(this.event);
         this.nodeID = MonitorUtil.getNodeID(this.event);
 
-        Date timestamp = MonitorUtil.getTimestamp(this.event);
+        timestamp = MonitorUtil.getTimestamp(this.event);
         if (timestamp != null) {
             SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss.S MM/dd/yy ");
             this.timeText = format.format(timestamp);
@@ -155,4 +157,12 @@ public class MonitorEvent {
         }
     }
 
+	public Date getTimestamp() {
+		return timestamp;
+	}
+
+	public void setTimestamp(Date timestamp) {
+		this.timestamp = timestamp;
+	}
+
 }
\ No newline at end of file

Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/monitor/MonitorEventData.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/monitor/MonitorEventData.java?rev=1336231&r1=1336230&r2=1336231&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/monitor/MonitorEventData.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/monitor/MonitorEventData.java Wed May  9 14:42:45 2012
@@ -89,6 +89,8 @@ public class MonitorEventData implements
 
     private EventFilter filter;
 
+    private List<MonitorEventListener> monitorEventListerners;
+
     /**
      * 
      * Constructs a MonitorEventData.
@@ -135,6 +137,14 @@ public class MonitorEventData implements
             // The muxmum of the slider changed regardless whether we move the
             // slider or not.
             fireSliderChanged();
+            for (MonitorEventListener listener : getMonitorEventListerners()) {
+				try {
+					listener.notify(this, event);
+				} catch (Exception e) {
+					//just in case
+					e.printStackTrace();
+				}
+			}
 
         }
 
@@ -420,5 +430,22 @@ public class MonitorEventData implements
             listener.stateChanged(this.tableModelChangeEvent);
         }
     }
-
+	private List<MonitorEventListener> getMonitorEventListerners() {
+		if (monitorEventListerners==null){
+			monitorEventListerners=new ArrayList<MonitorEventListener>();
+		}
+		return monitorEventListerners;
+	}
+
+	public void registerEventListener(MonitorEventListener listener){
+		if (listener!=null) {
+			getMonitorEventListerners().add(listener);
+		}
+	}
+	
+	public void unregisterEventListener(MonitorEventListener listener){
+		if (getMonitorEventListerners().contains(listener)) {
+			getMonitorEventListerners().remove(listener);
+		}
+	}
 }
\ No newline at end of file

Added: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/monitor/MonitorEventListener.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/monitor/MonitorEventListener.java?rev=1336231&view=auto
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/monitor/MonitorEventListener.java (added)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/monitor/MonitorEventListener.java Wed May  9 14:42:45 2012
@@ -0,0 +1,26 @@
+/*
+ *
+ * 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.monitor;
+
+public interface MonitorEventListener {
+	public void notify(MonitorEventData eventData, MonitorEvent event);
+}

Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/registrybrowser/model/XBayaWorkflowExperiments.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/registrybrowser/model/XBayaWorkflowExperiments.java?rev=1336231&r1=1336230&r2=1336231&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/registrybrowser/model/XBayaWorkflowExperiments.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/registrybrowser/model/XBayaWorkflowExperiments.java Wed May  9 14:42:45 2012
@@ -21,7 +21,6 @@
 
 package org.apache.airavata.xbaya.registrybrowser.model;
 
-import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.util.Arrays;
 import java.util.HashMap;
@@ -34,10 +33,8 @@ import org.apache.airavata.common.regist
 import org.apache.airavata.registry.api.AiravataRegistry;
 import org.apache.airavata.registry.api.workflow.WorkflowServiceIOData;
 import org.apache.airavata.schemas.gfac.Parameter;
-import org.apache.axis2.util.XMLUtils;
-import org.w3c.dom.Document;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
+import org.apache.airavata.xbaya.interpretor.NameValue;
+import org.apache.airavata.xbaya.util.XBayaUtil;
 import org.xml.sax.SAXException;
 
 public class XBayaWorkflowExperiments {
@@ -92,13 +89,11 @@ public class XBayaWorkflowExperiments {
 				xbayaWorkflow.add(workflowService);
 			}
 			try {
-				Document parameterDocument = XMLUtils.newDocument(new ByteArrayInputStream(workflowIOData.getValue().getBytes()));
-				NodeList childNodes = parameterDocument.getDocumentElement().getChildNodes();
-				for(int i=0;i<childNodes.getLength();i++){
-					Node parameterNode = childNodes.item(i);
+				List<NameValue> parameterData = XBayaUtil.getIOParameterData(workflowIOData.getValue());
+				for (NameValue pair : parameterData) {
 					Parameter parameter = Parameter.Factory.newInstance();
-					parameter.setParameterName(parameterNode.getLocalName());
-					ServiceParameter serviceParameter = new ServiceParameter(parameter, parameterNode.getTextContent());
+					parameter.setParameterName(pair.getName());
+					ServiceParameter serviceParameter = new ServiceParameter(parameter, pair.getValue());
 					if (inputData) {
 						workflowService.getInputParameters().getParameters()
 								.add(serviceParameter);
@@ -122,6 +117,7 @@ public class XBayaWorkflowExperiments {
 			//TODO setup parameters
 		}
 	}
+		
 	public AiravataRegistry getRegistry() {
 		return registry;
 	}

Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/util/XBayaUtil.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/util/XBayaUtil.java?rev=1336231&r1=1336230&r2=1336231&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/util/XBayaUtil.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/util/XBayaUtil.java Wed May  9 14:42:45 2012
@@ -21,19 +21,36 @@
 
 package org.apache.airavata.xbaya.util;
 
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
 import java.net.HttpURLConnection;
 import java.net.SocketTimeoutException;
-import java.net.URI;
 import java.net.URISyntaxException;
 import java.net.URL;
-import java.util.*;
-
-import org.apache.airavata.xbaya.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
+import javax.xml.parsers.ParserConfigurationException;
+
+import org.apache.airavata.xbaya.XBayaConfiguration;
+import org.apache.airavata.xbaya.XBayaEngine;
+import org.apache.airavata.xbaya.XBayaException;
+import org.apache.airavata.xbaya.XBayaRuntimeException;
 import org.apache.airavata.xbaya.component.gui.JCRRegistryWindow;
 import org.apache.airavata.xbaya.graph.DataPort;
 import org.apache.airavata.xbaya.graph.Node;
 import org.apache.airavata.xbaya.graph.amazon.InstanceNode;
-import org.apache.airavata.xbaya.graph.system.*;
+import org.apache.airavata.xbaya.graph.system.ConstantNode;
+import org.apache.airavata.xbaya.graph.system.EndForEachNode;
+import org.apache.airavata.xbaya.graph.system.EndifNode;
+import org.apache.airavata.xbaya.graph.system.ForEachNode;
+import org.apache.airavata.xbaya.graph.system.InputNode;
+import org.apache.airavata.xbaya.interpretor.NameValue;
 import org.apache.airavata.xbaya.interpretor.SystemComponentInvoker;
 import org.apache.airavata.xbaya.interpretor.WorkFlowInterpreterException;
 import org.apache.airavata.xbaya.invoker.GenericInvoker;
@@ -42,10 +59,14 @@ import org.apache.airavata.xbaya.invoker
 import org.apache.airavata.xbaya.lead.LeadContextHeaderHelper;
 import org.apache.airavata.xbaya.monitor.MonitorConfiguration;
 import org.apache.airavata.xbaya.wf.Workflow;
+import org.apache.axis2.util.XMLUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-
+import org.w3c.dom.Document;
+import org.w3c.dom.NodeList;
+import org.xml.sax.SAXException;
 import org.xmlpull.infoset.XmlElement;
+
 import xsul.lead.LeadContextHeader;
 import xsul.lead.LeadResourceMapping;
 import xsul5.XmlConstants;
@@ -298,5 +319,20 @@ public class XBayaUtil {
 		}
 		throw new XBayaRuntimeException("EndForEachNode not found");
 	}
+	
+	
+	public static List<NameValue> getIOParameterData(String xml) throws ParserConfigurationException, SAXException, IOException{
+		List<NameValue> parameters=new ArrayList<NameValue>();
+		Document parameterDocument = XMLUtils.newDocument(new ByteArrayInputStream(xml.getBytes()));
+		org.w3c.dom.NodeList childNodes = parameterDocument.getDocumentElement().getChildNodes();
+		for(int i=0;i<childNodes.getLength();i++){
+			org.w3c.dom.Node parameterNode = childNodes.item(i);
+			NameValue pair = new NameValue();
+			pair.setName(parameterNode.getLocalName());
+			pair.setValue(parameterNode.getTextContent());
+			parameters.add(pair);
+		}
+		return parameters;
+	}
 
 }
\ No newline at end of file