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