You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sh...@apache.org on 2015/04/24 06:19:25 UTC

airavata git commit: identify Resource job monitor type by sender email address

Repository: airavata
Updated Branches:
  refs/heads/master 775122015 -> c22f21db4


identify Resource job monitor type by sender email address


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

Branch: refs/heads/master
Commit: c22f21db404c8e0f2d5d9ee4fbe84b6334465efb
Parents: 7751220
Author: shamrath <sh...@gmail.com>
Authored: Fri Apr 24 00:19:23 2015 -0400
Committer: shamrath <sh...@gmail.com>
Committed: Fri Apr 24 00:19:23 2015 -0400

----------------------------------------------------------------------
 .../gfac/monitor/email/EmailBasedMonitor.java   | 26 ++++++++++++++------
 1 file changed, 19 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/c22f21db/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java b/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java
index 3d5c8f9..5a28c7b 100644
--- a/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java
+++ b/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/EmailBasedMonitor.java
@@ -20,6 +20,7 @@
 */
 package org.apache.airavata.gfac.monitor.email;
 
+import org.apache.aiaravata.application.catalog.data.model.ResourceJobManager;
 import org.apache.airavata.common.exception.AiravataException;
 import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.logger.AiravataLogger;
@@ -46,12 +47,9 @@ import javax.mail.Message;
 import javax.mail.MessagingException;
 import javax.mail.Session;
 import javax.mail.Store;
-import javax.mail.search.AndTerm;
 import javax.mail.search.FlagTerm;
-import javax.mail.search.ReceivedDateTerm;
 import javax.mail.search.SearchTerm;
 import java.util.ArrayList;
-import java.util.Calendar;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -70,13 +68,11 @@ public class EmailBasedMonitor implements Runnable{
     private Store store;
     private Folder emailFolder;
     private Properties properties;
-    private final ResourceJobManagerType RESOURCE_JOB_MONITOR_TYPE;
     private Map<String, JobExecutionContext> jobMonitorMap = new ConcurrentHashMap<String, JobExecutionContext>();
     private String host, emailAddress, password, storeProtocol, folderName ;
     private Date monitorStartDate;
 
     public EmailBasedMonitor(ResourceJobManagerType type) throws AiravataException {
-        RESOURCE_JOB_MONITOR_TYPE = type;
         init();
     }
 
@@ -107,7 +103,8 @@ public class EmailBasedMonitor implements Runnable{
         Address fromAddress = message.getFrom()[0];
         EmailParser emailParser;
         String addressStr = fromAddress.toString();
-        switch (RESOURCE_JOB_MONITOR_TYPE) {
+        ResourceJobManagerType jobMonitorType = getJobMonitorType(addressStr);
+        switch (jobMonitorType) {
             case PBS:
                 emailParser = new PBSEmailParser();
                 break;
@@ -118,11 +115,26 @@ public class EmailBasedMonitor implements Runnable{
                 emailParser = new LSFEmailParser();
                 break;
             default:
-                throw new AiravataException("Un-handle resource job manager type: "+ RESOURCE_JOB_MONITOR_TYPE + " for email monitoring -->  " + addressStr);
+                throw new AiravataException("Un-handle resource job manager type: " + jobMonitorType.toString() +" for email monitoring -->  " + addressStr);
         }
         return emailParser.parseEmail(message);
     }
 
+    private ResourceJobManagerType getJobMonitorType(String addressStr) throws AiravataException {
+        switch (addressStr) {
+            case "pbsconsult@sdsc.edu":
+            case "adm@trident.bigred2.uits.iu.edu":
+                return ResourceJobManagerType.PBS;
+            case "slurm@batch1.stampede.tacc.utexas.edu":
+                return ResourceJobManagerType.SLURM;
+//            case "lsf":
+//                return ResourceJobManagerType.LSF;
+            default:
+                throw new AiravataException("Couldn't identify Resource job manager type from address " + addressStr);
+        }
+
+    }
+
     @Override
     public void run() {
         try {