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.


Reply via email to