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