Author: samindaw
Date: Thu Jan  3 16:24:22 2013
New Revision: 1428449

URL: http://svn.apache.org/viewvc?rev=1428449&view=rev
Log:
allowing wait functionality until monitoring completes

Modified:
    
airavata/trunk/modules/integration-tests/src/test/java/org/apache/airavata/integration/BaseCaseIT.java
    
airavata/trunk/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/Monitor.java

Modified: 
airavata/trunk/modules/integration-tests/src/test/java/org/apache/airavata/integration/BaseCaseIT.java
URL: 
http://svn.apache.org/viewvc/airavata/trunk/modules/integration-tests/src/test/java/org/apache/airavata/integration/BaseCaseIT.java?rev=1428449&r1=1428448&r2=1428449&view=diff
==============================================================================
--- 
airavata/trunk/modules/integration-tests/src/test/java/org/apache/airavata/integration/BaseCaseIT.java
 (original)
+++ 
airavata/trunk/modules/integration-tests/src/test/java/org/apache/airavata/integration/BaseCaseIT.java
 Thu Jan  3 16:24:22 2013
@@ -324,6 +324,7 @@ public class BaseCaseIT {
                Monitor experimentMonitor = 
airavataAPI.getExecutionManager().getExperimentMonitor(experimentId,     // 
TODO what is experiment name ?
                 monitorListener);
         experimentMonitor.startMonitoring();
+        experimentMonitor.waitForCompletion();
     }
 
 

Modified: 
airavata/trunk/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/Monitor.java
URL: 
http://svn.apache.org/viewvc/airavata/trunk/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/Monitor.java?rev=1428449&r1=1428448&r2=1428449&view=diff
==============================================================================
--- 
airavata/trunk/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/Monitor.java
 (original)
+++ 
airavata/trunk/modules/ws-messenger/message-monitor/src/main/java/org/apache/airavata/ws/monitor/Monitor.java
 Thu Jan  3 16:24:22 2013
@@ -54,6 +54,10 @@ public class Monitor extends EventProduc
 
     protected boolean status = false;
     
+    private boolean monitoringCompleted=false;
+    
+    private boolean monitoringFailed=false;
+    
     /**
      * Constructs a Monitor.
      * 
@@ -97,6 +101,9 @@ public class Monitor extends EventProduc
      */
     public synchronized void start() throws MonitorException {
         // Stop the previous monitoring if any.
+       monitoringCompleted=false;
+       monitoringFailed=false;
+                       
        getEventData().triggerListenerForPreMonitorStart();
         asynchronousStop();
 
@@ -187,6 +194,7 @@ public class Monitor extends EventProduc
             this.wsmgClient = null;
             getEventData().triggerListenerForPostMonitorStop();
         }
+        monitoringCompleted=true;
     }
 
     /**
@@ -261,4 +269,14 @@ public class Monitor extends EventProduc
     public void setStatus(boolean status) {
         this.status = status;
     }
+    
+    public void waitForCompletion(){
+       while(!monitoringCompleted && !monitoringFailed){
+               try {
+                               Thread.sleep(100);
+                       } catch (InterruptedException e) {
+                               e.printStackTrace();
+                       }
+       }
+    }
 }
\ No newline at end of file


Reply via email to