Repository: airavata
Updated Branches:
  refs/heads/master c4b8fb21a -> 18748564f


handled SLURM cancelled emails.


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

Branch: refs/heads/master
Commit: 18748564fbf920cb37e860be9e5718bb089e164a
Parents: c4b8fb2
Author: shamrath <[email protected]>
Authored: Mon May 18 15:50:14 2015 -0400
Committer: shamrath <[email protected]>
Committed: Mon May 18 15:50:14 2015 -0400

----------------------------------------------------------------------
 .../gfac/monitor/email/parser/SLURMEmailParser.java      | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/18748564/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/SLURMEmailParser.java
----------------------------------------------------------------------
diff --git 
a/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/SLURMEmailParser.java
 
b/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/SLURMEmailParser.java
index 4a1b362..75ffe98 100644
--- 
a/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/SLURMEmailParser.java
+++ 
b/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/SLURMEmailParser.java
@@ -41,17 +41,18 @@ public class SLURMEmailParser implements EmailParser {
     public static final String BEGAN = "Began";
     public static final String ENDED = "Ended";
     public static final String FAILED = "Failed";
+    private static final Pattern cancelledStatePattern = 
Pattern.compile("CANCELLED");
+    private static final Pattern pattern = Pattern.compile(REGEX);
 
     @Override
     public JobStatusResult parseEmail(Message message) throws 
MessagingException, AiravataException{
         JobStatusResult jobStatusResult = new JobStatusResult();
         String subject = message.getSubject();
-        Pattern pattern = Pattern.compile(REGEX);
         Matcher matcher = pattern.matcher(subject);
         if (matcher.find()) {
             jobStatusResult.setJobId(matcher.group(JOBID));
             jobStatusResult.setJobName(matcher.group(JOBNAME));
-            jobStatusResult.setState(getJobState(matcher.group(STATUS)));
+            jobStatusResult.setState(getJobState(matcher.group(STATUS), 
subject));
             return jobStatusResult;
         } else {
             log.error("[EJM]: No matched found for subject -> " + subject);
@@ -59,11 +60,15 @@ public class SLURMEmailParser implements EmailParser {
         return jobStatusResult;
     }
 
-    private JobState getJobState(String state) {
+    private JobState getJobState(String state, String subject) {
         switch (state.trim()) {
             case BEGAN:
                 return JobState.ACTIVE;
             case ENDED:
+                Matcher matcher = cancelledStatePattern.matcher(subject);
+                if (matcher.find()) {
+                   return JobState.CANCELED;
+                }
                 return JobState.COMPLETE;
             case FAILED:
                 return JobState.FAILED;

Reply via email to