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/10/05 22:53:47 UTC

svn commit: r1394806 - in /airavata/trunk/modules: airavata-client/src/main/java/org/apache/airavata/client/AiravataClient.java xbaya-gui/src/main/java/org/apache/airavata/xbaya/monitor/Monitor.java

Author: samindaw
Date: Fri Oct  5 20:53:46 2012
New Revision: 1394806

URL: http://svn.apache.org/viewvc?rev=1394806&view=rev
Log:
allowing start monitoring on users choice + allow launching the workflow on a thread or not

Modified:
    airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/AiravataClient.java
    airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/monitor/Monitor.java

Modified: airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/AiravataClient.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/AiravataClient.java?rev=1394806&r1=1394805&r2=1394806&view=diff
==============================================================================
--- airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/AiravataClient.java (original)
+++ airavata/trunk/modules/airavata-client/src/main/java/org/apache/airavata/client/AiravataClient.java Fri Oct  5 20:53:46 2012
@@ -392,31 +392,21 @@ public class AiravataClient implements A
         final Monitor monitor = new Monitor(monitorConfiguration);
         monitor.setPrint(true);
         monitor.getEventData().registerEventListener(listener);
-        new Thread() {
-            @Override
-            public void run() {
-                try {
-                    monitor.start();
-                } catch (MonitorException e) {
-                    e.printStackTrace();
-                }
-            }
-        }.start();
         return monitor;
     }
     
     private void runPreWorkflowExecutionTasks(String topic, String user,
-    		String metadata,String workflowInstanceName) throws RegistryException {
+    		String metadata,String experimentName) throws RegistryException {
 		if (user != null) {
 			getRegistry().updateExperimentExecutionUser(topic, user);
 		}
 		if (metadata != null) {
 			getRegistry().updateExperimentMetadata(topic, metadata);
 		}
-		if (workflowInstanceName==null) {
-			workflowInstanceName=topic;
+		if (experimentName==null) {
+			experimentName=topic;
 		}
-		getRegistry().updateExperimentName(topic, workflowInstanceName);
+		getRegistry().updateExperimentName(topic, experimentName);
 	}
 
     public String runWorkflow(String topic, NameValue[] inputs) throws Exception {
@@ -428,35 +418,25 @@ public class AiravataClient implements A
 	}
 
 	public String runWorkflow(final String topic, final NameValue[] inputs, final String user,
-			final String metadata, final String workflowInstanceName) throws Exception{
-		return runWorkflow(topic, inputs, user, metadata, workflowInstanceName, builder);
+			final String metadata, final String experimentName) throws Exception{
+		return runWorkflow(topic, inputs, user, metadata, experimentName, builder);
+	}
+	public String runWorkflow(final String topic, final NameValue[] inputs, final String user,
+			final String metadata, final String experimentName, final WorkflowContextHeaderBuilder builder) throws Exception{
+		return runWorkflow(topic, inputs, user, metadata, experimentName, builder, false);
 	}
 	
 	public String runWorkflow(final String topic, final NameValue[] inputs, final String user,
-			final String metadata, final String workflowInstanceName, final WorkflowContextHeaderBuilder builder) throws Exception{
-		new Thread(new Runnable() {
-			public void run() {
-				try {
-					WorkflowInterpretorStub stub = new WorkflowInterpretorStub(
-							getClientConfiguration().getXbayaServiceURL()
-									.toString());
-					stub._getServiceClient().addHeader(
-							AXIOMUtil.stringToOM(XMLUtil
-									.xmlElementToString(builder.getXml())));
-					runPreWorkflowExecutionTasks(topic, user, metadata,workflowInstanceName);
-					stub.launchWorkflow(workflow, topic, inputs);
-					//			log.info("Workflow output : " + worflowoutput);
-				} catch (RegistryException e) {
-					//			log.fine(e.getMessage(), e);
-				} catch (AxisFault e) {
-					e.printStackTrace();
-				} catch (XMLStreamException e) {
-					e.printStackTrace();
-				} catch (RemoteException e) {
-					e.printStackTrace();
+			final String metadata, final String experimentName, final WorkflowContextHeaderBuilder builder, boolean launchOnThread) throws Exception{
+		if (launchOnThread) {
+			new Thread(new Runnable() {
+				public void run() {
+					launchWorkflow(topic, inputs, user, metadata, experimentName, builder);
 				}
-			}
-		}).start();
+			}).start();
+		}else{
+			launchWorkflow(topic, inputs, user, metadata, experimentName, builder);
+		}
 		return topic;
 	}
 
@@ -906,4 +886,29 @@ public class AiravataClient implements A
 		this.currentUser = currentUser;
 	}
 
+	private void launchWorkflow(final String topic, final NameValue[] inputs,
+			final String user, final String metadata,
+			final String experimentName,
+			final WorkflowContextHeaderBuilder builder) {
+		try {
+			WorkflowInterpretorStub stub = new WorkflowInterpretorStub(
+					getClientConfiguration().getXbayaServiceURL()
+							.toString());
+			stub._getServiceClient().addHeader(
+					AXIOMUtil.stringToOM(XMLUtil
+							.xmlElementToString(builder.getXml())));
+			runPreWorkflowExecutionTasks(topic, user, metadata,experimentName);
+			stub.launchWorkflow(workflow, topic, inputs);
+			//			log.info("Workflow output : " + worflowoutput);
+		} catch (RegistryException e) {
+			//			log.fine(e.getMessage(), e);
+		} catch (AxisFault e) {
+			e.printStackTrace();
+		} catch (XMLStreamException e) {
+			e.printStackTrace();
+		} catch (RemoteException e) {
+			e.printStackTrace();
+		}
+	}
+
 }

Modified: airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/monitor/Monitor.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/monitor/Monitor.java?rev=1394806&r1=1394805&r2=1394806&view=diff
==============================================================================
--- airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/monitor/Monitor.java (original)
+++ airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/monitor/Monitor.java Fri Oct  5 20:53:46 2012
@@ -115,6 +115,20 @@ public class Monitor extends EventProduc
 
         }
     }
+    
+    public void startMonitoring(){
+    	final Monitor m=this;
+    	new Thread(){
+    		@Override
+    		public void run() {
+    			try {
+					m.start();
+				} catch (MonitorException e) {
+					e.printStackTrace();
+				}
+    		}
+    	}.start();
+    }
 
     /**
      * Stops monitoring.