Repository: airavata
Updated Branches:
  refs/heads/develop ca89eaee4 -> 9e4dccffc


set process cancel property when cancel watcher triger


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/9943dbff
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/9943dbff
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/9943dbff

Branch: refs/heads/develop
Commit: 9943dbff2857be3f4f4ae2ce5acbf343ce864b1d
Parents: 6aaea39
Author: Shameera Rathnayaka <[email protected]>
Authored: Mon Nov 23 14:52:29 2015 -0500
Committer: Shameera Rathnayaka <[email protected]>
Committed: Mon Nov 23 14:52:29 2015 -0500

----------------------------------------------------------------------
 .../airavata/gfac/impl/GFacEngineImpl.java      | 20 +++++++++++++++-----
 1 file changed, 15 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/9943dbff/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
----------------------------------------------------------------------
diff --git 
a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
 
b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
index d59f460..69aeb12 100644
--- 
a/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
+++ 
b/modules/gfac/gfac-impl/src/main/java/org/apache/airavata/gfac/impl/GFacEngineImpl.java
@@ -580,11 +580,21 @@ public class GFacEngineImpl implements GFacEngine {
 
     @Override
     public void cancelProcess(ProcessContext processContext) throws 
GFacException {
-        if (processContext.getProcessState() == ProcessState.MONITORING) {
-            // get job submission task and invoke cancel
-            JobSubmissionTask jobSubmissionTask = 
Factory.getJobSubmissionTask(processContext.getJobSubmissionProtocol());
-            TaskContext taskCtx = getJobSubmissionTaskContext(processContext);
-            executeCancel(taskCtx, jobSubmissionTask);
+        if (processContext != null) {
+            processContext.setCancel(true);
+            switch (processContext.getProcessState()) {
+                case MONITORING:
+                    // get job submission task and invoke cancel
+                    JobSubmissionTask jobSubmissionTask = 
Factory.getJobSubmissionTask(processContext.getJobSubmissionProtocol());
+                    TaskContext taskCtx = 
getJobSubmissionTaskContext(processContext);
+                    executeCancel(taskCtx, jobSubmissionTask);
+                    break;
+                case COMPLETED: case FAILED: case CANCELED : case CANCELLING:
+                    log.warn("Process cancel trigger for already {} process", 
processContext.getProcessState().name());
+                    break;
+                default:
+                    break;
+            }
         }
     }
 

Reply via email to