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/22 22:43:09 UTC

[1/6] airavata git commit: Fixed - AIRAVATA-1683

Repository: airavata
Updated Branches:
  refs/heads/master 9cadde8ef -> bbb43ffb4


Fixed - AIRAVATA-1683


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

Branch: refs/heads/master
Commit: cd9f58121a94bc4495b32e7a1c74f991f69c98a0
Parents: cff0bf2
Author: shamrath <sh...@gmail.com>
Authored: Mon Apr 20 17:59:50 2015 -0400
Committer: shamrath <sh...@gmail.com>
Committed: Mon Apr 20 17:59:50 2015 -0400

----------------------------------------------------------------------
 .../lib/airavata/computeResourceModel_types.cpp |  24 ++++-
 .../lib/airavata/computeResourceModel_types.h   |  17 +++-
 .../Model/AppCatalog/ComputeResource/Types.php  |  20 ++++
 .../model/appcatalog/computeresource/ttypes.py  |  16 ++-
 .../computeresource/EmailMonitorProperty.java   | 100 ++++++++++++++++++-
 .../computeResourceModel.thrift                 |   3 +-
 .../catalog/data/impl/ComputeResourceImpl.java  |   2 +
 .../data/model/EmailMonitorProperty.java        |  11 ++
 .../data/resources/EmailPropertyResource.java   |  10 ++
 .../catalog/data/util/AppCatalogJPAUtils.java   |   1 +
 .../data/util/AppCatalogThriftConversion.java   |   1 +
 .../app/catalog/test/ComputeResourceTest.java   |   1 +
 .../gsissh/provider/impl/GSISSHProvider.java    |   4 +-
 .../gfac/monitor/email/EmailBasedMonitor.java   |  21 ++--
 .../gfac/monitor/email/EmailMonitorFactory.java |   6 +-
 .../gfac/monitor/email/parser/EmailParser.java  |   2 +-
 .../monitor/email/parser/LSFEmailParser.java    |  74 ++++++++++++++
 .../email/parser/LonestarEmailParser.java       |  74 --------------
 .../monitor/email/parser/PBSEmailParser.java    |   2 +-
 .../monitor/email/parser/SLURMEmailParser.java  |   2 +-
 .../gfac/ssh/provider/impl/SSHProvider.java     |   3 +-
 21 files changed, 290 insertions(+), 104 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/cd9f5812/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.cpp
index 2a57b7d..463550a 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.cpp
@@ -461,8 +461,8 @@ void swap(BatchQueue &a, BatchQueue &b) {
   swap(a.__isset, b.__isset);
 }
 
-const char* EmailMonitorProperty::ascii_fingerprint = "1991A6BD46E68BF843F10524459D65B1";
-const uint8_t EmailMonitorProperty::binary_fingerprint[16] = {0x19,0x91,0xA6,0xBD,0x46,0xE6,0x8B,0xF8,0x43,0xF1,0x05,0x24,0x45,0x9D,0x65,0xB1};
+const char* EmailMonitorProperty::ascii_fingerprint = "218FF2099E03B9AC08A5A47A15F4294E";
+const uint8_t EmailMonitorProperty::binary_fingerprint[16] = {0x21,0x8F,0xF2,0x09,0x9E,0x03,0xB9,0xAC,0x08,0xA5,0xA4,0x7A,0x15,0xF4,0x29,0x4E};
 
 uint32_t EmailMonitorProperty::read(::apache::thrift::protocol::TProtocol* iprot) {
 
@@ -480,6 +480,7 @@ uint32_t EmailMonitorProperty::read(::apache::thrift::protocol::TProtocol* iprot
   bool isset_password = false;
   bool isset_folderName = false;
   bool isset_storeProtocol = false;
+  bool isset_senderEmailAddress = false;
 
   while (true)
   {
@@ -531,6 +532,14 @@ uint32_t EmailMonitorProperty::read(::apache::thrift::protocol::TProtocol* iprot
           xfer += iprot->skip(ftype);
         }
         break;
+      case 6:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->senderEmailAddress);
+          isset_senderEmailAddress = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -550,6 +559,8 @@ uint32_t EmailMonitorProperty::read(::apache::thrift::protocol::TProtocol* iprot
     throw TProtocolException(TProtocolException::INVALID_DATA);
   if (!isset_storeProtocol)
     throw TProtocolException(TProtocolException::INVALID_DATA);
+  if (!isset_senderEmailAddress)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   return xfer;
 }
 
@@ -577,6 +588,10 @@ uint32_t EmailMonitorProperty::write(::apache::thrift::protocol::TProtocol* opro
   xfer += oprot->writeI32((int32_t)this->storeProtocol);
   xfer += oprot->writeFieldEnd();
 
+  xfer += oprot->writeFieldBegin("senderEmailAddress", ::apache::thrift::protocol::T_STRING, 6);
+  xfer += oprot->writeString(this->senderEmailAddress);
+  xfer += oprot->writeFieldEnd();
+
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
   return xfer;
@@ -589,6 +604,7 @@ void swap(EmailMonitorProperty &a, EmailMonitorProperty &b) {
   swap(a.password, b.password);
   swap(a.folderName, b.folderName);
   swap(a.storeProtocol, b.storeProtocol);
+  swap(a.senderEmailAddress, b.senderEmailAddress);
 }
 
 const char* SCPDataMovement::ascii_fingerprint = "63CAE6EE336A7DBD91CCCD6E22628F4A";
@@ -1062,8 +1078,8 @@ void swap(LOCALDataMovement &a, LOCALDataMovement &b) {
   swap(a.dataMovementInterfaceId, b.dataMovementInterfaceId);
 }
 
-const char* SSHJobSubmission::ascii_fingerprint = "C2237B7244CABB71130AEE137701206F";
-const uint8_t SSHJobSubmission::binary_fingerprint[16] = {0xC2,0x23,0x7B,0x72,0x44,0xCA,0xBB,0x71,0x13,0x0A,0xEE,0x13,0x77,0x01,0x20,0x6F};
+const char* SSHJobSubmission::ascii_fingerprint = "200BDE51156682BAC37E8B5DAD03D6D3";
+const uint8_t SSHJobSubmission::binary_fingerprint[16] = {0x20,0x0B,0xDE,0x51,0x15,0x66,0x82,0xBA,0xC3,0x7E,0x8B,0x5D,0xAD,0x03,0xD6,0xD3};
 
 uint32_t SSHJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot) {
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/cd9f5812/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.h
index 2b72a04..fd2e1ab 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.h
@@ -331,10 +331,10 @@ void swap(BatchQueue &a, BatchQueue &b);
 class EmailMonitorProperty {
  public:
 
-  static const char* ascii_fingerprint; // = "1991A6BD46E68BF843F10524459D65B1";
-  static const uint8_t binary_fingerprint[16]; // = {0x19,0x91,0xA6,0xBD,0x46,0xE6,0x8B,0xF8,0x43,0xF1,0x05,0x24,0x45,0x9D,0x65,0xB1};
+  static const char* ascii_fingerprint; // = "218FF2099E03B9AC08A5A47A15F4294E";
+  static const uint8_t binary_fingerprint[16]; // = {0x21,0x8F,0xF2,0x09,0x9E,0x03,0xB9,0xAC,0x08,0xA5,0xA4,0x7A,0x15,0xF4,0x29,0x4E};
 
-  EmailMonitorProperty() : host(), emailAddress(), password(), folderName("INBOX"), storeProtocol((EmailProtocol::type)0) {
+  EmailMonitorProperty() : host(), emailAddress(), password(), folderName("INBOX"), storeProtocol((EmailProtocol::type)0), senderEmailAddress() {
   }
 
   virtual ~EmailMonitorProperty() throw() {}
@@ -344,6 +344,7 @@ class EmailMonitorProperty {
   std::string password;
   std::string folderName;
   EmailProtocol::type storeProtocol;
+  std::string senderEmailAddress;
 
   void __set_host(const std::string& val) {
     host = val;
@@ -365,6 +366,10 @@ class EmailMonitorProperty {
     storeProtocol = val;
   }
 
+  void __set_senderEmailAddress(const std::string& val) {
+    senderEmailAddress = val;
+  }
+
   bool operator == (const EmailMonitorProperty & rhs) const
   {
     if (!(host == rhs.host))
@@ -377,6 +382,8 @@ class EmailMonitorProperty {
       return false;
     if (!(storeProtocol == rhs.storeProtocol))
       return false;
+    if (!(senderEmailAddress == rhs.senderEmailAddress))
+      return false;
     return true;
   }
   bool operator != (const EmailMonitorProperty &rhs) const {
@@ -657,8 +664,8 @@ typedef struct _SSHJobSubmission__isset {
 class SSHJobSubmission {
  public:
 
-  static const char* ascii_fingerprint; // = "C2237B7244CABB71130AEE137701206F";
-  static const uint8_t binary_fingerprint[16]; // = {0xC2,0x23,0x7B,0x72,0x44,0xCA,0xBB,0x71,0x13,0x0A,0xEE,0x13,0x77,0x01,0x20,0x6F};
+  static const char* ascii_fingerprint; // = "200BDE51156682BAC37E8B5DAD03D6D3";
+  static const uint8_t binary_fingerprint[16]; // = {0x20,0x0B,0xDE,0x51,0x15,0x66,0x82,0xBA,0xC3,0x7E,0x8B,0x5D,0xAD,0x03,0xD6,0xD3};
 
   SSHJobSubmission() : jobSubmissionInterfaceId("DO_NOT_SET_AT_CLIENTS"), securityProtocol((SecurityProtocol::type)0), alternativeSSHHostName(), sshPort(22), monitorMode((MonitorMode::type)0) {
   }

http://git-wip-us.apache.org/repos/asf/airavata/blob/cd9f5812/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
index 22c46a9..12cb55c 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
@@ -528,6 +528,7 @@ class EmailMonitorProperty {
   public $password = null;
   public $folderName = "INBOX";
   public $storeProtocol = null;
+  public $senderEmailAddress = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -552,6 +553,10 @@ class EmailMonitorProperty {
           'var' => 'storeProtocol',
           'type' => TType::I32,
           ),
+        6 => array(
+          'var' => 'senderEmailAddress',
+          'type' => TType::STRING,
+          ),
         );
     }
     if (is_array($vals)) {
@@ -570,6 +575,9 @@ class EmailMonitorProperty {
       if (isset($vals['storeProtocol'])) {
         $this->storeProtocol = $vals['storeProtocol'];
       }
+      if (isset($vals['senderEmailAddress'])) {
+        $this->senderEmailAddress = $vals['senderEmailAddress'];
+      }
     }
   }
 
@@ -627,6 +635,13 @@ class EmailMonitorProperty {
             $xfer += $input->skip($ftype);
           }
           break;
+        case 6:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->senderEmailAddress);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -665,6 +680,11 @@ class EmailMonitorProperty {
       $xfer += $output->writeI32($this->storeProtocol);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->senderEmailAddress !== null) {
+      $xfer += $output->writeFieldBegin('senderEmailAddress', TType::STRING, 6);
+      $xfer += $output->writeString($this->senderEmailAddress);
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;

http://git-wip-us.apache.org/repos/asf/airavata/blob/cd9f5812/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py
index 8b34be1..6ec4a13 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py
@@ -625,6 +625,7 @@ class EmailMonitorProperty:
    - password
    - folderName
    - storeProtocol
+   - senderEmailAddress
   """
 
   thrift_spec = (
@@ -634,14 +635,16 @@ class EmailMonitorProperty:
     (3, TType.STRING, 'password', None, None, ), # 3
     (4, TType.STRING, 'folderName', None, "INBOX", ), # 4
     (5, TType.I32, 'storeProtocol', None, None, ), # 5
+    (6, TType.STRING, 'senderEmailAddress', None, None, ), # 6
   )
 
-  def __init__(self, host=None, emailAddress=None, password=None, folderName=thrift_spec[4][4], storeProtocol=None,):
+  def __init__(self, host=None, emailAddress=None, password=None, folderName=thrift_spec[4][4], storeProtocol=None, senderEmailAddress=None,):
     self.host = host
     self.emailAddress = emailAddress
     self.password = password
     self.folderName = folderName
     self.storeProtocol = storeProtocol
+    self.senderEmailAddress = senderEmailAddress
 
   def read(self, iprot):
     if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -677,6 +680,11 @@ class EmailMonitorProperty:
           self.storeProtocol = iprot.readI32();
         else:
           iprot.skip(ftype)
+      elif fid == 6:
+        if ftype == TType.STRING:
+          self.senderEmailAddress = iprot.readString();
+        else:
+          iprot.skip(ftype)
       else:
         iprot.skip(ftype)
       iprot.readFieldEnd()
@@ -707,6 +715,10 @@ class EmailMonitorProperty:
       oprot.writeFieldBegin('storeProtocol', TType.I32, 5)
       oprot.writeI32(self.storeProtocol)
       oprot.writeFieldEnd()
+    if self.senderEmailAddress is not None:
+      oprot.writeFieldBegin('senderEmailAddress', TType.STRING, 6)
+      oprot.writeString(self.senderEmailAddress)
+      oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
 
@@ -721,6 +733,8 @@ class EmailMonitorProperty:
       raise TProtocol.TProtocolException(message='Required field folderName is unset!')
     if self.storeProtocol is None:
       raise TProtocol.TProtocolException(message='Required field storeProtocol is unset!')
+    if self.senderEmailAddress is None:
+      raise TProtocol.TProtocolException(message='Required field senderEmailAddress is unset!')
     return
 
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/cd9f5812/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/EmailMonitorProperty.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/EmailMonitorProperty.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/EmailMonitorProperty.java
index bad6eee..ea3b049 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/EmailMonitorProperty.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/EmailMonitorProperty.java
@@ -67,6 +67,7 @@ import org.slf4j.LoggerFactory;
   private static final org.apache.thrift.protocol.TField PASSWORD_FIELD_DESC = new org.apache.thrift.protocol.TField("password", org.apache.thrift.protocol.TType.STRING, (short)3);
   private static final org.apache.thrift.protocol.TField FOLDER_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("folderName", org.apache.thrift.protocol.TType.STRING, (short)4);
   private static final org.apache.thrift.protocol.TField STORE_PROTOCOL_FIELD_DESC = new org.apache.thrift.protocol.TField("storeProtocol", org.apache.thrift.protocol.TType.I32, (short)5);
+  private static final org.apache.thrift.protocol.TField SENDER_EMAIL_ADDRESS_FIELD_DESC = new org.apache.thrift.protocol.TField("senderEmailAddress", org.apache.thrift.protocol.TType.STRING, (short)6);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -79,6 +80,7 @@ import org.slf4j.LoggerFactory;
   private String password; // required
   private String folderName; // required
   private EmailProtocol storeProtocol; // required
+  private String senderEmailAddress; // required
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   @SuppressWarnings("all") public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -90,7 +92,8 @@ import org.slf4j.LoggerFactory;
      * 
      * @see EmailProtocol
      */
-    STORE_PROTOCOL((short)5, "storeProtocol");
+    STORE_PROTOCOL((short)5, "storeProtocol"),
+    SENDER_EMAIL_ADDRESS((short)6, "senderEmailAddress");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -115,6 +118,8 @@ import org.slf4j.LoggerFactory;
           return FOLDER_NAME;
         case 5: // STORE_PROTOCOL
           return STORE_PROTOCOL;
+        case 6: // SENDER_EMAIL_ADDRESS
+          return SENDER_EMAIL_ADDRESS;
         default:
           return null;
       }
@@ -168,6 +173,8 @@ import org.slf4j.LoggerFactory;
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     tmpMap.put(_Fields.STORE_PROTOCOL, new org.apache.thrift.meta_data.FieldMetaData("storeProtocol", org.apache.thrift.TFieldRequirementType.REQUIRED, 
         new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, EmailProtocol.class)));
+    tmpMap.put(_Fields.SENDER_EMAIL_ADDRESS, new org.apache.thrift.meta_data.FieldMetaData("senderEmailAddress", org.apache.thrift.TFieldRequirementType.REQUIRED, 
+        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(EmailMonitorProperty.class, metaDataMap);
   }
@@ -182,7 +189,8 @@ import org.slf4j.LoggerFactory;
     String emailAddress,
     String password,
     String folderName,
-    EmailProtocol storeProtocol)
+    EmailProtocol storeProtocol,
+    String senderEmailAddress)
   {
     this();
     this.host = host;
@@ -190,6 +198,7 @@ import org.slf4j.LoggerFactory;
     this.password = password;
     this.folderName = folderName;
     this.storeProtocol = storeProtocol;
+    this.senderEmailAddress = senderEmailAddress;
   }
 
   /**
@@ -211,6 +220,9 @@ import org.slf4j.LoggerFactory;
     if (other.isSetStoreProtocol()) {
       this.storeProtocol = other.storeProtocol;
     }
+    if (other.isSetSenderEmailAddress()) {
+      this.senderEmailAddress = other.senderEmailAddress;
+    }
   }
 
   public EmailMonitorProperty deepCopy() {
@@ -225,6 +237,7 @@ import org.slf4j.LoggerFactory;
     this.folderName = "INBOX";
 
     this.storeProtocol = null;
+    this.senderEmailAddress = null;
   }
 
   public String getHost() {
@@ -350,6 +363,29 @@ import org.slf4j.LoggerFactory;
     }
   }
 
+  public String getSenderEmailAddress() {
+    return this.senderEmailAddress;
+  }
+
+  public void setSenderEmailAddress(String senderEmailAddress) {
+    this.senderEmailAddress = senderEmailAddress;
+  }
+
+  public void unsetSenderEmailAddress() {
+    this.senderEmailAddress = null;
+  }
+
+  /** Returns true if field senderEmailAddress is set (has been assigned a value) and false otherwise */
+  public boolean isSetSenderEmailAddress() {
+    return this.senderEmailAddress != null;
+  }
+
+  public void setSenderEmailAddressIsSet(boolean value) {
+    if (!value) {
+      this.senderEmailAddress = null;
+    }
+  }
+
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
     case HOST:
@@ -392,6 +428,14 @@ import org.slf4j.LoggerFactory;
       }
       break;
 
+    case SENDER_EMAIL_ADDRESS:
+      if (value == null) {
+        unsetSenderEmailAddress();
+      } else {
+        setSenderEmailAddress((String)value);
+      }
+      break;
+
     }
   }
 
@@ -412,6 +456,9 @@ import org.slf4j.LoggerFactory;
     case STORE_PROTOCOL:
       return getStoreProtocol();
 
+    case SENDER_EMAIL_ADDRESS:
+      return getSenderEmailAddress();
+
     }
     throw new IllegalStateException();
   }
@@ -433,6 +480,8 @@ import org.slf4j.LoggerFactory;
       return isSetFolderName();
     case STORE_PROTOCOL:
       return isSetStoreProtocol();
+    case SENDER_EMAIL_ADDRESS:
+      return isSetSenderEmailAddress();
     }
     throw new IllegalStateException();
   }
@@ -495,6 +544,15 @@ import org.slf4j.LoggerFactory;
         return false;
     }
 
+    boolean this_present_senderEmailAddress = true && this.isSetSenderEmailAddress();
+    boolean that_present_senderEmailAddress = true && that.isSetSenderEmailAddress();
+    if (this_present_senderEmailAddress || that_present_senderEmailAddress) {
+      if (!(this_present_senderEmailAddress && that_present_senderEmailAddress))
+        return false;
+      if (!this.senderEmailAddress.equals(that.senderEmailAddress))
+        return false;
+    }
+
     return true;
   }
 
@@ -561,6 +619,16 @@ import org.slf4j.LoggerFactory;
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetSenderEmailAddress()).compareTo(other.isSetSenderEmailAddress());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetSenderEmailAddress()) {
+      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.senderEmailAddress, other.senderEmailAddress);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     return 0;
   }
 
@@ -620,6 +688,14 @@ import org.slf4j.LoggerFactory;
       sb.append(this.storeProtocol);
     }
     first = false;
+    if (!first) sb.append(", ");
+    sb.append("senderEmailAddress:");
+    if (this.senderEmailAddress == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.senderEmailAddress);
+    }
+    first = false;
     sb.append(")");
     return sb.toString();
   }
@@ -646,6 +722,10 @@ import org.slf4j.LoggerFactory;
       throw new org.apache.thrift.protocol.TProtocolException("Required field 'storeProtocol' is unset! Struct:" + toString());
     }
 
+    if (!isSetSenderEmailAddress()) {
+      throw new org.apache.thrift.protocol.TProtocolException("Required field 'senderEmailAddress' is unset! Struct:" + toString());
+    }
+
     // check for sub-struct validity
   }
 
@@ -723,6 +803,14 @@ import org.slf4j.LoggerFactory;
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
+          case 6: // SENDER_EMAIL_ADDRESS
+            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
+              struct.senderEmailAddress = iprot.readString();
+              struct.setSenderEmailAddressIsSet(true);
+            } else { 
+              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
           default:
             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
@@ -761,6 +849,11 @@ import org.slf4j.LoggerFactory;
         oprot.writeI32(struct.storeProtocol.getValue());
         oprot.writeFieldEnd();
       }
+      if (struct.senderEmailAddress != null) {
+        oprot.writeFieldBegin(SENDER_EMAIL_ADDRESS_FIELD_DESC);
+        oprot.writeString(struct.senderEmailAddress);
+        oprot.writeFieldEnd();
+      }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
     }
@@ -783,6 +876,7 @@ import org.slf4j.LoggerFactory;
       oprot.writeString(struct.password);
       oprot.writeString(struct.folderName);
       oprot.writeI32(struct.storeProtocol.getValue());
+      oprot.writeString(struct.senderEmailAddress);
     }
 
     @Override
@@ -798,6 +892,8 @@ import org.slf4j.LoggerFactory;
       struct.setFolderNameIsSet(true);
       struct.storeProtocol = EmailProtocol.findByValue(iprot.readI32());
       struct.setStoreProtocolIsSet(true);
+      struct.senderEmailAddress = iprot.readString();
+      struct.setSenderEmailAddressIsSet(true);
     }
   }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/cd9f5812/airavata-api/thrift-interface-descriptions/computeResourceModel.thrift
----------------------------------------------------------------------
diff --git a/airavata-api/thrift-interface-descriptions/computeResourceModel.thrift b/airavata-api/thrift-interface-descriptions/computeResourceModel.thrift
index b13b2e5..edccb7b 100644
--- a/airavata-api/thrift-interface-descriptions/computeResourceModel.thrift
+++ b/airavata-api/thrift-interface-descriptions/computeResourceModel.thrift
@@ -235,7 +235,8 @@ struct EmailMonitorProperty {
     2: required string emailAddress,
     3: required string password,
     4: required string folderName = "INBOX",
-    5: required EmailProtocol storeProtocol
+    5: required EmailProtocol storeProtocol,
+    6: required string senderEmailAddress
 }
 
 /**

http://git-wip-us.apache.org/repos/asf/airavata/blob/cd9f5812/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ComputeResourceImpl.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ComputeResourceImpl.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ComputeResourceImpl.java
index 2c21811..edd39ed 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ComputeResourceImpl.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ComputeResourceImpl.java
@@ -194,6 +194,8 @@ public class ComputeResourceImpl implements ComputeResource {
                 emailPropertyResource.setPassword(emailMonitorProperty.getPassword());
                 emailPropertyResource.setEmailAddress(emailMonitorProperty.getEmailAddress());
                 emailPropertyResource.setFolderName(emailMonitorProperty.getFolderName());
+                emailPropertyResource.setSenderEmailAddress(emailMonitorProperty.getSenderEmailAddress());
+
                 if (emailMonitorProperty.getStoreProtocol() != null){
                     emailPropertyResource.setProtocol(emailMonitorProperty.getStoreProtocol().toString());
                 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/cd9f5812/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/EmailMonitorProperty.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/EmailMonitorProperty.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/EmailMonitorProperty.java
index 07ef095..b6a669a 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/EmailMonitorProperty.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/EmailMonitorProperty.java
@@ -48,6 +48,9 @@ public class EmailMonitorProperty {
     @Column(name = "EMAIL_PROTOCOL")
     private String emailProtocol;
 
+    @Column(name = "SENDER_EMAIL_ADDRESS")
+    private String senderEmailAddress;
+
     @ManyToOne(cascade= CascadeType.MERGE)
     @JoinColumn(name = "JOB_SUBMISSION_INTERFACE_ID")
     private SshJobSubmission submissionInterface;
@@ -108,4 +111,12 @@ public class EmailMonitorProperty {
     public void setSubmissionInterface(SshJobSubmission submissionInterface) {
         this.submissionInterface = submissionInterface;
     }
+
+    public String getSenderEmailAddress() {
+        return senderEmailAddress;
+    }
+
+    public void setSenderEmailAddress(String senderEmailAddress) {
+        this.senderEmailAddress = senderEmailAddress;
+    }
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/cd9f5812/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/EmailPropertyResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/EmailPropertyResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/EmailPropertyResource.java
index 8f1875f..6ce0e14 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/EmailPropertyResource.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/EmailPropertyResource.java
@@ -45,6 +45,7 @@ public class EmailPropertyResource extends AbstractResource {
 	private String password;
     private String folderName;
     private String protocol;
+    private String senderEmailAddress;
     private SshJobSubmissionResource sshJobSubmissionResource;
 
 	@Override
@@ -210,6 +211,7 @@ public class EmailPropertyResource extends AbstractResource {
 			emailMonitorProperty.setFolderName(folderName);
             emailMonitorProperty.setPassword(password);
 			emailMonitorProperty.setHost(host);
+            emailMonitorProperty.setSenderEmailAddress(senderEmailAddress);
             if (monitorProperty == null) {
 				em.persist(emailMonitorProperty);
 			} else {
@@ -306,4 +308,12 @@ public class EmailPropertyResource extends AbstractResource {
     public void setSshJobSubmissionResource(SshJobSubmissionResource sshJobSubmissionResource) {
         this.sshJobSubmissionResource = sshJobSubmissionResource;
     }
+
+    public String getSenderEmailAddress() {
+        return senderEmailAddress;
+    }
+
+    public void setSenderEmailAddress(String senderEmailAddress) {
+        this.senderEmailAddress = senderEmailAddress;
+    }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/cd9f5812/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogJPAUtils.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogJPAUtils.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogJPAUtils.java
index f8f3b1e..d3b8b7d 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogJPAUtils.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogJPAUtils.java
@@ -633,6 +633,7 @@ public class AppCatalogJPAUtils {
             emailPropertyResource.setPassword(o.getPassword());
             emailPropertyResource.setHost(o.getHost());
             emailPropertyResource.setProtocol(o.getEmailProtocol());
+            emailPropertyResource.setSenderEmailAddress(o.getSenderEmailAddress());
         }
         return emailPropertyResource;
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/cd9f5812/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java
index f8768f0..ef758cd 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java
@@ -359,6 +359,7 @@ public class AppCatalogThriftConversion {
         monitorProperty.setHost(resource.getHost());
         monitorProperty.setEmailAddress(resource.getEmailAddress());
         monitorProperty.setPassword(resource.getPassword());
+        monitorProperty.setSenderEmailAddress(resource.getSenderEmailAddress());
         if (resource.getProtocol() != null){
             monitorProperty.setStoreProtocol(EmailProtocol.valueOf(resource.getProtocol()));
         }

http://git-wip-us.apache.org/repos/asf/airavata/blob/cd9f5812/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/ComputeResourceTest.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/ComputeResourceTest.java b/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/ComputeResourceTest.java
index 9fa1882..bfc82d3 100644
--- a/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/ComputeResourceTest.java
+++ b/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/ComputeResourceTest.java
@@ -249,6 +249,7 @@ public class ComputeResourceTest {
             emailMonitorProperty.setEmailAddress("test");
             emailMonitorProperty.setPassword("aaa");
             emailMonitorProperty.setHost("testHost");
+            emailMonitorProperty.setSenderEmailAddress("testSender@scigpa.org");
             jobSubmission.setEmailMonitorProperty(emailMonitorProperty);
 //            String jobManagerID = appcatalog.getComputeResource().addResourceJobManager(jobManager);
 //            jobManager.setResourceJobManagerId(jobManagerID);

http://git-wip-us.apache.org/repos/asf/airavata/blob/cd9f5812/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/provider/impl/GSISSHProvider.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/provider/impl/GSISSHProvider.java b/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/provider/impl/GSISSHProvider.java
index c7ad986..a7c01f9 100644
--- a/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/provider/impl/GSISSHProvider.java
+++ b/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/provider/impl/GSISSHProvider.java
@@ -152,8 +152,8 @@ public class GSISSHProvider extends AbstractRecoverableProvider {
             if (monitorMode != null && monitorMode == MonitorMode.JOB_EMAIL_NOTIFICATION_MONITOR) {
                 EmailMonitorProperty emailMonitorProp = sshJobSubmission.getEmailMonitorProperty();
                 if (emailMonitorProp != null) {
-                    EmailMonitorFactory emailMonitorFactory = new EmailMonitorFactory();
-                    EmailBasedMonitor emailBasedMonitor = emailMonitorFactory.getEmailBasedMonitor(emailMonitorProp);
+                    EmailBasedMonitor emailBasedMonitor = EmailMonitorFactory.getEmailBasedMonitor(emailMonitorProp,
+                            sshJobSubmission.getResourceJobManager().getResourceJobManagerType());
                     emailBasedMonitor.addToJobMonitorMap(jobExecutionContext);
                     return;
                 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/cd9f5812/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 b0e8ed6..b649a56 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
@@ -30,11 +30,12 @@ import org.apache.airavata.gfac.core.cpi.BetterGfacImpl;
 import org.apache.airavata.gfac.core.utils.GFacThreadPoolExecutor;
 import org.apache.airavata.gfac.core.utils.OutHandlerWorker;
 import org.apache.airavata.gfac.monitor.email.parser.EmailParser;
-import org.apache.airavata.gfac.monitor.email.parser.LonestarEmailParser;
+import org.apache.airavata.gfac.monitor.email.parser.LSFEmailParser;
 import org.apache.airavata.gfac.monitor.email.parser.PBSEmailParser;
 import org.apache.airavata.gfac.monitor.email.parser.SLURMEmailParser;
 import org.apache.airavata.model.appcatalog.computeresource.EmailMonitorProperty;
 import org.apache.airavata.model.appcatalog.computeresource.EmailProtocol;
+import org.apache.airavata.model.appcatalog.computeresource.ResourceJobManagerType;
 import org.apache.airavata.model.messaging.event.JobIdentifier;
 import org.apache.airavata.model.messaging.event.JobStatusChangeRequestEvent;
 import org.apache.airavata.model.workspace.experiment.JobState;
@@ -68,11 +69,13 @@ public class EmailBasedMonitor implements Runnable{
     private Folder emailFolder;
 //    private String host, emailAddress, password, folderName, mailStoreProtocol;
     private Properties properties;
+    private final ResourceJobManagerType RESOURCE_JOB_MONITOR_TYPE;
 
     private Map<String, JobExecutionContext> jobMonitorMap = new ConcurrentHashMap<String, JobExecutionContext>();
 
-    public EmailBasedMonitor(EmailMonitorProperty emailMonitorProp) {
+    public EmailBasedMonitor(EmailMonitorProperty emailMonitorProp, ResourceJobManagerType type) {
         this.emailMonitorProperty = emailMonitorProp;
+        RESOURCE_JOB_MONITOR_TYPE = type;
         init();
     }
 
@@ -110,20 +113,20 @@ public class EmailBasedMonitor implements Runnable{
         Address fromAddress = message.getFrom()[0];
         EmailParser emailParser;
         String addressStr = fromAddress.toString();
-        switch (addressStr) {
-            case PBS_CONSULT_SDSC_EDU:
+        switch (RESOURCE_JOB_MONITOR_TYPE) {
+            case PBS:
                 emailParser = new PBSEmailParser();
                 break;
-            case SLURM_BATCH_STAMPEDE:
+            case SLURM:
                 emailParser = new SLURMEmailParser();
                 break;
-            case LONESTAR_ADDRESS:
-                emailParser = new LonestarEmailParser();
+            case LSF:
+                emailParser = new LSFEmailParser();
                 break;
             default:
-                throw new AiravataException("Un-handle address type for email monitoring -->  " + addressStr);
+                throw new AiravataException("Un-handle resource job manager type: "+ RESOURCE_JOB_MONITOR_TYPE + " for email monitoring -->  " + addressStr);
         }
-        return emailParser.parseEmail(message);
+        return emailParser.parseEmail(message, emailMonitorProperty.getSenderEmailAddress());
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/airavata/blob/cd9f5812/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/EmailMonitorFactory.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/EmailMonitorFactory.java b/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/EmailMonitorFactory.java
index 5807460..25fe073 100644
--- a/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/EmailMonitorFactory.java
+++ b/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/EmailMonitorFactory.java
@@ -21,6 +21,7 @@
 package org.apache.airavata.gfac.monitor.email;
 
 import org.apache.airavata.model.appcatalog.computeresource.EmailMonitorProperty;
+import org.apache.airavata.model.appcatalog.computeresource.ResourceJobManagerType;
 
 import java.util.HashMap;
 import java.util.Map;
@@ -30,13 +31,14 @@ public class EmailMonitorFactory {
     private static Map<String, EmailBasedMonitor> emailMonitors = new HashMap<String, EmailBasedMonitor>();
 
 
-    public static EmailBasedMonitor getEmailBasedMonitor(EmailMonitorProperty emailMonitorProp) {
+    public static EmailBasedMonitor getEmailBasedMonitor(EmailMonitorProperty emailMonitorProp,
+                                                         ResourceJobManagerType resourceJobManagerType) {
         String key = getKey(emailMonitorProp);
         EmailBasedMonitor monitor = emailMonitors.get(key);
         if (monitor == null) {
             synchronized (emailMonitors){
                 if (monitor == null) {
-                    monitor = new EmailBasedMonitor(emailMonitorProp);
+                    monitor = new EmailBasedMonitor(emailMonitorProp, resourceJobManagerType);
                     emailMonitors.put(key, monitor);
                     new Thread(monitor).start();
                 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/cd9f5812/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/EmailParser.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/EmailParser.java b/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/EmailParser.java
index 84899f0..89abab1 100644
--- a/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/EmailParser.java
+++ b/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/EmailParser.java
@@ -31,5 +31,5 @@ public interface EmailParser {
     static final String JOBID = "jobId";
     static final String EXIT_STATUS = "exitStatus";
 
-    JobStatusResult parseEmail(Message message) throws MessagingException, AiravataException;
+    JobStatusResult parseEmail(Message message, String senderEmailAddress) throws MessagingException, AiravataException;
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/cd9f5812/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/LSFEmailParser.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/LSFEmailParser.java b/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/LSFEmailParser.java
new file mode 100644
index 0000000..58d977f
--- /dev/null
+++ b/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/LSFEmailParser.java
@@ -0,0 +1,74 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+package org.apache.airavata.gfac.monitor.email.parser;
+
+import org.apache.airavata.common.exception.AiravataException;
+import org.apache.airavata.gfac.monitor.email.JobStatusResult;
+import org.apache.airavata.model.workspace.experiment.JobState;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.mail.Message;
+import javax.mail.MessagingException;
+import java.io.IOException;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+public class LSFEmailParser implements EmailParser {
+    private static final Logger log = LoggerFactory.getLogger(LSFEmailParser.class);
+    //root@c312-206.ls4.tacc.utexas.edu
+    private static final String SIGNAL = "signal";
+    private static final String LONESTAR_REGEX = "Job (?<" + JOBID + ">\\d+) \\(.*\\) (?<" + STATUS
+            + ">.*)\\s[a-zA-Z =]+(?<" + EXIT_STATUS + ">\\d+)\\sSignal[ ]*=[ ]*(?<" + SIGNAL + ">[a-zA-z]*)";
+
+    @Override
+    public JobStatusResult parseEmail(Message message, String senderEmailAddress) throws MessagingException, AiravataException {
+        JobStatusResult jobStatusResult = new JobStatusResult();
+        try {
+            String content = ((String) message.getContent());
+            Pattern pattern = Pattern.compile(LONESTAR_REGEX);
+            Matcher matcher = pattern.matcher(content);
+            if (matcher.find()) {
+                jobStatusResult.setJobId(matcher.group(JOBID));
+                String status = matcher.group(STATUS);
+                jobStatusResult.setState(getJobState(status, content));
+                return jobStatusResult;
+            } else {
+                log.error("No matched found for content => \n" + content);
+            }
+        } catch (IOException e) {
+            throw new AiravataException("Error while reading content of the email message");
+        }
+        return jobStatusResult;
+    }
+
+    private JobState getJobState(String status, String content) {
+        switch (status) {
+            case "Aborted":
+                return JobState.FAILED;
+            case "Success":
+                return JobState.COMPLETE;
+            default:
+                return JobState.UNKNOWN;
+        }
+
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/cd9f5812/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/LonestarEmailParser.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/LonestarEmailParser.java b/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/LonestarEmailParser.java
deleted file mode 100644
index f02a032..0000000
--- a/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/LonestarEmailParser.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-package org.apache.airavata.gfac.monitor.email.parser;
-
-import org.apache.airavata.common.exception.AiravataException;
-import org.apache.airavata.gfac.monitor.email.JobStatusResult;
-import org.apache.airavata.model.workspace.experiment.JobState;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.mail.Message;
-import javax.mail.MessagingException;
-import java.io.IOException;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
-public class LonestarEmailParser implements EmailParser {
-    private static final Logger log = LoggerFactory.getLogger(LonestarEmailParser.class);
-    //root@c312-206.ls4.tacc.utexas.edu
-    private static final String SIGNAL = "signal";
-    private static final String LONESTAR_REGEX = "Job (?<" + JOBID + ">\\d+) \\(.*\\) (?<" + STATUS
-            + ">.*)\\s[a-zA-Z =]+(?<" + EXIT_STATUS + ">\\d+)\\sSignal[ ]*=[ ]*(?<" + SIGNAL + ">[a-zA-z]*)";
-
-    @Override
-    public JobStatusResult parseEmail(Message message) throws MessagingException, AiravataException {
-        JobStatusResult jobStatusResult = new JobStatusResult();
-        try {
-            String content = ((String) message.getContent());
-            Pattern pattern = Pattern.compile(LONESTAR_REGEX);
-            Matcher matcher = pattern.matcher(content);
-            if (matcher.find()) {
-                jobStatusResult.setJobId(matcher.group(JOBID));
-                String status = matcher.group(STATUS);
-                jobStatusResult.setState(getJobState(status, content));
-                return jobStatusResult;
-            } else {
-                log.error("No matched found for content => \n" + content);
-            }
-        } catch (IOException e) {
-            throw new AiravataException("Error while reading content of the email message");
-        }
-        return jobStatusResult;
-    }
-
-    private JobState getJobState(String status, String content) {
-        switch (status) {
-            case "Aborted":
-                return JobState.FAILED;
-            case "Success":
-                return JobState.COMPLETE;
-            default:
-                return JobState.UNKNOWN;
-        }
-
-    }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/cd9f5812/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/PBSEmailParser.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/PBSEmailParser.java b/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/PBSEmailParser.java
index 569d498..f253383 100644
--- a/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/PBSEmailParser.java
+++ b/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/PBSEmailParser.java
@@ -45,7 +45,7 @@ public class PBSEmailParser implements EmailParser {
     public static final String ABORTED_BY_PBS_SERVER = "Aborted by PBS Server";
 
     @Override
-    public JobStatusResult parseEmail(Message message) throws MessagingException, AiravataException {
+    public JobStatusResult parseEmail(Message message, String senderEmailAddress) throws MessagingException, AiravataException {
         JobStatusResult jobStatusResult = new JobStatusResult();
         try {
             String content = ((String) message.getContent());

http://git-wip-us.apache.org/repos/asf/airavata/blob/cd9f5812/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 47e78a7..a35f88d 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
@@ -43,7 +43,7 @@ public class SLURMEmailParser implements EmailParser {
     public static final String FAILED = "Failed";
 
     @Override
-    public JobStatusResult parseEmail(Message message) throws MessagingException, AiravataException{
+    public JobStatusResult parseEmail(Message message, String senderEmailAddress) throws MessagingException, AiravataException{
         JobStatusResult jobStatusResult = new JobStatusResult();
         String subject = message.getSubject();
         Pattern pattern = Pattern.compile(REGEX);

http://git-wip-us.apache.org/repos/asf/airavata/blob/cd9f5812/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/provider/impl/SSHProvider.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/provider/impl/SSHProvider.java b/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/provider/impl/SSHProvider.java
index 54d9c10..5323112 100644
--- a/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/provider/impl/SSHProvider.java
+++ b/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/provider/impl/SSHProvider.java
@@ -383,7 +383,8 @@ public class SSHProvider extends AbstractProvider {
             if (monitorMode != null && monitorMode == MonitorMode.JOB_EMAIL_NOTIFICATION_MONITOR) {
                 EmailMonitorProperty emailMonitorProp = sshJobSubmission.getEmailMonitorProperty();
                 if (emailMonitorProp != null) {
-                    EmailBasedMonitor emailBasedMonitor = EmailMonitorFactory.getEmailBasedMonitor(emailMonitorProp);
+                    EmailBasedMonitor emailBasedMonitor = EmailMonitorFactory.getEmailBasedMonitor(emailMonitorProp,
+                            sshJobSubmission.getResourceJobManager().getResourceJobManagerType());
                     emailBasedMonitor.addToJobMonitorMap(jobExecutionContext);
                     return;
                 }


[6/6] airavata git commit: Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/airavata

Posted by sh...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/airavata


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

Branch: refs/heads/master
Commit: bbb43ffb4ae8fef5041cb8fe9076b4244482c499
Parents: 35e0af8 9cadde8
Author: shamrath <sh...@gmail.com>
Authored: Wed Apr 22 16:42:21 2015 -0400
Committer: shamrath <sh...@gmail.com>
Committed: Wed Apr 22 16:42:21 2015 -0400

----------------------------------------------------------------------
 .../airavata/api/server/AiravataAPIServer.java  |  17 +-
 .../server/handler/AiravataServerHandler.java   |   4 +-
 .../lib/airavata/experimentModel_types.cpp      |  82 ++++---
 .../lib/airavata/experimentModel_types.h        |  46 +++-
 .../Model/Workspace/Experiment/Types.php        |  96 +++++---
 .../model/workspace/experiment/ttypes.py        |  86 ++++---
 .../client/samples/CreateLaunchExperiment.java  |   8 +-
 .../tools/RegisterSampleApplications.java       |  53 ++++-
 .../model/workspace/experiment/Experiment.java  | 225 ++++++++++++++-----
 .../model/workspace/experiment/JobDetails.java  | 109 ++++++++-
 .../experimentModel.thrift                      |  24 +-
 .../airavata/common/utils/AiravataZKUtils.java  |  12 +-
 .../airavata/gfac/server/GfacServerHandler.java |  16 +-
 .../airavata/gfac/core/cpi/BetterGfacImpl.java  |   2 +-
 .../airavata/gfac/core/utils/GFacUtils.java     |  29 +--
 .../gfac/core/utils/InputHandlerWorker.java     |   1 -
 .../gfac/ssh/provider/impl/SSHProvider.java     |   4 +-
 .../server/OrchestratorServerHandler.java       |  23 +-
 .../core/validator/JobMetadataValidator.java    |   5 +-
 .../impl/ExperimentStatusValidator.java         |  22 +-
 .../validator/impl/SimpleAppDataValidator.java  |  95 +++++++-
 .../cpi/impl/SimpleOrchestratorImpl.java        |  46 ++--
 .../orchestrator/core/util/SecondValidator.java |  11 +-
 .../orchestrator/core/util/TestValidator.java   |  15 +-
 .../registry/jpa/impl/ExperimentRegistry.java   |   6 +
 .../registry/jpa/model/Experiment.java          |  10 +
 .../registry/jpa/model/JobDetail.java           |  21 +-
 .../jpa/resources/ExperimentResource.java       |  11 +
 .../jpa/resources/JobDetailResource.java        |  22 ++
 .../registry/jpa/resources/Utils.java           |   4 +
 .../jpa/utils/ThriftDataModelConversion.java    |   3 +
 .../src/main/resources/registry-derby.sql       |   3 +
 .../src/main/resources/registry-mysql.sql       |   3 +
 .../src/test/resources/registry-derby.sql       |   3 +
 .../test-suite/multi-tenanted-airavata/pom.xml  |  10 +-
 35 files changed, 814 insertions(+), 313 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/bbb43ffb/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/provider/impl/SSHProvider.java
----------------------------------------------------------------------


[2/6] airavata git commit: Fixed - AIRAVATA-1684 with ReceivedDateTerm

Posted by sh...@apache.org.
Fixed - AIRAVATA-1684 with ReceivedDateTerm


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

Branch: refs/heads/master
Commit: a5b7c59ced51634adddafce784996413c9c0e97d
Parents: cd9f581
Author: shamrath <sh...@gmail.com>
Authored: Mon Apr 20 18:48:47 2015 -0400
Committer: shamrath <sh...@gmail.com>
Committed: Mon Apr 20 18:48:47 2015 -0400

----------------------------------------------------------------------
 .../gfac/monitor/email/EmailBasedMonitor.java   | 135 ++++++++++---------
 1 file changed, 75 insertions(+), 60 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/a5b7c59c/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 b649a56..a988752 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
@@ -49,7 +49,11 @@ import javax.mail.MessagingException;
 import javax.mail.Session;
 import javax.mail.Store;
 import javax.mail.search.FlagTerm;
+import javax.mail.search.ReceivedDateTerm;
+import javax.validation.constraints.NotNull;
 import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.Properties;
@@ -58,19 +62,15 @@ import java.util.concurrent.ConcurrentHashMap;
 public class EmailBasedMonitor implements Runnable{
     private static final AiravataLogger log = AiravataLoggerFactory.getLogger(EmailBasedMonitor.class);
 
-    private static final String PBS_CONSULT_SDSC_EDU = "pbsconsult@sdsc.edu";
-    private static final String SLURM_BATCH_STAMPEDE = "slurm@batch1.stampede.tacc.utexas.edu";
-    private static final String LONESTAR_ADDRESS = "root@c312-206.ls4.tacc.utexas.edu";
+    public static final int COMPARISON = 6; // after and equal
     private final EmailMonitorProperty emailMonitorProperty;
     private boolean stopMonitoring = false;
 
     private Session session ;
     private Store store;
     private Folder emailFolder;
-//    private String host, emailAddress, password, folderName, mailStoreProtocol;
     private Properties properties;
     private final ResourceJobManagerType RESOURCE_JOB_MONITOR_TYPE;
-
     private Map<String, JobExecutionContext> jobMonitorMap = new ConcurrentHashMap<String, JobExecutionContext>();
 
     public EmailBasedMonitor(EmailMonitorProperty emailMonitorProp, ResourceJobManagerType type) {
@@ -85,21 +85,6 @@ public class EmailBasedMonitor implements Runnable{
 
     }
 
-/*    public static EmailBasedMonitor getInstant(EmailMonitorProperty emailMonitorProp, MonitorPublisher monitorPublisher)
-            throws ApplicationSettingsException {
-        if (emailBasedMonitor == null) {
-            synchronized (EmailBasedMonitor.class) {
-                if (emailBasedMonitor == null) {
-                    emailBasedMonitor = new EmailBasedMonitor(emailMonitorProp);
-                    Thread thread = new Thread(emailBasedMonitor);
-                    thread.start();
-                }
-            }
-        }
-
-        return emailBasedMonitor;
-    }*/
-
     public void addToJobMonitorMap(JobExecutionContext jobExecutionContext) {
         addToJobMonitorMap(jobExecutionContext.getJobDetails().getJobID(), jobExecutionContext);
     }
@@ -136,50 +121,24 @@ public class EmailBasedMonitor implements Runnable{
             store = session.getStore(getProtocol(emailMonitorProperty.getStoreProtocol()));
             store.connect(emailMonitorProperty.getHost(), emailMonitorProperty.getEmailAddress(),
                     emailMonitorProperty.getPassword());
+            emailFolder = store.getFolder(emailMonitorProperty.getFolderName());
+            emailFolder.open(Folder.READ_WRITE);
+            // first time we search for all unread messages.
+            Date preDate = Calendar.getInstance().getTime();
+            Date nextDate;
+            processMessages(emailFolder.search(new FlagTerm(new Flags(Flags.Flag.SEEN), false)));
+            // then we search message continuously from prevDate to present.
             while (!(stopMonitoring || ServerSettings.isStopAllThreads())) {
                 if (!store.isConnected()) {
                     store.connect();
+                    emailFolder = store.getFolder(emailMonitorProperty.getFolderName());
+                    emailFolder.open(Folder.READ_WRITE);
                 }
-                Thread.sleep(ServerSettings.getEmailMonitorPeriod());
-                emailFolder = store.getFolder(emailMonitorProperty.getFolderName());
-                emailFolder.open(Folder.READ_WRITE);
-                Message[] searchMessages = emailFolder.search(new FlagTerm(new Flags(Flags.Flag.SEEN), false));
-                List<Message> processedMessages = new ArrayList<>();
-                List<Message> unreadMessages = new ArrayList<>();
-                for (Message message : searchMessages) {
-                    try {
-                        JobStatusResult jobStatusResult = parse(message);
-                        JobExecutionContext jEC = jobMonitorMap.get(jobStatusResult.getJobId());
-                        if (jEC != null) {
-                            process(jobStatusResult, jEC);
-                            processedMessages.add(message);
-                        } else {
-                            // we can get JobExecutionContext null in multiple Gfac instances environment,
-                            // where this job is not submitted by this Gfac instance hence we ignore this message.
-                            unreadMessages.add(message);
-//                            log.info("JobExecutionContext is not found for job Id " + jobStatusResult.getJobId());
-                        }
-                    } catch (AiravataException e) {
-                        log.error("Error parsing email message =====================================>", e);
-                        try {
-                            writeEnvelopeOnError(message);
-                        } catch (MessagingException e1) {
-                            log.error("Error printing envelop of the email");
-                        }
-                    }
-                }
-                if (!processedMessages.isEmpty()) {
-                    Message[] seenMessages = new Message[processedMessages.size()];
-                    processedMessages.toArray(seenMessages);
-                    emailFolder.setFlags(seenMessages, new Flags(Flags.Flag.SEEN), true);
-
-                }
-                if (!unreadMessages.isEmpty()) {
-                    Message[] unseenMessages = new Message[unreadMessages.size()];
-                    unreadMessages.toArray(unseenMessages);
-                    emailFolder.setFlags(unseenMessages, new Flags(Flags.Flag.SEEN), false);
-                }
-                emailFolder.close(false);
+                Thread.sleep(ServerSettings.getEmailMonitorPeriod());// sleep a bit - get rest till job finishes
+                nextDate = Calendar.getInstance().getTime();
+                Message[] searchMessages = emailFolder.search(new ReceivedDateTerm(COMPARISON, preDate));
+                processMessages(searchMessages);
+                preDate = nextDate; // this is a critical line
             }
         } catch (MessagingException e) {
             log.error("Couldn't connect to the store ", e);
@@ -189,6 +148,7 @@ public class EmailBasedMonitor implements Runnable{
             log.error("UnHandled arguments ", e);
         } finally {
             try {
+                emailFolder.close(false);
                 store.close();
             } catch (MessagingException e) {
                 log.error("Store close operation failed, couldn't close store", e);
@@ -196,6 +156,61 @@ public class EmailBasedMonitor implements Runnable{
         }
     }
 
+    private void processMessages(Message[] searchMessages) throws MessagingException {
+        List<Message> processedMessages = new ArrayList<>();
+        List<Message> unreadMessages = new ArrayList<>();
+        for (Message message : searchMessages) {
+            try {
+                JobStatusResult jobStatusResult = parse(message);
+                JobExecutionContext jEC = jobMonitorMap.get(jobStatusResult.getJobId());
+                if (jEC != null) {
+                    process(jobStatusResult, jEC);
+                    processedMessages.add(message);
+                } else {
+                    // we can get JobExecutionContext null in multiple Gfac instances environment,
+                    // where this job is not submitted by this Gfac instance hence we ignore this message.
+                    unreadMessages.add(message);
+//                  log.info("JobExecutionContext is not found for job Id " + jobStatusResult.getJobId());
+                }
+            } catch (AiravataException e) {
+                log.error("Error parsing email message =====================================>", e);
+                try {
+                    writeEnvelopeOnError(message);
+                } catch (MessagingException e1) {
+                    log.error("Error printing envelop of the email");
+                }
+            } catch (MessagingException e) {
+                log.error("Error while retrieving sender address from message : " + message.toString());
+            }
+        }
+        if (!processedMessages.isEmpty()) {
+            Message[] seenMessages = new Message[processedMessages.size()];
+            processedMessages.toArray(seenMessages);
+            try {
+                emailFolder.setFlags(seenMessages, new Flags(Flags.Flag.SEEN), true);
+            } catch (MessagingException e) {
+                if (!store.isConnected()) {
+                    store.connect();
+                    emailFolder.setFlags(seenMessages, new Flags(Flags.Flag.SEEN), true);
+                }
+            }
+
+        }
+        if (!unreadMessages.isEmpty()) {
+            Message[] unseenMessages = new Message[unreadMessages.size()];
+            unreadMessages.toArray(unseenMessages);
+            try {
+                emailFolder.setFlags(unseenMessages, new Flags(Flags.Flag.SEEN), false);
+            } catch (MessagingException e) {
+                if (!store.isConnected()) {
+                    store.connect();
+                    emailFolder.setFlags(unseenMessages, new Flags(Flags.Flag.SEEN), false);
+
+                }
+            }
+        }
+    }
+
     private String getProtocol(EmailProtocol storeProtocol) throws AiravataException {
         switch (storeProtocol) {
             case IMAPS:


[5/6] airavata git commit: Fixed AIRAVATA-1686

Posted by sh...@apache.org.
Fixed AIRAVATA-1686


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

Branch: refs/heads/master
Commit: 35e0af8bf8d53d28391ace67aeafc18873895b63
Parents: 37e0f4a
Author: shamrath <sh...@gmail.com>
Authored: Wed Apr 22 16:40:24 2015 -0400
Committer: shamrath <sh...@gmail.com>
Committed: Wed Apr 22 16:40:24 2015 -0400

----------------------------------------------------------------------
 .../lib/airavata/computeResourceModel_types.cpp | 412 +++------
 .../lib/airavata/computeResourceModel_types.h   |  98 +-
 .../Model/AppCatalog/ComputeResource/Types.php  | 206 -----
 .../model/appcatalog/computeresource/ttypes.py  | 174 +---
 .../computeresource/EmailMonitorProperty.java   | 901 -------------------
 .../computeresource/EmailProtocol.java          |  66 --
 .../computeresource/SSHJobSubmission.java       | 114 +--
 .../computeResourceModel.thrift                 |  28 -
 .../catalog/data/impl/ComputeResourceImpl.java  |  15 -
 .../data/model/EmailMonitorProperty.java        | 122 ---
 .../catalog/data/model/SshJobSubmission.java    |   1 -
 .../data/resources/EmailPropertyResource.java   | 319 -------
 .../catalog/data/util/AppCatalogJPAUtils.java   |  23 -
 .../data/util/AppCatalogResourceType.java       |   3 +-
 .../data/util/AppCatalogThriftConversion.java   |  19 -
 .../src/main/resources/META-INF/persistence.xml |   1 -
 .../src/main/resources/appcatalog-derby.sql     |  13 -
 .../src/main/resources/appcatalog-mysql.sql     |  12 -
 .../app/catalog/test/ComputeResourceTest.java   |  12 +-
 .../airavata/common/utils/ServerSettings.java   |  31 +-
 .../main/resources/airavata-server.properties   |   7 +
 .../gsissh/provider/impl/GSISSHProvider.java    |  11 +-
 .../gfac/monitor/email/EmailBasedMonitor.java   |  65 +-
 .../gfac/monitor/email/EmailMonitorFactory.java |  41 +-
 .../gfac/monitor/email/parser/EmailParser.java  |   2 +-
 .../monitor/email/parser/LSFEmailParser.java    |   2 +-
 .../monitor/email/parser/PBSEmailParser.java    |   3 +-
 .../monitor/email/parser/SLURMEmailParser.java  |   2 +-
 .../gfac/ssh/provider/impl/SSHProvider.java     |  11 +-
 29 files changed, 229 insertions(+), 2485 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/35e0af8b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.cpp
index 463550a..05bba8e 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.cpp
@@ -123,16 +123,6 @@ const char* _kMonitorModeNames[] = {
 };
 const std::map<int, const char*> _MonitorMode_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(3, _kMonitorModeValues, _kMonitorModeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
 
-int _kEmailProtocolValues[] = {
-  EmailProtocol::POP3,
-  EmailProtocol::IMAPS
-};
-const char* _kEmailProtocolNames[] = {
-  "POP3",
-  "IMAPS"
-};
-const std::map<int, const char*> _EmailProtocol_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(2, _kEmailProtocolValues, _kEmailProtocolNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
-
 int _kDataMovementProtocolValues[] = {
   DataMovementProtocol::LOCAL,
   DataMovementProtocol::SCP,
@@ -461,152 +451,6 @@ void swap(BatchQueue &a, BatchQueue &b) {
   swap(a.__isset, b.__isset);
 }
 
-const char* EmailMonitorProperty::ascii_fingerprint = "218FF2099E03B9AC08A5A47A15F4294E";
-const uint8_t EmailMonitorProperty::binary_fingerprint[16] = {0x21,0x8F,0xF2,0x09,0x9E,0x03,0xB9,0xAC,0x08,0xA5,0xA4,0x7A,0x15,0xF4,0x29,0x4E};
-
-uint32_t EmailMonitorProperty::read(::apache::thrift::protocol::TProtocol* iprot) {
-
-  uint32_t xfer = 0;
-  std::string fname;
-  ::apache::thrift::protocol::TType ftype;
-  int16_t fid;
-
-  xfer += iprot->readStructBegin(fname);
-
-  using ::apache::thrift::protocol::TProtocolException;
-
-  bool isset_host = false;
-  bool isset_emailAddress = false;
-  bool isset_password = false;
-  bool isset_folderName = false;
-  bool isset_storeProtocol = false;
-  bool isset_senderEmailAddress = false;
-
-  while (true)
-  {
-    xfer += iprot->readFieldBegin(fname, ftype, fid);
-    if (ftype == ::apache::thrift::protocol::T_STOP) {
-      break;
-    }
-    switch (fid)
-    {
-      case 1:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->host);
-          isset_host = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 2:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->emailAddress);
-          isset_emailAddress = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 3:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->password);
-          isset_password = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 4:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->folderName);
-          isset_folderName = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 5:
-        if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast10;
-          xfer += iprot->readI32(ecast10);
-          this->storeProtocol = (EmailProtocol::type)ecast10;
-          isset_storeProtocol = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      case 6:
-        if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->senderEmailAddress);
-          isset_senderEmailAddress = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
-      default:
-        xfer += iprot->skip(ftype);
-        break;
-    }
-    xfer += iprot->readFieldEnd();
-  }
-
-  xfer += iprot->readStructEnd();
-
-  if (!isset_host)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  if (!isset_emailAddress)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  if (!isset_password)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  if (!isset_folderName)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  if (!isset_storeProtocol)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  if (!isset_senderEmailAddress)
-    throw TProtocolException(TProtocolException::INVALID_DATA);
-  return xfer;
-}
-
-uint32_t EmailMonitorProperty::write(::apache::thrift::protocol::TProtocol* oprot) const {
-  uint32_t xfer = 0;
-  xfer += oprot->writeStructBegin("EmailMonitorProperty");
-
-  xfer += oprot->writeFieldBegin("host", ::apache::thrift::protocol::T_STRING, 1);
-  xfer += oprot->writeString(this->host);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldBegin("emailAddress", ::apache::thrift::protocol::T_STRING, 2);
-  xfer += oprot->writeString(this->emailAddress);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldBegin("password", ::apache::thrift::protocol::T_STRING, 3);
-  xfer += oprot->writeString(this->password);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldBegin("folderName", ::apache::thrift::protocol::T_STRING, 4);
-  xfer += oprot->writeString(this->folderName);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldBegin("storeProtocol", ::apache::thrift::protocol::T_I32, 5);
-  xfer += oprot->writeI32((int32_t)this->storeProtocol);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldBegin("senderEmailAddress", ::apache::thrift::protocol::T_STRING, 6);
-  xfer += oprot->writeString(this->senderEmailAddress);
-  xfer += oprot->writeFieldEnd();
-
-  xfer += oprot->writeFieldStop();
-  xfer += oprot->writeStructEnd();
-  return xfer;
-}
-
-void swap(EmailMonitorProperty &a, EmailMonitorProperty &b) {
-  using ::std::swap;
-  swap(a.host, b.host);
-  swap(a.emailAddress, b.emailAddress);
-  swap(a.password, b.password);
-  swap(a.folderName, b.folderName);
-  swap(a.storeProtocol, b.storeProtocol);
-  swap(a.senderEmailAddress, b.senderEmailAddress);
-}
-
 const char* SCPDataMovement::ascii_fingerprint = "63CAE6EE336A7DBD91CCCD6E22628F4A";
 const uint8_t SCPDataMovement::binary_fingerprint[16] = {0x63,0xCA,0xE6,0xEE,0x33,0x6A,0x7D,0xBD,0x91,0xCC,0xCD,0x6E,0x22,0x62,0x8F,0x4A};
 
@@ -642,9 +486,9 @@ uint32_t SCPDataMovement::read(::apache::thrift::protocol::TProtocol* iprot) {
         break;
       case 2:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast11;
-          xfer += iprot->readI32(ecast11);
-          this->securityProtocol = (SecurityProtocol::type)ecast11;
+          int32_t ecast10;
+          xfer += iprot->readI32(ecast10);
+          this->securityProtocol = (SecurityProtocol::type)ecast10;
           isset_securityProtocol = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -754,9 +598,9 @@ uint32_t GridFTPDataMovement::read(::apache::thrift::protocol::TProtocol* iprot)
         break;
       case 2:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast12;
-          xfer += iprot->readI32(ecast12);
-          this->securityProtocol = (SecurityProtocol::type)ecast12;
+          int32_t ecast11;
+          xfer += iprot->readI32(ecast11);
+          this->securityProtocol = (SecurityProtocol::type)ecast11;
           isset_securityProtocol = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -766,14 +610,14 @@ uint32_t GridFTPDataMovement::read(::apache::thrift::protocol::TProtocol* iprot)
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->gridFTPEndPoints.clear();
-            uint32_t _size13;
-            ::apache::thrift::protocol::TType _etype16;
-            xfer += iprot->readListBegin(_etype16, _size13);
-            this->gridFTPEndPoints.resize(_size13);
-            uint32_t _i17;
-            for (_i17 = 0; _i17 < _size13; ++_i17)
+            uint32_t _size12;
+            ::apache::thrift::protocol::TType _etype15;
+            xfer += iprot->readListBegin(_etype15, _size12);
+            this->gridFTPEndPoints.resize(_size12);
+            uint32_t _i16;
+            for (_i16 = 0; _i16 < _size12; ++_i16)
             {
-              xfer += iprot->readString(this->gridFTPEndPoints[_i17]);
+              xfer += iprot->readString(this->gridFTPEndPoints[_i16]);
             }
             xfer += iprot->readListEnd();
           }
@@ -815,10 +659,10 @@ uint32_t GridFTPDataMovement::write(::apache::thrift::protocol::TProtocol* oprot
   xfer += oprot->writeFieldBegin("gridFTPEndPoints", ::apache::thrift::protocol::T_LIST, 3);
   {
     xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->gridFTPEndPoints.size()));
-    std::vector<std::string> ::const_iterator _iter18;
-    for (_iter18 = this->gridFTPEndPoints.begin(); _iter18 != this->gridFTPEndPoints.end(); ++_iter18)
+    std::vector<std::string> ::const_iterator _iter17;
+    for (_iter17 = this->gridFTPEndPoints.begin(); _iter17 != this->gridFTPEndPoints.end(); ++_iter17)
     {
-      xfer += oprot->writeString((*_iter18));
+      xfer += oprot->writeString((*_iter17));
     }
     xfer += oprot->writeListEnd();
   }
@@ -872,9 +716,9 @@ uint32_t UnicoreDataMovement::read(::apache::thrift::protocol::TProtocol* iprot)
         break;
       case 2:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast19;
-          xfer += iprot->readI32(ecast19);
-          this->securityProtocol = (SecurityProtocol::type)ecast19;
+          int32_t ecast18;
+          xfer += iprot->readI32(ecast18);
+          this->securityProtocol = (SecurityProtocol::type)ecast18;
           isset_securityProtocol = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -1078,8 +922,8 @@ void swap(LOCALDataMovement &a, LOCALDataMovement &b) {
   swap(a.dataMovementInterfaceId, b.dataMovementInterfaceId);
 }
 
-const char* SSHJobSubmission::ascii_fingerprint = "200BDE51156682BAC37E8B5DAD03D6D3";
-const uint8_t SSHJobSubmission::binary_fingerprint[16] = {0x20,0x0B,0xDE,0x51,0x15,0x66,0x82,0xBA,0xC3,0x7E,0x8B,0x5D,0xAD,0x03,0xD6,0xD3};
+const char* SSHJobSubmission::ascii_fingerprint = "A62183DAA7AFF027173705420A9D99D0";
+const uint8_t SSHJobSubmission::binary_fingerprint[16] = {0xA6,0x21,0x83,0xDA,0xA7,0xAF,0xF0,0x27,0x17,0x37,0x05,0x42,0x0A,0x9D,0x99,0xD0};
 
 uint32_t SSHJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot) {
 
@@ -1114,9 +958,9 @@ uint32_t SSHJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot) {
         break;
       case 2:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast20;
-          xfer += iprot->readI32(ecast20);
-          this->securityProtocol = (SecurityProtocol::type)ecast20;
+          int32_t ecast19;
+          xfer += iprot->readI32(ecast19);
+          this->securityProtocol = (SecurityProtocol::type)ecast19;
           isset_securityProtocol = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -1148,22 +992,14 @@ uint32_t SSHJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot) {
         break;
       case 6:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast21;
-          xfer += iprot->readI32(ecast21);
-          this->monitorMode = (MonitorMode::type)ecast21;
+          int32_t ecast20;
+          xfer += iprot->readI32(ecast20);
+          this->monitorMode = (MonitorMode::type)ecast20;
           this->__isset.monitorMode = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 7:
-        if (ftype == ::apache::thrift::protocol::T_STRUCT) {
-          xfer += this->emailMonitorProperty.read(iprot);
-          this->__isset.emailMonitorProperty = true;
-        } else {
-          xfer += iprot->skip(ftype);
-        }
-        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -1213,11 +1049,6 @@ uint32_t SSHJobSubmission::write(::apache::thrift::protocol::TProtocol* oprot) c
     xfer += oprot->writeI32((int32_t)this->monitorMode);
     xfer += oprot->writeFieldEnd();
   }
-  if (this->__isset.emailMonitorProperty) {
-    xfer += oprot->writeFieldBegin("emailMonitorProperty", ::apache::thrift::protocol::T_STRUCT, 7);
-    xfer += this->emailMonitorProperty.write(oprot);
-    xfer += oprot->writeFieldEnd();
-  }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
   return xfer;
@@ -1231,7 +1062,6 @@ void swap(SSHJobSubmission &a, SSHJobSubmission &b) {
   swap(a.alternativeSSHHostName, b.alternativeSSHHostName);
   swap(a.sshPort, b.sshPort);
   swap(a.monitorMode, b.monitorMode);
-  swap(a.emailMonitorProperty, b.emailMonitorProperty);
   swap(a.__isset, b.__isset);
 }
 
@@ -1270,9 +1100,9 @@ uint32_t GlobusJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot)
         break;
       case 2:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast22;
-          xfer += iprot->readI32(ecast22);
-          this->securityProtocol = (SecurityProtocol::type)ecast22;
+          int32_t ecast21;
+          xfer += iprot->readI32(ecast21);
+          this->securityProtocol = (SecurityProtocol::type)ecast21;
           isset_securityProtocol = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -1282,14 +1112,14 @@ uint32_t GlobusJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot)
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->globusGateKeeperEndPoint.clear();
-            uint32_t _size23;
-            ::apache::thrift::protocol::TType _etype26;
-            xfer += iprot->readListBegin(_etype26, _size23);
-            this->globusGateKeeperEndPoint.resize(_size23);
-            uint32_t _i27;
-            for (_i27 = 0; _i27 < _size23; ++_i27)
+            uint32_t _size22;
+            ::apache::thrift::protocol::TType _etype25;
+            xfer += iprot->readListBegin(_etype25, _size22);
+            this->globusGateKeeperEndPoint.resize(_size22);
+            uint32_t _i26;
+            for (_i26 = 0; _i26 < _size22; ++_i26)
             {
-              xfer += iprot->readString(this->globusGateKeeperEndPoint[_i27]);
+              xfer += iprot->readString(this->globusGateKeeperEndPoint[_i26]);
             }
             xfer += iprot->readListEnd();
           }
@@ -1330,10 +1160,10 @@ uint32_t GlobusJobSubmission::write(::apache::thrift::protocol::TProtocol* oprot
     xfer += oprot->writeFieldBegin("globusGateKeeperEndPoint", ::apache::thrift::protocol::T_LIST, 3);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->globusGateKeeperEndPoint.size()));
-      std::vector<std::string> ::const_iterator _iter28;
-      for (_iter28 = this->globusGateKeeperEndPoint.begin(); _iter28 != this->globusGateKeeperEndPoint.end(); ++_iter28)
+      std::vector<std::string> ::const_iterator _iter27;
+      for (_iter27 = this->globusGateKeeperEndPoint.begin(); _iter27 != this->globusGateKeeperEndPoint.end(); ++_iter27)
       {
-        xfer += oprot->writeString((*_iter28));
+        xfer += oprot->writeString((*_iter27));
       }
       xfer += oprot->writeListEnd();
     }
@@ -1388,9 +1218,9 @@ uint32_t UnicoreJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot
         break;
       case 2:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast29;
-          xfer += iprot->readI32(ecast29);
-          this->securityProtocol = (SecurityProtocol::type)ecast29;
+          int32_t ecast28;
+          xfer += iprot->readI32(ecast28);
+          this->securityProtocol = (SecurityProtocol::type)ecast28;
           isset_securityProtocol = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -1489,9 +1319,9 @@ uint32_t CloudJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot)
         break;
       case 2:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast30;
-          xfer += iprot->readI32(ecast30);
-          this->securityProtocol = (SecurityProtocol::type)ecast30;
+          int32_t ecast29;
+          xfer += iprot->readI32(ecast29);
+          this->securityProtocol = (SecurityProtocol::type)ecast29;
           isset_securityProtocol = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -1515,9 +1345,9 @@ uint32_t CloudJobSubmission::read(::apache::thrift::protocol::TProtocol* iprot)
         break;
       case 5:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast31;
-          xfer += iprot->readI32(ecast31);
-          this->providerName = (ProviderName::type)ecast31;
+          int32_t ecast30;
+          xfer += iprot->readI32(ecast30);
+          this->providerName = (ProviderName::type)ecast30;
           isset_providerName = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -1634,9 +1464,9 @@ uint32_t JobSubmissionInterface::read(::apache::thrift::protocol::TProtocol* ipr
         break;
       case 2:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast32;
-          xfer += iprot->readI32(ecast32);
-          this->jobSubmissionProtocol = (JobSubmissionProtocol::type)ecast32;
+          int32_t ecast31;
+          xfer += iprot->readI32(ecast31);
+          this->jobSubmissionProtocol = (JobSubmissionProtocol::type)ecast31;
           isset_jobSubmissionProtocol = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -1732,9 +1562,9 @@ uint32_t DataMovementInterface::read(::apache::thrift::protocol::TProtocol* ipro
         break;
       case 2:
         if (ftype == ::apache::thrift::protocol::T_I32) {
-          int32_t ecast33;
-          xfer += iprot->readI32(ecast33);
-          this->dataMovementProtocol = (DataMovementProtocol::type)ecast33;
+          int32_t ecast32;
+          xfer += iprot->readI32(ecast32);
+          this->dataMovementProtocol = (DataMovementProtocol::type)ecast32;
           isset_dataMovementProtocol = true;
         } else {
           xfer += iprot->skip(ftype);
@@ -1839,14 +1669,14 @@ uint32_t ComputeResourceDescription::read(::apache::thrift::protocol::TProtocol*
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->hostAliases.clear();
-            uint32_t _size34;
-            ::apache::thrift::protocol::TType _etype37;
-            xfer += iprot->readListBegin(_etype37, _size34);
-            this->hostAliases.resize(_size34);
-            uint32_t _i38;
-            for (_i38 = 0; _i38 < _size34; ++_i38)
+            uint32_t _size33;
+            ::apache::thrift::protocol::TType _etype36;
+            xfer += iprot->readListBegin(_etype36, _size33);
+            this->hostAliases.resize(_size33);
+            uint32_t _i37;
+            for (_i37 = 0; _i37 < _size33; ++_i37)
             {
-              xfer += iprot->readString(this->hostAliases[_i38]);
+              xfer += iprot->readString(this->hostAliases[_i37]);
             }
             xfer += iprot->readListEnd();
           }
@@ -1859,14 +1689,14 @@ uint32_t ComputeResourceDescription::read(::apache::thrift::protocol::TProtocol*
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->ipAddresses.clear();
-            uint32_t _size39;
-            ::apache::thrift::protocol::TType _etype42;
-            xfer += iprot->readListBegin(_etype42, _size39);
-            this->ipAddresses.resize(_size39);
-            uint32_t _i43;
-            for (_i43 = 0; _i43 < _size39; ++_i43)
+            uint32_t _size38;
+            ::apache::thrift::protocol::TType _etype41;
+            xfer += iprot->readListBegin(_etype41, _size38);
+            this->ipAddresses.resize(_size38);
+            uint32_t _i42;
+            for (_i42 = 0; _i42 < _size38; ++_i42)
             {
-              xfer += iprot->readString(this->ipAddresses[_i43]);
+              xfer += iprot->readString(this->ipAddresses[_i42]);
             }
             xfer += iprot->readListEnd();
           }
@@ -1887,14 +1717,14 @@ uint32_t ComputeResourceDescription::read(::apache::thrift::protocol::TProtocol*
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->batchQueues.clear();
-            uint32_t _size44;
-            ::apache::thrift::protocol::TType _etype47;
-            xfer += iprot->readListBegin(_etype47, _size44);
-            this->batchQueues.resize(_size44);
-            uint32_t _i48;
-            for (_i48 = 0; _i48 < _size44; ++_i48)
+            uint32_t _size43;
+            ::apache::thrift::protocol::TType _etype46;
+            xfer += iprot->readListBegin(_etype46, _size43);
+            this->batchQueues.resize(_size43);
+            uint32_t _i47;
+            for (_i47 = 0; _i47 < _size43; ++_i47)
             {
-              xfer += this->batchQueues[_i48].read(iprot);
+              xfer += this->batchQueues[_i47].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -1907,19 +1737,19 @@ uint32_t ComputeResourceDescription::read(::apache::thrift::protocol::TProtocol*
         if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
             this->fileSystems.clear();
-            uint32_t _size49;
-            ::apache::thrift::protocol::TType _ktype50;
-            ::apache::thrift::protocol::TType _vtype51;
-            xfer += iprot->readMapBegin(_ktype50, _vtype51, _size49);
-            uint32_t _i53;
-            for (_i53 = 0; _i53 < _size49; ++_i53)
+            uint32_t _size48;
+            ::apache::thrift::protocol::TType _ktype49;
+            ::apache::thrift::protocol::TType _vtype50;
+            xfer += iprot->readMapBegin(_ktype49, _vtype50, _size48);
+            uint32_t _i52;
+            for (_i52 = 0; _i52 < _size48; ++_i52)
             {
-              FileSystems::type _key54;
-              int32_t ecast56;
-              xfer += iprot->readI32(ecast56);
-              _key54 = (FileSystems::type)ecast56;
-              std::string& _val55 = this->fileSystems[_key54];
-              xfer += iprot->readString(_val55);
+              FileSystems::type _key53;
+              int32_t ecast55;
+              xfer += iprot->readI32(ecast55);
+              _key53 = (FileSystems::type)ecast55;
+              std::string& _val54 = this->fileSystems[_key53];
+              xfer += iprot->readString(_val54);
             }
             xfer += iprot->readMapEnd();
           }
@@ -1932,14 +1762,14 @@ uint32_t ComputeResourceDescription::read(::apache::thrift::protocol::TProtocol*
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->jobSubmissionInterfaces.clear();
-            uint32_t _size57;
-            ::apache::thrift::protocol::TType _etype60;
-            xfer += iprot->readListBegin(_etype60, _size57);
-            this->jobSubmissionInterfaces.resize(_size57);
-            uint32_t _i61;
-            for (_i61 = 0; _i61 < _size57; ++_i61)
+            uint32_t _size56;
+            ::apache::thrift::protocol::TType _etype59;
+            xfer += iprot->readListBegin(_etype59, _size56);
+            this->jobSubmissionInterfaces.resize(_size56);
+            uint32_t _i60;
+            for (_i60 = 0; _i60 < _size56; ++_i60)
             {
-              xfer += this->jobSubmissionInterfaces[_i61].read(iprot);
+              xfer += this->jobSubmissionInterfaces[_i60].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -1952,14 +1782,14 @@ uint32_t ComputeResourceDescription::read(::apache::thrift::protocol::TProtocol*
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->dataMovementInterfaces.clear();
-            uint32_t _size62;
-            ::apache::thrift::protocol::TType _etype65;
-            xfer += iprot->readListBegin(_etype65, _size62);
-            this->dataMovementInterfaces.resize(_size62);
-            uint32_t _i66;
-            for (_i66 = 0; _i66 < _size62; ++_i66)
+            uint32_t _size61;
+            ::apache::thrift::protocol::TType _etype64;
+            xfer += iprot->readListBegin(_etype64, _size61);
+            this->dataMovementInterfaces.resize(_size61);
+            uint32_t _i65;
+            for (_i65 = 0; _i65 < _size61; ++_i65)
             {
-              xfer += this->dataMovementInterfaces[_i66].read(iprot);
+              xfer += this->dataMovementInterfaces[_i65].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
@@ -2008,10 +1838,10 @@ uint32_t ComputeResourceDescription::write(::apache::thrift::protocol::TProtocol
     xfer += oprot->writeFieldBegin("hostAliases", ::apache::thrift::protocol::T_LIST, 3);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->hostAliases.size()));
-      std::vector<std::string> ::const_iterator _iter67;
-      for (_iter67 = this->hostAliases.begin(); _iter67 != this->hostAliases.end(); ++_iter67)
+      std::vector<std::string> ::const_iterator _iter66;
+      for (_iter66 = this->hostAliases.begin(); _iter66 != this->hostAliases.end(); ++_iter66)
       {
-        xfer += oprot->writeString((*_iter67));
+        xfer += oprot->writeString((*_iter66));
       }
       xfer += oprot->writeListEnd();
     }
@@ -2021,10 +1851,10 @@ uint32_t ComputeResourceDescription::write(::apache::thrift::protocol::TProtocol
     xfer += oprot->writeFieldBegin("ipAddresses", ::apache::thrift::protocol::T_LIST, 4);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->ipAddresses.size()));
-      std::vector<std::string> ::const_iterator _iter68;
-      for (_iter68 = this->ipAddresses.begin(); _iter68 != this->ipAddresses.end(); ++_iter68)
+      std::vector<std::string> ::const_iterator _iter67;
+      for (_iter67 = this->ipAddresses.begin(); _iter67 != this->ipAddresses.end(); ++_iter67)
       {
-        xfer += oprot->writeString((*_iter68));
+        xfer += oprot->writeString((*_iter67));
       }
       xfer += oprot->writeListEnd();
     }
@@ -2039,10 +1869,10 @@ uint32_t ComputeResourceDescription::write(::apache::thrift::protocol::TProtocol
     xfer += oprot->writeFieldBegin("batchQueues", ::apache::thrift::protocol::T_LIST, 6);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->batchQueues.size()));
-      std::vector<BatchQueue> ::const_iterator _iter69;
-      for (_iter69 = this->batchQueues.begin(); _iter69 != this->batchQueues.end(); ++_iter69)
+      std::vector<BatchQueue> ::const_iterator _iter68;
+      for (_iter68 = this->batchQueues.begin(); _iter68 != this->batchQueues.end(); ++_iter68)
       {
-        xfer += (*_iter69).write(oprot);
+        xfer += (*_iter68).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -2052,11 +1882,11 @@ uint32_t ComputeResourceDescription::write(::apache::thrift::protocol::TProtocol
     xfer += oprot->writeFieldBegin("fileSystems", ::apache::thrift::protocol::T_MAP, 7);
     {
       xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_I32, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->fileSystems.size()));
-      std::map<FileSystems::type, std::string> ::const_iterator _iter70;
-      for (_iter70 = this->fileSystems.begin(); _iter70 != this->fileSystems.end(); ++_iter70)
+      std::map<FileSystems::type, std::string> ::const_iterator _iter69;
+      for (_iter69 = this->fileSystems.begin(); _iter69 != this->fileSystems.end(); ++_iter69)
       {
-        xfer += oprot->writeI32((int32_t)_iter70->first);
-        xfer += oprot->writeString(_iter70->second);
+        xfer += oprot->writeI32((int32_t)_iter69->first);
+        xfer += oprot->writeString(_iter69->second);
       }
       xfer += oprot->writeMapEnd();
     }
@@ -2066,10 +1896,10 @@ uint32_t ComputeResourceDescription::write(::apache::thrift::protocol::TProtocol
     xfer += oprot->writeFieldBegin("jobSubmissionInterfaces", ::apache::thrift::protocol::T_LIST, 8);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->jobSubmissionInterfaces.size()));
-      std::vector<JobSubmissionInterface> ::const_iterator _iter71;
-      for (_iter71 = this->jobSubmissionInterfaces.begin(); _iter71 != this->jobSubmissionInterfaces.end(); ++_iter71)
+      std::vector<JobSubmissionInterface> ::const_iterator _iter70;
+      for (_iter70 = this->jobSubmissionInterfaces.begin(); _iter70 != this->jobSubmissionInterfaces.end(); ++_iter70)
       {
-        xfer += (*_iter71).write(oprot);
+        xfer += (*_iter70).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }
@@ -2079,10 +1909,10 @@ uint32_t ComputeResourceDescription::write(::apache::thrift::protocol::TProtocol
     xfer += oprot->writeFieldBegin("dataMovementInterfaces", ::apache::thrift::protocol::T_LIST, 9);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->dataMovementInterfaces.size()));
-      std::vector<DataMovementInterface> ::const_iterator _iter72;
-      for (_iter72 = this->dataMovementInterfaces.begin(); _iter72 != this->dataMovementInterfaces.end(); ++_iter72)
+      std::vector<DataMovementInterface> ::const_iterator _iter71;
+      for (_iter71 = this->dataMovementInterfaces.begin(); _iter71 != this->dataMovementInterfaces.end(); ++_iter71)
       {
-        xfer += (*_iter72).write(oprot);
+        xfer += (*_iter71).write(oprot);
       }
       xfer += oprot->writeListEnd();
     }

http://git-wip-us.apache.org/repos/asf/airavata/blob/35e0af8b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.h
index fd2e1ab..78e8382 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/computeResourceModel_types.h
@@ -106,15 +106,6 @@ struct MonitorMode {
 
 extern const std::map<int, const char*> _MonitorMode_VALUES_TO_NAMES;
 
-struct EmailProtocol {
-  enum type {
-    POP3 = 0,
-    IMAPS = 1
-  };
-};
-
-extern const std::map<int, const char*> _EmailProtocol_VALUES_TO_NAMES;
-
 struct DataMovementProtocol {
   enum type {
     LOCAL = 0,
@@ -327,78 +318,6 @@ class BatchQueue {
 
 void swap(BatchQueue &a, BatchQueue &b);
 
-
-class EmailMonitorProperty {
- public:
-
-  static const char* ascii_fingerprint; // = "218FF2099E03B9AC08A5A47A15F4294E";
-  static const uint8_t binary_fingerprint[16]; // = {0x21,0x8F,0xF2,0x09,0x9E,0x03,0xB9,0xAC,0x08,0xA5,0xA4,0x7A,0x15,0xF4,0x29,0x4E};
-
-  EmailMonitorProperty() : host(), emailAddress(), password(), folderName("INBOX"), storeProtocol((EmailProtocol::type)0), senderEmailAddress() {
-  }
-
-  virtual ~EmailMonitorProperty() throw() {}
-
-  std::string host;
-  std::string emailAddress;
-  std::string password;
-  std::string folderName;
-  EmailProtocol::type storeProtocol;
-  std::string senderEmailAddress;
-
-  void __set_host(const std::string& val) {
-    host = val;
-  }
-
-  void __set_emailAddress(const std::string& val) {
-    emailAddress = val;
-  }
-
-  void __set_password(const std::string& val) {
-    password = val;
-  }
-
-  void __set_folderName(const std::string& val) {
-    folderName = val;
-  }
-
-  void __set_storeProtocol(const EmailProtocol::type val) {
-    storeProtocol = val;
-  }
-
-  void __set_senderEmailAddress(const std::string& val) {
-    senderEmailAddress = val;
-  }
-
-  bool operator == (const EmailMonitorProperty & rhs) const
-  {
-    if (!(host == rhs.host))
-      return false;
-    if (!(emailAddress == rhs.emailAddress))
-      return false;
-    if (!(password == rhs.password))
-      return false;
-    if (!(folderName == rhs.folderName))
-      return false;
-    if (!(storeProtocol == rhs.storeProtocol))
-      return false;
-    if (!(senderEmailAddress == rhs.senderEmailAddress))
-      return false;
-    return true;
-  }
-  bool operator != (const EmailMonitorProperty &rhs) const {
-    return !(*this == rhs);
-  }
-
-  bool operator < (const EmailMonitorProperty & ) const;
-
-  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
-  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
-
-};
-
-void swap(EmailMonitorProperty &a, EmailMonitorProperty &b);
-
 typedef struct _SCPDataMovement__isset {
   _SCPDataMovement__isset() : alternativeSCPHostName(false), sshPort(true) {}
   bool alternativeSCPHostName;
@@ -654,18 +573,17 @@ class LOCALDataMovement {
 void swap(LOCALDataMovement &a, LOCALDataMovement &b);
 
 typedef struct _SSHJobSubmission__isset {
-  _SSHJobSubmission__isset() : alternativeSSHHostName(false), sshPort(true), monitorMode(false), emailMonitorProperty(false) {}
+  _SSHJobSubmission__isset() : alternativeSSHHostName(false), sshPort(true), monitorMode(false) {}
   bool alternativeSSHHostName;
   bool sshPort;
   bool monitorMode;
-  bool emailMonitorProperty;
 } _SSHJobSubmission__isset;
 
 class SSHJobSubmission {
  public:
 
-  static const char* ascii_fingerprint; // = "200BDE51156682BAC37E8B5DAD03D6D3";
-  static const uint8_t binary_fingerprint[16]; // = {0x20,0x0B,0xDE,0x51,0x15,0x66,0x82,0xBA,0xC3,0x7E,0x8B,0x5D,0xAD,0x03,0xD6,0xD3};
+  static const char* ascii_fingerprint; // = "A62183DAA7AFF027173705420A9D99D0";
+  static const uint8_t binary_fingerprint[16]; // = {0xA6,0x21,0x83,0xDA,0xA7,0xAF,0xF0,0x27,0x17,0x37,0x05,0x42,0x0A,0x9D,0x99,0xD0};
 
   SSHJobSubmission() : jobSubmissionInterfaceId("DO_NOT_SET_AT_CLIENTS"), securityProtocol((SecurityProtocol::type)0), alternativeSSHHostName(), sshPort(22), monitorMode((MonitorMode::type)0) {
   }
@@ -678,7 +596,6 @@ class SSHJobSubmission {
   std::string alternativeSSHHostName;
   int32_t sshPort;
   MonitorMode::type monitorMode;
-  EmailMonitorProperty emailMonitorProperty;
 
   _SSHJobSubmission__isset __isset;
 
@@ -709,11 +626,6 @@ class SSHJobSubmission {
     __isset.monitorMode = true;
   }
 
-  void __set_emailMonitorProperty(const EmailMonitorProperty& val) {
-    emailMonitorProperty = val;
-    __isset.emailMonitorProperty = true;
-  }
-
   bool operator == (const SSHJobSubmission & rhs) const
   {
     if (!(jobSubmissionInterfaceId == rhs.jobSubmissionInterfaceId))
@@ -734,10 +646,6 @@ class SSHJobSubmission {
       return false;
     else if (__isset.monitorMode && !(monitorMode == rhs.monitorMode))
       return false;
-    if (__isset.emailMonitorProperty != rhs.__isset.emailMonitorProperty)
-      return false;
-    else if (__isset.emailMonitorProperty && !(emailMonitorProperty == rhs.emailMonitorProperty))
-      return false;
     return true;
   }
   bool operator != (const SSHJobSubmission &rhs) const {

http://git-wip-us.apache.org/repos/asf/airavata/blob/35e0af8b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
index 12cb55c..be0f776 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/AppCatalog/ComputeResource/Types.php
@@ -107,15 +107,6 @@ final class MonitorMode {
   );
 }
 
-final class EmailProtocol {
-  const POP3 = 0;
-  const IMAPS = 1;
-  static public $__names = array(
-    0 => 'POP3',
-    1 => 'IMAPS',
-  );
-}
-
 final class DataMovementProtocol {
   const LOCAL = 0;
   const SCP = 1;
@@ -520,178 +511,6 @@ class BatchQueue {
 
 }
 
-class EmailMonitorProperty {
-  static $_TSPEC;
-
-  public $host = null;
-  public $emailAddress = null;
-  public $password = null;
-  public $folderName = "INBOX";
-  public $storeProtocol = null;
-  public $senderEmailAddress = null;
-
-  public function __construct($vals=null) {
-    if (!isset(self::$_TSPEC)) {
-      self::$_TSPEC = array(
-        1 => array(
-          'var' => 'host',
-          'type' => TType::STRING,
-          ),
-        2 => array(
-          'var' => 'emailAddress',
-          'type' => TType::STRING,
-          ),
-        3 => array(
-          'var' => 'password',
-          'type' => TType::STRING,
-          ),
-        4 => array(
-          'var' => 'folderName',
-          'type' => TType::STRING,
-          ),
-        5 => array(
-          'var' => 'storeProtocol',
-          'type' => TType::I32,
-          ),
-        6 => array(
-          'var' => 'senderEmailAddress',
-          'type' => TType::STRING,
-          ),
-        );
-    }
-    if (is_array($vals)) {
-      if (isset($vals['host'])) {
-        $this->host = $vals['host'];
-      }
-      if (isset($vals['emailAddress'])) {
-        $this->emailAddress = $vals['emailAddress'];
-      }
-      if (isset($vals['password'])) {
-        $this->password = $vals['password'];
-      }
-      if (isset($vals['folderName'])) {
-        $this->folderName = $vals['folderName'];
-      }
-      if (isset($vals['storeProtocol'])) {
-        $this->storeProtocol = $vals['storeProtocol'];
-      }
-      if (isset($vals['senderEmailAddress'])) {
-        $this->senderEmailAddress = $vals['senderEmailAddress'];
-      }
-    }
-  }
-
-  public function getName() {
-    return 'EmailMonitorProperty';
-  }
-
-  public function read($input)
-  {
-    $xfer = 0;
-    $fname = null;
-    $ftype = 0;
-    $fid = 0;
-    $xfer += $input->readStructBegin($fname);
-    while (true)
-    {
-      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
-      if ($ftype == TType::STOP) {
-        break;
-      }
-      switch ($fid)
-      {
-        case 1:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->host);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 2:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->emailAddress);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 3:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->password);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 4:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->folderName);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 5:
-          if ($ftype == TType::I32) {
-            $xfer += $input->readI32($this->storeProtocol);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        case 6:
-          if ($ftype == TType::STRING) {
-            $xfer += $input->readString($this->senderEmailAddress);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
-        default:
-          $xfer += $input->skip($ftype);
-          break;
-      }
-      $xfer += $input->readFieldEnd();
-    }
-    $xfer += $input->readStructEnd();
-    return $xfer;
-  }
-
-  public function write($output) {
-    $xfer = 0;
-    $xfer += $output->writeStructBegin('EmailMonitorProperty');
-    if ($this->host !== null) {
-      $xfer += $output->writeFieldBegin('host', TType::STRING, 1);
-      $xfer += $output->writeString($this->host);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->emailAddress !== null) {
-      $xfer += $output->writeFieldBegin('emailAddress', TType::STRING, 2);
-      $xfer += $output->writeString($this->emailAddress);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->password !== null) {
-      $xfer += $output->writeFieldBegin('password', TType::STRING, 3);
-      $xfer += $output->writeString($this->password);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->folderName !== null) {
-      $xfer += $output->writeFieldBegin('folderName', TType::STRING, 4);
-      $xfer += $output->writeString($this->folderName);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->storeProtocol !== null) {
-      $xfer += $output->writeFieldBegin('storeProtocol', TType::I32, 5);
-      $xfer += $output->writeI32($this->storeProtocol);
-      $xfer += $output->writeFieldEnd();
-    }
-    if ($this->senderEmailAddress !== null) {
-      $xfer += $output->writeFieldBegin('senderEmailAddress', TType::STRING, 6);
-      $xfer += $output->writeString($this->senderEmailAddress);
-      $xfer += $output->writeFieldEnd();
-    }
-    $xfer += $output->writeFieldStop();
-    $xfer += $output->writeStructEnd();
-    return $xfer;
-  }
-
-}
-
 class SCPDataMovement {
   static $_TSPEC;
 
@@ -1252,7 +1071,6 @@ class SSHJobSubmission {
   public $alternativeSSHHostName = null;
   public $sshPort = 22;
   public $monitorMode = null;
-  public $emailMonitorProperty = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -1282,11 +1100,6 @@ class SSHJobSubmission {
           'var' => 'monitorMode',
           'type' => TType::I32,
           ),
-        7 => array(
-          'var' => 'emailMonitorProperty',
-          'type' => TType::STRUCT,
-          'class' => '\Airavata\Model\AppCatalog\ComputeResource\EmailMonitorProperty',
-          ),
         );
     }
     if (is_array($vals)) {
@@ -1308,9 +1121,6 @@ class SSHJobSubmission {
       if (isset($vals['monitorMode'])) {
         $this->monitorMode = $vals['monitorMode'];
       }
-      if (isset($vals['emailMonitorProperty'])) {
-        $this->emailMonitorProperty = $vals['emailMonitorProperty'];
-      }
     }
   }
 
@@ -1376,14 +1186,6 @@ class SSHJobSubmission {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 7:
-          if ($ftype == TType::STRUCT) {
-            $this->emailMonitorProperty = new \Airavata\Model\AppCatalog\ComputeResource\EmailMonitorProperty();
-            $xfer += $this->emailMonitorProperty->read($input);
-          } else {
-            $xfer += $input->skip($ftype);
-          }
-          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -1430,14 +1232,6 @@ class SSHJobSubmission {
       $xfer += $output->writeI32($this->monitorMode);
       $xfer += $output->writeFieldEnd();
     }
-    if ($this->emailMonitorProperty !== null) {
-      if (!is_object($this->emailMonitorProperty)) {
-        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
-      }
-      $xfer += $output->writeFieldBegin('emailMonitorProperty', TType::STRUCT, 7);
-      $xfer += $this->emailMonitorProperty->write($output);
-      $xfer += $output->writeFieldEnd();
-    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;

http://git-wip-us.apache.org/repos/asf/airavata/blob/35e0af8b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py
index 6ec4a13..1cb1b03 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/appcatalog/computeresource/ttypes.py
@@ -252,24 +252,6 @@ class MonitorMode:
     "XSEDE_AMQP_SUBSCRIBE": 2,
   }
 
-class EmailProtocol:
-  """
-  Email protocol
-
-  """
-  POP3 = 0
-  IMAPS = 1
-
-  _VALUES_TO_NAMES = {
-    0: "POP3",
-    1: "IMAPS",
-  }
-
-  _NAMES_TO_VALUES = {
-    "POP3": 0,
-    "IMAPS": 1,
-  }
-
 class DataMovementProtocol:
   """
   Enumeration of data movement supported by Airavata
@@ -608,147 +590,6 @@ class BatchQueue:
   def __ne__(self, other):
     return not (self == other)
 
-class EmailMonitorProperty:
-  """
-  Email Monitoring Properties
-
-  host : email host address
-  emailAddress : address which should get email notification
-  password : password to access email address
-  folderName : email folder name default is INBOX
-  storeProtocol : type of store protocol
-
-
-  Attributes:
-   - host
-   - emailAddress
-   - password
-   - folderName
-   - storeProtocol
-   - senderEmailAddress
-  """
-
-  thrift_spec = (
-    None, # 0
-    (1, TType.STRING, 'host', None, None, ), # 1
-    (2, TType.STRING, 'emailAddress', None, None, ), # 2
-    (3, TType.STRING, 'password', None, None, ), # 3
-    (4, TType.STRING, 'folderName', None, "INBOX", ), # 4
-    (5, TType.I32, 'storeProtocol', None, None, ), # 5
-    (6, TType.STRING, 'senderEmailAddress', None, None, ), # 6
-  )
-
-  def __init__(self, host=None, emailAddress=None, password=None, folderName=thrift_spec[4][4], storeProtocol=None, senderEmailAddress=None,):
-    self.host = host
-    self.emailAddress = emailAddress
-    self.password = password
-    self.folderName = folderName
-    self.storeProtocol = storeProtocol
-    self.senderEmailAddress = senderEmailAddress
-
-  def read(self, iprot):
-    if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
-      fastbinary.decode_binary(self, iprot.trans, (self.__class__, self.thrift_spec))
-      return
-    iprot.readStructBegin()
-    while True:
-      (fname, ftype, fid) = iprot.readFieldBegin()
-      if ftype == TType.STOP:
-        break
-      if fid == 1:
-        if ftype == TType.STRING:
-          self.host = iprot.readString();
-        else:
-          iprot.skip(ftype)
-      elif fid == 2:
-        if ftype == TType.STRING:
-          self.emailAddress = iprot.readString();
-        else:
-          iprot.skip(ftype)
-      elif fid == 3:
-        if ftype == TType.STRING:
-          self.password = iprot.readString();
-        else:
-          iprot.skip(ftype)
-      elif fid == 4:
-        if ftype == TType.STRING:
-          self.folderName = iprot.readString();
-        else:
-          iprot.skip(ftype)
-      elif fid == 5:
-        if ftype == TType.I32:
-          self.storeProtocol = iprot.readI32();
-        else:
-          iprot.skip(ftype)
-      elif fid == 6:
-        if ftype == TType.STRING:
-          self.senderEmailAddress = iprot.readString();
-        else:
-          iprot.skip(ftype)
-      else:
-        iprot.skip(ftype)
-      iprot.readFieldEnd()
-    iprot.readStructEnd()
-
-  def write(self, oprot):
-    if oprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and self.thrift_spec is not None and fastbinary is not None:
-      oprot.trans.write(fastbinary.encode_binary(self, (self.__class__, self.thrift_spec)))
-      return
-    oprot.writeStructBegin('EmailMonitorProperty')
-    if self.host is not None:
-      oprot.writeFieldBegin('host', TType.STRING, 1)
-      oprot.writeString(self.host)
-      oprot.writeFieldEnd()
-    if self.emailAddress is not None:
-      oprot.writeFieldBegin('emailAddress', TType.STRING, 2)
-      oprot.writeString(self.emailAddress)
-      oprot.writeFieldEnd()
-    if self.password is not None:
-      oprot.writeFieldBegin('password', TType.STRING, 3)
-      oprot.writeString(self.password)
-      oprot.writeFieldEnd()
-    if self.folderName is not None:
-      oprot.writeFieldBegin('folderName', TType.STRING, 4)
-      oprot.writeString(self.folderName)
-      oprot.writeFieldEnd()
-    if self.storeProtocol is not None:
-      oprot.writeFieldBegin('storeProtocol', TType.I32, 5)
-      oprot.writeI32(self.storeProtocol)
-      oprot.writeFieldEnd()
-    if self.senderEmailAddress is not None:
-      oprot.writeFieldBegin('senderEmailAddress', TType.STRING, 6)
-      oprot.writeString(self.senderEmailAddress)
-      oprot.writeFieldEnd()
-    oprot.writeFieldStop()
-    oprot.writeStructEnd()
-
-  def validate(self):
-    if self.host is None:
-      raise TProtocol.TProtocolException(message='Required field host is unset!')
-    if self.emailAddress is None:
-      raise TProtocol.TProtocolException(message='Required field emailAddress is unset!')
-    if self.password is None:
-      raise TProtocol.TProtocolException(message='Required field password is unset!')
-    if self.folderName is None:
-      raise TProtocol.TProtocolException(message='Required field folderName is unset!')
-    if self.storeProtocol is None:
-      raise TProtocol.TProtocolException(message='Required field storeProtocol is unset!')
-    if self.senderEmailAddress is None:
-      raise TProtocol.TProtocolException(message='Required field senderEmailAddress is unset!')
-    return
-
-
-  def __repr__(self):
-    L = ['%s=%r' % (key, value)
-      for key, value in self.__dict__.iteritems()]
-    return '%s(%s)' % (self.__class__.__name__, ', '.join(L))
-
-  def __eq__(self, other):
-    return isinstance(other, self.__class__) and self.__dict__ == other.__dict__
-
-  def __ne__(self, other):
-    return not (self == other)
-
 class SCPDataMovement:
   """
   Data Movement through Secured Copy
@@ -1230,7 +1071,6 @@ class SSHJobSubmission:
    - alternativeSSHHostName
    - sshPort
    - monitorMode
-   - emailMonitorProperty
   """
 
   thrift_spec = (
@@ -1241,17 +1081,15 @@ class SSHJobSubmission:
     (4, TType.STRING, 'alternativeSSHHostName', None, None, ), # 4
     (5, TType.I32, 'sshPort', None, 22, ), # 5
     (6, TType.I32, 'monitorMode', None, None, ), # 6
-    (7, TType.STRUCT, 'emailMonitorProperty', (EmailMonitorProperty, EmailMonitorProperty.thrift_spec), None, ), # 7
   )
 
-  def __init__(self, jobSubmissionInterfaceId=thrift_spec[1][4], securityProtocol=None, resourceJobManager=None, alternativeSSHHostName=None, sshPort=thrift_spec[5][4], monitorMode=None, emailMonitorProperty=None,):
+  def __init__(self, jobSubmissionInterfaceId=thrift_spec[1][4], securityProtocol=None, resourceJobManager=None, alternativeSSHHostName=None, sshPort=thrift_spec[5][4], monitorMode=None,):
     self.jobSubmissionInterfaceId = jobSubmissionInterfaceId
     self.securityProtocol = securityProtocol
     self.resourceJobManager = resourceJobManager
     self.alternativeSSHHostName = alternativeSSHHostName
     self.sshPort = sshPort
     self.monitorMode = monitorMode
-    self.emailMonitorProperty = emailMonitorProperty
 
   def read(self, iprot):
     if iprot.__class__ == TBinaryProtocol.TBinaryProtocolAccelerated and isinstance(iprot.trans, TTransport.CReadableTransport) and self.thrift_spec is not None and fastbinary is not None:
@@ -1293,12 +1131,6 @@ class SSHJobSubmission:
           self.monitorMode = iprot.readI32();
         else:
           iprot.skip(ftype)
-      elif fid == 7:
-        if ftype == TType.STRUCT:
-          self.emailMonitorProperty = EmailMonitorProperty()
-          self.emailMonitorProperty.read(iprot)
-        else:
-          iprot.skip(ftype)
       else:
         iprot.skip(ftype)
       iprot.readFieldEnd()
@@ -1333,10 +1165,6 @@ class SSHJobSubmission:
       oprot.writeFieldBegin('monitorMode', TType.I32, 6)
       oprot.writeI32(self.monitorMode)
       oprot.writeFieldEnd()
-    if self.emailMonitorProperty is not None:
-      oprot.writeFieldBegin('emailMonitorProperty', TType.STRUCT, 7)
-      self.emailMonitorProperty.write(oprot)
-      oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/35e0af8b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/EmailMonitorProperty.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/EmailMonitorProperty.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/EmailMonitorProperty.java
deleted file mode 100644
index ea3b049..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/EmailMonitorProperty.java
+++ /dev/null
@@ -1,901 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.model.appcatalog.computeresource;
-
-import org.apache.thrift.scheme.IScheme;
-import org.apache.thrift.scheme.SchemeFactory;
-import org.apache.thrift.scheme.StandardScheme;
-
-import org.apache.thrift.scheme.TupleScheme;
-import org.apache.thrift.protocol.TTupleProtocol;
-import org.apache.thrift.protocol.TProtocolException;
-import org.apache.thrift.EncodingUtils;
-import org.apache.thrift.TException;
-import org.apache.thrift.async.AsyncMethodCallback;
-import org.apache.thrift.server.AbstractNonblockingServer.*;
-import java.util.List;
-import java.util.ArrayList;
-import java.util.Map;
-import java.util.HashMap;
-import java.util.EnumMap;
-import java.util.Set;
-import java.util.HashSet;
-import java.util.EnumSet;
-import java.util.Collections;
-import java.util.BitSet;
-import java.nio.ByteBuffer;
-import java.util.Arrays;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Email Monitoring Properties
- * 
- * host : email host address
- * emailAddress : address which should get email notification
- * password : password to access email address
- * folderName : email folder name default is INBOX
- * storeProtocol : type of store protocol
- * 
- */
-@SuppressWarnings("all") public class EmailMonitorProperty implements org.apache.thrift.TBase<EmailMonitorProperty, EmailMonitorProperty._Fields>, java.io.Serializable, Cloneable, Comparable<EmailMonitorProperty> {
-  private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("EmailMonitorProperty");
-
-  private static final org.apache.thrift.protocol.TField HOST_FIELD_DESC = new org.apache.thrift.protocol.TField("host", org.apache.thrift.protocol.TType.STRING, (short)1);
-  private static final org.apache.thrift.protocol.TField EMAIL_ADDRESS_FIELD_DESC = new org.apache.thrift.protocol.TField("emailAddress", org.apache.thrift.protocol.TType.STRING, (short)2);
-  private static final org.apache.thrift.protocol.TField PASSWORD_FIELD_DESC = new org.apache.thrift.protocol.TField("password", org.apache.thrift.protocol.TType.STRING, (short)3);
-  private static final org.apache.thrift.protocol.TField FOLDER_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("folderName", org.apache.thrift.protocol.TType.STRING, (short)4);
-  private static final org.apache.thrift.protocol.TField STORE_PROTOCOL_FIELD_DESC = new org.apache.thrift.protocol.TField("storeProtocol", org.apache.thrift.protocol.TType.I32, (short)5);
-  private static final org.apache.thrift.protocol.TField SENDER_EMAIL_ADDRESS_FIELD_DESC = new org.apache.thrift.protocol.TField("senderEmailAddress", org.apache.thrift.protocol.TType.STRING, (short)6);
-
-  private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
-  static {
-    schemes.put(StandardScheme.class, new EmailMonitorPropertyStandardSchemeFactory());
-    schemes.put(TupleScheme.class, new EmailMonitorPropertyTupleSchemeFactory());
-  }
-
-  private String host; // required
-  private String emailAddress; // required
-  private String password; // required
-  private String folderName; // required
-  private EmailProtocol storeProtocol; // required
-  private String senderEmailAddress; // required
-
-  /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
-  @SuppressWarnings("all") public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-    HOST((short)1, "host"),
-    EMAIL_ADDRESS((short)2, "emailAddress"),
-    PASSWORD((short)3, "password"),
-    FOLDER_NAME((short)4, "folderName"),
-    /**
-     * 
-     * @see EmailProtocol
-     */
-    STORE_PROTOCOL((short)5, "storeProtocol"),
-    SENDER_EMAIL_ADDRESS((short)6, "senderEmailAddress");
-
-    private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
-
-    static {
-      for (_Fields field : EnumSet.allOf(_Fields.class)) {
-        byName.put(field.getFieldName(), field);
-      }
-    }
-
-    /**
-     * Find the _Fields constant that matches fieldId, or null if its not found.
-     */
-    public static _Fields findByThriftId(int fieldId) {
-      switch(fieldId) {
-        case 1: // HOST
-          return HOST;
-        case 2: // EMAIL_ADDRESS
-          return EMAIL_ADDRESS;
-        case 3: // PASSWORD
-          return PASSWORD;
-        case 4: // FOLDER_NAME
-          return FOLDER_NAME;
-        case 5: // STORE_PROTOCOL
-          return STORE_PROTOCOL;
-        case 6: // SENDER_EMAIL_ADDRESS
-          return SENDER_EMAIL_ADDRESS;
-        default:
-          return null;
-      }
-    }
-
-    /**
-     * Find the _Fields constant that matches fieldId, throwing an exception
-     * if it is not found.
-     */
-    public static _Fields findByThriftIdOrThrow(int fieldId) {
-      _Fields fields = findByThriftId(fieldId);
-      if (fields == null) throw new IllegalArgumentException("Field " + fieldId + " doesn't exist!");
-      return fields;
-    }
-
-    /**
-     * Find the _Fields constant that matches name, or null if its not found.
-     */
-    public static _Fields findByName(String name) {
-      return byName.get(name);
-    }
-
-    private final short _thriftId;
-    private final String _fieldName;
-
-    _Fields(short thriftId, String fieldName) {
-      _thriftId = thriftId;
-      _fieldName = fieldName;
-    }
-
-    public short getThriftFieldId() {
-      return _thriftId;
-    }
-
-    public String getFieldName() {
-      return _fieldName;
-    }
-  }
-
-  // isset id assignments
-  public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-  static {
-    Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-    tmpMap.put(_Fields.HOST, new org.apache.thrift.meta_data.FieldMetaData("host", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.EMAIL_ADDRESS, new org.apache.thrift.meta_data.FieldMetaData("emailAddress", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.PASSWORD, new org.apache.thrift.meta_data.FieldMetaData("password", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.FOLDER_NAME, new org.apache.thrift.meta_data.FieldMetaData("folderName", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    tmpMap.put(_Fields.STORE_PROTOCOL, new org.apache.thrift.meta_data.FieldMetaData("storeProtocol", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-        new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, EmailProtocol.class)));
-    tmpMap.put(_Fields.SENDER_EMAIL_ADDRESS, new org.apache.thrift.meta_data.FieldMetaData("senderEmailAddress", org.apache.thrift.TFieldRequirementType.REQUIRED, 
-        new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-    metaDataMap = Collections.unmodifiableMap(tmpMap);
-    org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(EmailMonitorProperty.class, metaDataMap);
-  }
-
-  public EmailMonitorProperty() {
-    this.folderName = "INBOX";
-
-  }
-
-  public EmailMonitorProperty(
-    String host,
-    String emailAddress,
-    String password,
-    String folderName,
-    EmailProtocol storeProtocol,
-    String senderEmailAddress)
-  {
-    this();
-    this.host = host;
-    this.emailAddress = emailAddress;
-    this.password = password;
-    this.folderName = folderName;
-    this.storeProtocol = storeProtocol;
-    this.senderEmailAddress = senderEmailAddress;
-  }
-
-  /**
-   * Performs a deep copy on <i>other</i>.
-   */
-  public EmailMonitorProperty(EmailMonitorProperty other) {
-    if (other.isSetHost()) {
-      this.host = other.host;
-    }
-    if (other.isSetEmailAddress()) {
-      this.emailAddress = other.emailAddress;
-    }
-    if (other.isSetPassword()) {
-      this.password = other.password;
-    }
-    if (other.isSetFolderName()) {
-      this.folderName = other.folderName;
-    }
-    if (other.isSetStoreProtocol()) {
-      this.storeProtocol = other.storeProtocol;
-    }
-    if (other.isSetSenderEmailAddress()) {
-      this.senderEmailAddress = other.senderEmailAddress;
-    }
-  }
-
-  public EmailMonitorProperty deepCopy() {
-    return new EmailMonitorProperty(this);
-  }
-
-  @Override
-  public void clear() {
-    this.host = null;
-    this.emailAddress = null;
-    this.password = null;
-    this.folderName = "INBOX";
-
-    this.storeProtocol = null;
-    this.senderEmailAddress = null;
-  }
-
-  public String getHost() {
-    return this.host;
-  }
-
-  public void setHost(String host) {
-    this.host = host;
-  }
-
-  public void unsetHost() {
-    this.host = null;
-  }
-
-  /** Returns true if field host is set (has been assigned a value) and false otherwise */
-  public boolean isSetHost() {
-    return this.host != null;
-  }
-
-  public void setHostIsSet(boolean value) {
-    if (!value) {
-      this.host = null;
-    }
-  }
-
-  public String getEmailAddress() {
-    return this.emailAddress;
-  }
-
-  public void setEmailAddress(String emailAddress) {
-    this.emailAddress = emailAddress;
-  }
-
-  public void unsetEmailAddress() {
-    this.emailAddress = null;
-  }
-
-  /** Returns true if field emailAddress is set (has been assigned a value) and false otherwise */
-  public boolean isSetEmailAddress() {
-    return this.emailAddress != null;
-  }
-
-  public void setEmailAddressIsSet(boolean value) {
-    if (!value) {
-      this.emailAddress = null;
-    }
-  }
-
-  public String getPassword() {
-    return this.password;
-  }
-
-  public void setPassword(String password) {
-    this.password = password;
-  }
-
-  public void unsetPassword() {
-    this.password = null;
-  }
-
-  /** Returns true if field password is set (has been assigned a value) and false otherwise */
-  public boolean isSetPassword() {
-    return this.password != null;
-  }
-
-  public void setPasswordIsSet(boolean value) {
-    if (!value) {
-      this.password = null;
-    }
-  }
-
-  public String getFolderName() {
-    return this.folderName;
-  }
-
-  public void setFolderName(String folderName) {
-    this.folderName = folderName;
-  }
-
-  public void unsetFolderName() {
-    this.folderName = null;
-  }
-
-  /** Returns true if field folderName is set (has been assigned a value) and false otherwise */
-  public boolean isSetFolderName() {
-    return this.folderName != null;
-  }
-
-  public void setFolderNameIsSet(boolean value) {
-    if (!value) {
-      this.folderName = null;
-    }
-  }
-
-  /**
-   * 
-   * @see EmailProtocol
-   */
-  public EmailProtocol getStoreProtocol() {
-    return this.storeProtocol;
-  }
-
-  /**
-   * 
-   * @see EmailProtocol
-   */
-  public void setStoreProtocol(EmailProtocol storeProtocol) {
-    this.storeProtocol = storeProtocol;
-  }
-
-  public void unsetStoreProtocol() {
-    this.storeProtocol = null;
-  }
-
-  /** Returns true if field storeProtocol is set (has been assigned a value) and false otherwise */
-  public boolean isSetStoreProtocol() {
-    return this.storeProtocol != null;
-  }
-
-  public void setStoreProtocolIsSet(boolean value) {
-    if (!value) {
-      this.storeProtocol = null;
-    }
-  }
-
-  public String getSenderEmailAddress() {
-    return this.senderEmailAddress;
-  }
-
-  public void setSenderEmailAddress(String senderEmailAddress) {
-    this.senderEmailAddress = senderEmailAddress;
-  }
-
-  public void unsetSenderEmailAddress() {
-    this.senderEmailAddress = null;
-  }
-
-  /** Returns true if field senderEmailAddress is set (has been assigned a value) and false otherwise */
-  public boolean isSetSenderEmailAddress() {
-    return this.senderEmailAddress != null;
-  }
-
-  public void setSenderEmailAddressIsSet(boolean value) {
-    if (!value) {
-      this.senderEmailAddress = null;
-    }
-  }
-
-  public void setFieldValue(_Fields field, Object value) {
-    switch (field) {
-    case HOST:
-      if (value == null) {
-        unsetHost();
-      } else {
-        setHost((String)value);
-      }
-      break;
-
-    case EMAIL_ADDRESS:
-      if (value == null) {
-        unsetEmailAddress();
-      } else {
-        setEmailAddress((String)value);
-      }
-      break;
-
-    case PASSWORD:
-      if (value == null) {
-        unsetPassword();
-      } else {
-        setPassword((String)value);
-      }
-      break;
-
-    case FOLDER_NAME:
-      if (value == null) {
-        unsetFolderName();
-      } else {
-        setFolderName((String)value);
-      }
-      break;
-
-    case STORE_PROTOCOL:
-      if (value == null) {
-        unsetStoreProtocol();
-      } else {
-        setStoreProtocol((EmailProtocol)value);
-      }
-      break;
-
-    case SENDER_EMAIL_ADDRESS:
-      if (value == null) {
-        unsetSenderEmailAddress();
-      } else {
-        setSenderEmailAddress((String)value);
-      }
-      break;
-
-    }
-  }
-
-  public Object getFieldValue(_Fields field) {
-    switch (field) {
-    case HOST:
-      return getHost();
-
-    case EMAIL_ADDRESS:
-      return getEmailAddress();
-
-    case PASSWORD:
-      return getPassword();
-
-    case FOLDER_NAME:
-      return getFolderName();
-
-    case STORE_PROTOCOL:
-      return getStoreProtocol();
-
-    case SENDER_EMAIL_ADDRESS:
-      return getSenderEmailAddress();
-
-    }
-    throw new IllegalStateException();
-  }
-
-  /** Returns true if field corresponding to fieldID is set (has been assigned a value) and false otherwise */
-  public boolean isSet(_Fields field) {
-    if (field == null) {
-      throw new IllegalArgumentException();
-    }
-
-    switch (field) {
-    case HOST:
-      return isSetHost();
-    case EMAIL_ADDRESS:
-      return isSetEmailAddress();
-    case PASSWORD:
-      return isSetPassword();
-    case FOLDER_NAME:
-      return isSetFolderName();
-    case STORE_PROTOCOL:
-      return isSetStoreProtocol();
-    case SENDER_EMAIL_ADDRESS:
-      return isSetSenderEmailAddress();
-    }
-    throw new IllegalStateException();
-  }
-
-  @Override
-  public boolean equals(Object that) {
-    if (that == null)
-      return false;
-    if (that instanceof EmailMonitorProperty)
-      return this.equals((EmailMonitorProperty)that);
-    return false;
-  }
-
-  public boolean equals(EmailMonitorProperty that) {
-    if (that == null)
-      return false;
-
-    boolean this_present_host = true && this.isSetHost();
-    boolean that_present_host = true && that.isSetHost();
-    if (this_present_host || that_present_host) {
-      if (!(this_present_host && that_present_host))
-        return false;
-      if (!this.host.equals(that.host))
-        return false;
-    }
-
-    boolean this_present_emailAddress = true && this.isSetEmailAddress();
-    boolean that_present_emailAddress = true && that.isSetEmailAddress();
-    if (this_present_emailAddress || that_present_emailAddress) {
-      if (!(this_present_emailAddress && that_present_emailAddress))
-        return false;
-      if (!this.emailAddress.equals(that.emailAddress))
-        return false;
-    }
-
-    boolean this_present_password = true && this.isSetPassword();
-    boolean that_present_password = true && that.isSetPassword();
-    if (this_present_password || that_present_password) {
-      if (!(this_present_password && that_present_password))
-        return false;
-      if (!this.password.equals(that.password))
-        return false;
-    }
-
-    boolean this_present_folderName = true && this.isSetFolderName();
-    boolean that_present_folderName = true && that.isSetFolderName();
-    if (this_present_folderName || that_present_folderName) {
-      if (!(this_present_folderName && that_present_folderName))
-        return false;
-      if (!this.folderName.equals(that.folderName))
-        return false;
-    }
-
-    boolean this_present_storeProtocol = true && this.isSetStoreProtocol();
-    boolean that_present_storeProtocol = true && that.isSetStoreProtocol();
-    if (this_present_storeProtocol || that_present_storeProtocol) {
-      if (!(this_present_storeProtocol && that_present_storeProtocol))
-        return false;
-      if (!this.storeProtocol.equals(that.storeProtocol))
-        return false;
-    }
-
-    boolean this_present_senderEmailAddress = true && this.isSetSenderEmailAddress();
-    boolean that_present_senderEmailAddress = true && that.isSetSenderEmailAddress();
-    if (this_present_senderEmailAddress || that_present_senderEmailAddress) {
-      if (!(this_present_senderEmailAddress && that_present_senderEmailAddress))
-        return false;
-      if (!this.senderEmailAddress.equals(that.senderEmailAddress))
-        return false;
-    }
-
-    return true;
-  }
-
-  @Override
-  public int hashCode() {
-    return 0;
-  }
-
-  @Override
-  public int compareTo(EmailMonitorProperty other) {
-    if (!getClass().equals(other.getClass())) {
-      return getClass().getName().compareTo(other.getClass().getName());
-    }
-
-    int lastComparison = 0;
-
-    lastComparison = Boolean.valueOf(isSetHost()).compareTo(other.isSetHost());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetHost()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.host, other.host);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetEmailAddress()).compareTo(other.isSetEmailAddress());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetEmailAddress()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.emailAddress, other.emailAddress);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetPassword()).compareTo(other.isSetPassword());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetPassword()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.password, other.password);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetFolderName()).compareTo(other.isSetFolderName());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetFolderName()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.folderName, other.folderName);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetStoreProtocol()).compareTo(other.isSetStoreProtocol());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetStoreProtocol()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.storeProtocol, other.storeProtocol);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    lastComparison = Boolean.valueOf(isSetSenderEmailAddress()).compareTo(other.isSetSenderEmailAddress());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetSenderEmailAddress()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.senderEmailAddress, other.senderEmailAddress);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
-    return 0;
-  }
-
-  public _Fields fieldForId(int fieldId) {
-    return _Fields.findByThriftId(fieldId);
-  }
-
-  public void read(org.apache.thrift.protocol.TProtocol iprot) throws org.apache.thrift.TException {
-    schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
-  }
-
-  public void write(org.apache.thrift.protocol.TProtocol oprot) throws org.apache.thrift.TException {
-    schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
-  }
-
-  @Override
-  public String toString() {
-    StringBuilder sb = new StringBuilder("EmailMonitorProperty(");
-    boolean first = true;
-
-    sb.append("host:");
-    if (this.host == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.host);
-    }
-    first = false;
-    if (!first) sb.append(", ");
-    sb.append("emailAddress:");
-    if (this.emailAddress == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.emailAddress);
-    }
-    first = false;
-    if (!first) sb.append(", ");
-    sb.append("password:");
-    if (this.password == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.password);
-    }
-    first = false;
-    if (!first) sb.append(", ");
-    sb.append("folderName:");
-    if (this.folderName == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.folderName);
-    }
-    first = false;
-    if (!first) sb.append(", ");
-    sb.append("storeProtocol:");
-    if (this.storeProtocol == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.storeProtocol);
-    }
-    first = false;
-    if (!first) sb.append(", ");
-    sb.append("senderEmailAddress:");
-    if (this.senderEmailAddress == null) {
-      sb.append("null");
-    } else {
-      sb.append(this.senderEmailAddress);
-    }
-    first = false;
-    sb.append(")");
-    return sb.toString();
-  }
-
-  public void validate() throws org.apache.thrift.TException {
-    // check for required fields
-    if (!isSetHost()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'host' is unset! Struct:" + toString());
-    }
-
-    if (!isSetEmailAddress()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'emailAddress' is unset! Struct:" + toString());
-    }
-
-    if (!isSetPassword()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'password' is unset! Struct:" + toString());
-    }
-
-    if (!isSetFolderName()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'folderName' is unset! Struct:" + toString());
-    }
-
-    if (!isSetStoreProtocol()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'storeProtocol' is unset! Struct:" + toString());
-    }
-
-    if (!isSetSenderEmailAddress()) {
-      throw new org.apache.thrift.protocol.TProtocolException("Required field 'senderEmailAddress' is unset! Struct:" + toString());
-    }
-
-    // check for sub-struct validity
-  }
-
-  private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
-    try {
-      write(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(out)));
-    } catch (org.apache.thrift.TException te) {
-      throw new java.io.IOException(te);
-    }
-  }
-
-  private void readObject(java.io.ObjectInputStream in) throws java.io.IOException, ClassNotFoundException {
-    try {
-      read(new org.apache.thrift.protocol.TCompactProtocol(new org.apache.thrift.transport.TIOStreamTransport(in)));
-    } catch (org.apache.thrift.TException te) {
-      throw new java.io.IOException(te);
-    }
-  }
-
-  private static class EmailMonitorPropertyStandardSchemeFactory implements SchemeFactory {
-    public EmailMonitorPropertyStandardScheme getScheme() {
-      return new EmailMonitorPropertyStandardScheme();
-    }
-  }
-
-  private static class EmailMonitorPropertyStandardScheme extends StandardScheme<EmailMonitorProperty> {
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot, EmailMonitorProperty struct) throws org.apache.thrift.TException {
-      org.apache.thrift.protocol.TField schemeField;
-      iprot.readStructBegin();
-      while (true)
-      {
-        schemeField = iprot.readFieldBegin();
-        if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-          break;
-        }
-        switch (schemeField.id) {
-          case 1: // HOST
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.host = iprot.readString();
-              struct.setHostIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 2: // EMAIL_ADDRESS
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.emailAddress = iprot.readString();
-              struct.setEmailAddressIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 3: // PASSWORD
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.password = iprot.readString();
-              struct.setPasswordIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 4: // FOLDER_NAME
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.folderName = iprot.readString();
-              struct.setFolderNameIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 5: // STORE_PROTOCOL
-            if (schemeField.type == org.apache.thrift.protocol.TType.I32) {
-              struct.storeProtocol = EmailProtocol.findByValue(iprot.readI32());
-              struct.setStoreProtocolIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          case 6: // SENDER_EMAIL_ADDRESS
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRING) {
-              struct.senderEmailAddress = iprot.readString();
-              struct.setSenderEmailAddressIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
-          default:
-            org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-        }
-        iprot.readFieldEnd();
-      }
-      iprot.readStructEnd();
-      struct.validate();
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot, EmailMonitorProperty struct) throws org.apache.thrift.TException {
-      struct.validate();
-
-      oprot.writeStructBegin(STRUCT_DESC);
-      if (struct.host != null) {
-        oprot.writeFieldBegin(HOST_FIELD_DESC);
-        oprot.writeString(struct.host);
-        oprot.writeFieldEnd();
-      }
-      if (struct.emailAddress != null) {
-        oprot.writeFieldBegin(EMAIL_ADDRESS_FIELD_DESC);
-        oprot.writeString(struct.emailAddress);
-        oprot.writeFieldEnd();
-      }
-      if (struct.password != null) {
-        oprot.writeFieldBegin(PASSWORD_FIELD_DESC);
-        oprot.writeString(struct.password);
-        oprot.writeFieldEnd();
-      }
-      if (struct.folderName != null) {
-        oprot.writeFieldBegin(FOLDER_NAME_FIELD_DESC);
-        oprot.writeString(struct.folderName);
-        oprot.writeFieldEnd();
-      }
-      if (struct.storeProtocol != null) {
-        oprot.writeFieldBegin(STORE_PROTOCOL_FIELD_DESC);
-        oprot.writeI32(struct.storeProtocol.getValue());
-        oprot.writeFieldEnd();
-      }
-      if (struct.senderEmailAddress != null) {
-        oprot.writeFieldBegin(SENDER_EMAIL_ADDRESS_FIELD_DESC);
-        oprot.writeString(struct.senderEmailAddress);
-        oprot.writeFieldEnd();
-      }
-      oprot.writeFieldStop();
-      oprot.writeStructEnd();
-    }
-
-  }
-
-  private static class EmailMonitorPropertyTupleSchemeFactory implements SchemeFactory {
-    public EmailMonitorPropertyTupleScheme getScheme() {
-      return new EmailMonitorPropertyTupleScheme();
-    }
-  }
-
-  private static class EmailMonitorPropertyTupleScheme extends TupleScheme<EmailMonitorProperty> {
-
-    @Override
-    public void write(org.apache.thrift.protocol.TProtocol prot, EmailMonitorProperty struct) throws org.apache.thrift.TException {
-      TTupleProtocol oprot = (TTupleProtocol) prot;
-      oprot.writeString(struct.host);
-      oprot.writeString(struct.emailAddress);
-      oprot.writeString(struct.password);
-      oprot.writeString(struct.folderName);
-      oprot.writeI32(struct.storeProtocol.getValue());
-      oprot.writeString(struct.senderEmailAddress);
-    }
-
-    @Override
-    public void read(org.apache.thrift.protocol.TProtocol prot, EmailMonitorProperty struct) throws org.apache.thrift.TException {
-      TTupleProtocol iprot = (TTupleProtocol) prot;
-      struct.host = iprot.readString();
-      struct.setHostIsSet(true);
-      struct.emailAddress = iprot.readString();
-      struct.setEmailAddressIsSet(true);
-      struct.password = iprot.readString();
-      struct.setPasswordIsSet(true);
-      struct.folderName = iprot.readString();
-      struct.setFolderNameIsSet(true);
-      struct.storeProtocol = EmailProtocol.findByValue(iprot.readI32());
-      struct.setStoreProtocolIsSet(true);
-      struct.senderEmailAddress = iprot.readString();
-      struct.setSenderEmailAddressIsSet(true);
-    }
-  }
-
-}
-

http://git-wip-us.apache.org/repos/asf/airavata/blob/35e0af8b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/EmailProtocol.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/EmailProtocol.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/EmailProtocol.java
deleted file mode 100644
index d646f8a..0000000
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/EmailProtocol.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/**
- * Autogenerated by Thrift Compiler (0.9.1)
- *
- * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
- *  @generated
- */
-package org.apache.airavata.model.appcatalog.computeresource;
-
-
-import java.util.Map;
-import java.util.HashMap;
-import org.apache.thrift.TEnum;
-
-/**
- * Email protocol
- * 
- */
-@SuppressWarnings("all") public enum EmailProtocol implements org.apache.thrift.TEnum {
-  POP3(0),
-  IMAPS(1);
-
-  private final int value;
-
-  private EmailProtocol(int value) {
-    this.value = value;
-  }
-
-  /**
-   * Get the integer value of this enum value, as defined in the Thrift IDL.
-   */
-  public int getValue() {
-    return value;
-  }
-
-  /**
-   * Find a the enum type by its integer value, as defined in the Thrift IDL.
-   * @return null if the value is not found.
-   */
-  public static EmailProtocol findByValue(int value) { 
-    switch (value) {
-      case 0:
-        return POP3;
-      case 1:
-        return IMAPS;
-      default:
-        return null;
-    }
-  }
-}


[4/6] airavata git commit: Fixed AIRAVATA-1686

Posted by sh...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/35e0af8b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java
index 66f33ab..4c19d31 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java
@@ -67,7 +67,6 @@ import org.slf4j.LoggerFactory;
   private static final org.apache.thrift.protocol.TField ALTERNATIVE_SSHHOST_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("alternativeSSHHostName", org.apache.thrift.protocol.TType.STRING, (short)4);
   private static final org.apache.thrift.protocol.TField SSH_PORT_FIELD_DESC = new org.apache.thrift.protocol.TField("sshPort", org.apache.thrift.protocol.TType.I32, (short)5);
   private static final org.apache.thrift.protocol.TField MONITOR_MODE_FIELD_DESC = new org.apache.thrift.protocol.TField("monitorMode", org.apache.thrift.protocol.TType.I32, (short)6);
-  private static final org.apache.thrift.protocol.TField EMAIL_MONITOR_PROPERTY_FIELD_DESC = new org.apache.thrift.protocol.TField("emailMonitorProperty", org.apache.thrift.protocol.TType.STRUCT, (short)7);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -81,7 +80,6 @@ import org.slf4j.LoggerFactory;
   private String alternativeSSHHostName; // optional
   private int sshPort; // optional
   private MonitorMode monitorMode; // optional
-  private EmailMonitorProperty emailMonitorProperty; // optional
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   @SuppressWarnings("all") public enum _Fields implements org.apache.thrift.TFieldIdEnum {
@@ -98,8 +96,7 @@ import org.slf4j.LoggerFactory;
      * 
      * @see MonitorMode
      */
-    MONITOR_MODE((short)6, "monitorMode"),
-    EMAIL_MONITOR_PROPERTY((short)7, "emailMonitorProperty");
+    MONITOR_MODE((short)6, "monitorMode");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -126,8 +123,6 @@ import org.slf4j.LoggerFactory;
           return SSH_PORT;
         case 6: // MONITOR_MODE
           return MONITOR_MODE;
-        case 7: // EMAIL_MONITOR_PROPERTY
-          return EMAIL_MONITOR_PROPERTY;
         default:
           return null;
       }
@@ -170,7 +165,7 @@ import org.slf4j.LoggerFactory;
   // isset id assignments
   private static final int __SSHPORT_ISSET_ID = 0;
   private byte __isset_bitfield = 0;
-  private _Fields optionals[] = {_Fields.ALTERNATIVE_SSHHOST_NAME,_Fields.SSH_PORT,_Fields.MONITOR_MODE,_Fields.EMAIL_MONITOR_PROPERTY};
+  private _Fields optionals[] = {_Fields.ALTERNATIVE_SSHHOST_NAME,_Fields.SSH_PORT,_Fields.MONITOR_MODE};
   public static final Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
   static {
     Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
@@ -186,8 +181,6 @@ import org.slf4j.LoggerFactory;
         new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.I32)));
     tmpMap.put(_Fields.MONITOR_MODE, new org.apache.thrift.meta_data.FieldMetaData("monitorMode", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
         new org.apache.thrift.meta_data.EnumMetaData(org.apache.thrift.protocol.TType.ENUM, MonitorMode.class)));
-    tmpMap.put(_Fields.EMAIL_MONITOR_PROPERTY, new org.apache.thrift.meta_data.FieldMetaData("emailMonitorProperty", org.apache.thrift.TFieldRequirementType.OPTIONAL, 
-        new org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT, EmailMonitorProperty.class)));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(SSHJobSubmission.class, metaDataMap);
   }
@@ -231,9 +224,6 @@ import org.slf4j.LoggerFactory;
     if (other.isSetMonitorMode()) {
       this.monitorMode = other.monitorMode;
     }
-    if (other.isSetEmailMonitorProperty()) {
-      this.emailMonitorProperty = new EmailMonitorProperty(other.emailMonitorProperty);
-    }
   }
 
   public SSHJobSubmission deepCopy() {
@@ -250,7 +240,6 @@ import org.slf4j.LoggerFactory;
     this.sshPort = 22;
 
     this.monitorMode = null;
-    this.emailMonitorProperty = null;
   }
 
   public String getJobSubmissionInterfaceId() {
@@ -406,29 +395,6 @@ import org.slf4j.LoggerFactory;
     }
   }
 
-  public EmailMonitorProperty getEmailMonitorProperty() {
-    return this.emailMonitorProperty;
-  }
-
-  public void setEmailMonitorProperty(EmailMonitorProperty emailMonitorProperty) {
-    this.emailMonitorProperty = emailMonitorProperty;
-  }
-
-  public void unsetEmailMonitorProperty() {
-    this.emailMonitorProperty = null;
-  }
-
-  /** Returns true if field emailMonitorProperty is set (has been assigned a value) and false otherwise */
-  public boolean isSetEmailMonitorProperty() {
-    return this.emailMonitorProperty != null;
-  }
-
-  public void setEmailMonitorPropertyIsSet(boolean value) {
-    if (!value) {
-      this.emailMonitorProperty = null;
-    }
-  }
-
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
     case JOB_SUBMISSION_INTERFACE_ID:
@@ -479,14 +445,6 @@ import org.slf4j.LoggerFactory;
       }
       break;
 
-    case EMAIL_MONITOR_PROPERTY:
-      if (value == null) {
-        unsetEmailMonitorProperty();
-      } else {
-        setEmailMonitorProperty((EmailMonitorProperty)value);
-      }
-      break;
-
     }
   }
 
@@ -510,9 +468,6 @@ import org.slf4j.LoggerFactory;
     case MONITOR_MODE:
       return getMonitorMode();
 
-    case EMAIL_MONITOR_PROPERTY:
-      return getEmailMonitorProperty();
-
     }
     throw new IllegalStateException();
   }
@@ -536,8 +491,6 @@ import org.slf4j.LoggerFactory;
       return isSetSshPort();
     case MONITOR_MODE:
       return isSetMonitorMode();
-    case EMAIL_MONITOR_PROPERTY:
-      return isSetEmailMonitorProperty();
     }
     throw new IllegalStateException();
   }
@@ -609,15 +562,6 @@ import org.slf4j.LoggerFactory;
         return false;
     }
 
-    boolean this_present_emailMonitorProperty = true && this.isSetEmailMonitorProperty();
-    boolean that_present_emailMonitorProperty = true && that.isSetEmailMonitorProperty();
-    if (this_present_emailMonitorProperty || that_present_emailMonitorProperty) {
-      if (!(this_present_emailMonitorProperty && that_present_emailMonitorProperty))
-        return false;
-      if (!this.emailMonitorProperty.equals(that.emailMonitorProperty))
-        return false;
-    }
-
     return true;
   }
 
@@ -694,16 +638,6 @@ import org.slf4j.LoggerFactory;
         return lastComparison;
       }
     }
-    lastComparison = Boolean.valueOf(isSetEmailMonitorProperty()).compareTo(other.isSetEmailMonitorProperty());
-    if (lastComparison != 0) {
-      return lastComparison;
-    }
-    if (isSetEmailMonitorProperty()) {
-      lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.emailMonitorProperty, other.emailMonitorProperty);
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-    }
     return 0;
   }
 
@@ -773,16 +707,6 @@ import org.slf4j.LoggerFactory;
       }
       first = false;
     }
-    if (isSetEmailMonitorProperty()) {
-      if (!first) sb.append(", ");
-      sb.append("emailMonitorProperty:");
-      if (this.emailMonitorProperty == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.emailMonitorProperty);
-      }
-      first = false;
-    }
     sb.append(")");
     return sb.toString();
   }
@@ -805,9 +729,6 @@ import org.slf4j.LoggerFactory;
     if (resourceJobManager != null) {
       resourceJobManager.validate();
     }
-    if (emailMonitorProperty != null) {
-      emailMonitorProperty.validate();
-    }
   }
 
   private void writeObject(java.io.ObjectOutputStream out) throws java.io.IOException {
@@ -895,15 +816,6 @@ import org.slf4j.LoggerFactory;
               org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
-          case 7: // EMAIL_MONITOR_PROPERTY
-            if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) {
-              struct.emailMonitorProperty = new EmailMonitorProperty();
-              struct.emailMonitorProperty.read(iprot);
-              struct.setEmailMonitorPropertyIsSet(true);
-            } else { 
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
-            }
-            break;
           default:
             org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
@@ -951,13 +863,6 @@ import org.slf4j.LoggerFactory;
           oprot.writeFieldEnd();
         }
       }
-      if (struct.emailMonitorProperty != null) {
-        if (struct.isSetEmailMonitorProperty()) {
-          oprot.writeFieldBegin(EMAIL_MONITOR_PROPERTY_FIELD_DESC);
-          struct.emailMonitorProperty.write(oprot);
-          oprot.writeFieldEnd();
-        }
-      }
       oprot.writeFieldStop();
       oprot.writeStructEnd();
     }
@@ -988,10 +893,7 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetMonitorMode()) {
         optionals.set(2);
       }
-      if (struct.isSetEmailMonitorProperty()) {
-        optionals.set(3);
-      }
-      oprot.writeBitSet(optionals, 4);
+      oprot.writeBitSet(optionals, 3);
       if (struct.isSetAlternativeSSHHostName()) {
         oprot.writeString(struct.alternativeSSHHostName);
       }
@@ -1001,9 +903,6 @@ import org.slf4j.LoggerFactory;
       if (struct.isSetMonitorMode()) {
         oprot.writeI32(struct.monitorMode.getValue());
       }
-      if (struct.isSetEmailMonitorProperty()) {
-        struct.emailMonitorProperty.write(oprot);
-      }
     }
 
     @Override
@@ -1016,7 +915,7 @@ import org.slf4j.LoggerFactory;
       struct.resourceJobManager = new ResourceJobManager();
       struct.resourceJobManager.read(iprot);
       struct.setResourceJobManagerIsSet(true);
-      BitSet incoming = iprot.readBitSet(4);
+      BitSet incoming = iprot.readBitSet(3);
       if (incoming.get(0)) {
         struct.alternativeSSHHostName = iprot.readString();
         struct.setAlternativeSSHHostNameIsSet(true);
@@ -1029,11 +928,6 @@ import org.slf4j.LoggerFactory;
         struct.monitorMode = MonitorMode.findByValue(iprot.readI32());
         struct.setMonitorModeIsSet(true);
       }
-      if (incoming.get(3)) {
-        struct.emailMonitorProperty = new EmailMonitorProperty();
-        struct.emailMonitorProperty.read(iprot);
-        struct.setEmailMonitorPropertyIsSet(true);
-      }
     }
   }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/35e0af8b/airavata-api/thrift-interface-descriptions/computeResourceModel.thrift
----------------------------------------------------------------------
diff --git a/airavata-api/thrift-interface-descriptions/computeResourceModel.thrift b/airavata-api/thrift-interface-descriptions/computeResourceModel.thrift
index edccb7b..6e8361c 100644
--- a/airavata-api/thrift-interface-descriptions/computeResourceModel.thrift
+++ b/airavata-api/thrift-interface-descriptions/computeResourceModel.thrift
@@ -213,33 +213,6 @@ enum MonitorMode {
 }
 
 /**
-* Email protocol
-**/
-enum EmailProtocol{
-    POP3,
-    IMAPS
-}
-
-
-/**
-* Email Monitoring Properties
-*
-* host : email host address
-* emailAddress : address which should get email notification
-* password : password to access email address
-* folderName : email folder name default is INBOX
-* storeProtocol : type of store protocol
-**/
-struct EmailMonitorProperty {
-    1: required string host,
-    2: required string emailAddress,
-    3: required string password,
-    4: required string folderName = "INBOX",
-    5: required EmailProtocol storeProtocol,
-    6: required string senderEmailAddress
-}
-
-/**
  * Enumeration of data movement supported by Airavata
  *
  * SCP:
@@ -349,7 +322,6 @@ struct SSHJobSubmission {
     4: optional string alternativeSSHHostName,
     5: optional i32 sshPort = 22,
     6: optional MonitorMode monitorMode,
-    7: optional EmailMonitorProperty emailMonitorProperty
 }
 
 struct GlobusJobSubmission {

http://git-wip-us.apache.org/repos/asf/airavata/blob/35e0af8b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ComputeResourceImpl.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ComputeResourceImpl.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ComputeResourceImpl.java
index edd39ed..11ba727 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ComputeResourceImpl.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ComputeResourceImpl.java
@@ -186,21 +186,6 @@ public class ComputeResourceImpl implements ComputeResource {
                 resource.setMonitorMode(sshJobSubmission.getMonitorMode().toString());
             }
             resource.save();
-            EmailMonitorProperty emailMonitorProperty = sshJobSubmission.getEmailMonitorProperty();
-            if (emailMonitorProperty != null){
-                EmailPropertyResource emailPropertyResource = new EmailPropertyResource();
-                emailPropertyResource.setJobSubmissionInterfaceId(submissionId);
-                emailPropertyResource.setHost(emailMonitorProperty.getHost());
-                emailPropertyResource.setPassword(emailMonitorProperty.getPassword());
-                emailPropertyResource.setEmailAddress(emailMonitorProperty.getEmailAddress());
-                emailPropertyResource.setFolderName(emailMonitorProperty.getFolderName());
-                emailPropertyResource.setSenderEmailAddress(emailMonitorProperty.getSenderEmailAddress());
-
-                if (emailMonitorProperty.getStoreProtocol() != null){
-                    emailPropertyResource.setProtocol(emailMonitorProperty.getStoreProtocol().toString());
-                }
-                emailPropertyResource.save();
-            }
         	return submissionId;
         }catch (Exception e) {
             logger.error("Error while saving SSH Job Submission...", e);

http://git-wip-us.apache.org/repos/asf/airavata/blob/35e0af8b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/EmailMonitorProperty.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/EmailMonitorProperty.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/EmailMonitorProperty.java
deleted file mode 100644
index b6a669a..0000000
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/EmailMonitorProperty.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-package org.apache.aiaravata.application.catalog.data.model;
-
-import org.apache.openjpa.persistence.DataCache;
-
-import javax.persistence.*;
-
-@DataCache
-@Entity
-@Table(name = "EMAIL_MONITOR_PROPERTY")
-public class EmailMonitorProperty {
-
-    @Id
-    @Column(name = "JOB_SUBMISSION_INTERFACE_ID")
-    private String jobSubmissionId;
-
-    @Column(name = "HOST")
-    private String host;
-
-    @Column(name = "EMAIL_ADDRESS")
-    private String emailAddress;
-
-    @Column(name = "PASSWORD")
-    private String password;
-
-    @Column(name = "FOLDER_NAME")
-    private String folderName;
-
-    @Column(name = "EMAIL_PROTOCOL")
-    private String emailProtocol;
-
-    @Column(name = "SENDER_EMAIL_ADDRESS")
-    private String senderEmailAddress;
-
-    @ManyToOne(cascade= CascadeType.MERGE)
-    @JoinColumn(name = "JOB_SUBMISSION_INTERFACE_ID")
-    private SshJobSubmission submissionInterface;
-
-
-    public String getHost() {
-        return host;
-    }
-
-    public void setHost(String host) {
-        this.host = host;
-    }
-
-    public String getEmailAddress() {
-        return emailAddress;
-    }
-
-    public void setEmailAddress(String emailAddress) {
-        this.emailAddress = emailAddress;
-    }
-
-    public String getFolderName() {
-        return folderName;
-    }
-
-    public void setFolderName(String folderName) {
-        this.folderName = folderName;
-    }
-
-    public String getEmailProtocol() {
-        return emailProtocol;
-    }
-
-    public void setEmailProtocol(String emailProtocol) {
-        this.emailProtocol = emailProtocol;
-    }
-
-    public String getJobSubmissionId() {
-        return jobSubmissionId;
-    }
-
-    public void setJobSubmissionId(String jobSubmissionId) {
-        this.jobSubmissionId = jobSubmissionId;
-    }
-
-    public String getPassword() {
-        return password;
-    }
-
-    public void setPassword(String password) {
-        this.password = password;
-    }
-
-    public SshJobSubmission getSubmissionInterface() {
-        return submissionInterface;
-    }
-
-    public void setSubmissionInterface(SshJobSubmission submissionInterface) {
-        this.submissionInterface = submissionInterface;
-    }
-
-    public String getSenderEmailAddress() {
-        return senderEmailAddress;
-    }
-
-    public void setSenderEmailAddress(String senderEmailAddress) {
-        this.senderEmailAddress = senderEmailAddress;
-    }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/35e0af8b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/SshJobSubmission.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/SshJobSubmission.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/SshJobSubmission.java
index a5a1a8e..13a7861 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/SshJobSubmission.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/SshJobSubmission.java
@@ -32,7 +32,6 @@ import javax.persistence.JoinColumn;
 import javax.persistence.ManyToOne;
 import javax.persistence.Table;
 
-import org.apache.airavata.model.appcatalog.computeresource.EmailMonitorProperty;
 import org.apache.openjpa.persistence.DataCache;
 
 @DataCache

http://git-wip-us.apache.org/repos/asf/airavata/blob/35e0af8b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/EmailPropertyResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/EmailPropertyResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/EmailPropertyResource.java
deleted file mode 100644
index 6ce0e14..0000000
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/EmailPropertyResource.java
+++ /dev/null
@@ -1,319 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.aiaravata.application.catalog.data.resources;
-
-import org.airavata.appcatalog.cpi.AppCatalogException;
-import org.apache.aiaravata.application.catalog.data.model.EmailMonitorProperty;
-import org.apache.aiaravata.application.catalog.data.model.ResourceJobManager;
-import org.apache.aiaravata.application.catalog.data.model.SshJobSubmission;
-import org.apache.aiaravata.application.catalog.data.util.AppCatalogJPAUtils;
-import org.apache.aiaravata.application.catalog.data.util.AppCatalogQueryGenerator;
-import org.apache.aiaravata.application.catalog.data.util.AppCatalogResourceType;
-import org.apache.airavata.common.exception.ApplicationSettingsException;
-import org.apache.airavata.common.utils.AiravataUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.persistence.EntityManager;
-import javax.persistence.Query;
-import java.sql.Timestamp;
-import java.util.ArrayList;
-import java.util.List;
-
-public class EmailPropertyResource extends AbstractResource {
-	private final static Logger logger = LoggerFactory.getLogger(EmailPropertyResource.class);
-	private String jobSubmissionInterfaceId;
-	private String host;
-	private String emailAddress;
-	private String password;
-    private String folderName;
-    private String protocol;
-    private String senderEmailAddress;
-    private SshJobSubmissionResource sshJobSubmissionResource;
-
-	@Override
-	public void remove(Object identifier) throws AppCatalogException {
-		EntityManager em = null;
-		try {
-			em = AppCatalogJPAUtils.getEntityManager();
-			em.getTransaction().begin();
-			AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(EMAIL_PROPERTY);
-			generator.setParameter(EmailMonitorPropertyConstants.JOB_SUBMISSION_INTERFACE_ID, identifier);
-			Query q = generator.deleteQuery(em);
-			q.executeUpdate();
-			em.getTransaction().commit();
-			em.close();
-		} catch (ApplicationSettingsException e) {
-			logger.error(e.getMessage(), e);
-			throw new AppCatalogException(e);
-		} finally {
-			if (em != null && em.isOpen()) {
-				if (em.getTransaction().isActive()) {
-					em.getTransaction().rollback();
-				}
-				em.close();
-			}
-		}
-	}
-	
-	@Override
-	public Resource get(Object identifier) throws AppCatalogException {
-		EntityManager em = null;
-		try {
-			em = AppCatalogJPAUtils.getEntityManager();
-			em.getTransaction().begin();
-			AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(EMAIL_PROPERTY);
-			generator.setParameter(EmailMonitorPropertyConstants.JOB_SUBMISSION_INTERFACE_ID, identifier);
-			Query q = generator.selectQuery(em);
-			EmailMonitorProperty emailProperty = (EmailMonitorProperty) q.getSingleResult();
-			EmailPropertyResource emailPropertyResource = (EmailPropertyResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.EMAIL_MONITOR_PROPERTY, emailProperty);
-			em.getTransaction().commit();
-			em.close();
-			return emailPropertyResource;
-		} catch (ApplicationSettingsException e) {
-			logger.error(e.getMessage(), e);
-			throw new AppCatalogException(e);
-		} finally {
-			if (em != null && em.isOpen()) {
-				if (em.getTransaction().isActive()) {
-					em.getTransaction().rollback();
-				}
-				em.close();
-			}
-		}
-	}
-	
-	@Override
-	public List<Resource> get(String fieldName, Object value) throws AppCatalogException {
-		List<Resource> sshJobSubmissionResources = new ArrayList<Resource>();
-		EntityManager em = null;
-		try {
-			em = AppCatalogJPAUtils.getEntityManager();
-			em.getTransaction().begin();
-			AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(EMAIL_PROPERTY);
-			Query q;
-			if (fieldName.equals(EmailMonitorPropertyConstants.JOB_SUBMISSION_INTERFACE_ID)){
-				generator.setParameter(fieldName, value);
-				q = generator.selectQuery(em);
-				List<?> results = q.getResultList();
-				for (Object result : results) {
-					EmailMonitorProperty emailMonitorProperty = (EmailMonitorProperty) result;
-					EmailPropertyResource emailPropertyResource = (EmailPropertyResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.EMAIL_MONITOR_PROPERTY, emailMonitorProperty);
-					sshJobSubmissionResources.add(emailPropertyResource);
-				}
-			} else {
-				em.getTransaction().commit();
-					em.close();
-				logger.error("Unsupported field name for Ssh Job Submission Resource.", new IllegalArgumentException());
-				throw new IllegalArgumentException("Unsupported field name for Ssh Job Submission Resource.");
-			}
-			em.getTransaction().commit();
-			em.close();
-		} catch (ApplicationSettingsException e) {
-			logger.error(e.getMessage(), e);
-			throw new AppCatalogException(e);
-		} finally {
-			if (em != null && em.isOpen()) {
-				if (em.getTransaction().isActive()) {
-					em.getTransaction().rollback();
-				}
-				em.close();
-			}
-		}
-		return sshJobSubmissionResources;
-	}
-
-    @Override
-    public List<Resource> getAll() throws AppCatalogException {
-        return null;
-    }
-
-    @Override
-    public List<String> getAllIds() throws AppCatalogException {
-        return null;
-    }
-
-    @Override
-	public List<String> getIds(String fieldName, Object value) throws AppCatalogException {
-		List<String> sshJobSubmissionResourceIDs = new ArrayList<String>();
-		EntityManager em = null;
-		try {
-			em = AppCatalogJPAUtils.getEntityManager();
-			em.getTransaction().begin();
-			AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(EMAIL_PROPERTY);
-			Query q;
-			if (fieldName.equals(EmailMonitorPropertyConstants.JOB_SUBMISSION_INTERFACE_ID)) {
-				generator.setParameter(fieldName, value);
-				q = generator.selectQuery(em);
-				List<?> results = q.getResultList();
-				for (Object result : results) {
-					EmailMonitorProperty monitorProperty = (EmailMonitorProperty) result;
-					EmailPropertyResource emailPropertyResource = (EmailPropertyResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.EMAIL_MONITOR_PROPERTY, monitorProperty);
-					sshJobSubmissionResourceIDs.add(emailPropertyResource.getJobSubmissionInterfaceId());
-				}
-			} else {
-				em.getTransaction().commit();
-					em.close();
-				logger.error("Unsupported field name for Ssh Job Submission Resource.", new IllegalArgumentException());
-				throw new IllegalArgumentException("Unsupported field name for Ssh Job Submission Resource.");
-			}
-			em.getTransaction().commit();
-			em.close();
-		} catch (ApplicationSettingsException e) {
-			logger.error(e.getMessage(), e);
-			throw new AppCatalogException(e);
-		} finally {
-			if (em != null && em.isOpen()) {
-				if (em.getTransaction().isActive()) {
-					em.getTransaction().rollback();
-				}
-				em.close();
-			}
-		}
-		return sshJobSubmissionResourceIDs;
-	}
-	
-	@Override
-	public void save() throws AppCatalogException {
-		EntityManager em = null;
-		try {
-			em = AppCatalogJPAUtils.getEntityManager();
-			EmailMonitorProperty monitorProperty = em.find(EmailMonitorProperty.class, jobSubmissionInterfaceId);
-			em.close();
-			EmailMonitorProperty emailMonitorProperty;
-			em = AppCatalogJPAUtils.getEntityManager();
-			em.getTransaction().begin();
-			if (monitorProperty == null) {
-				emailMonitorProperty = new EmailMonitorProperty();
-			} else {
-				emailMonitorProperty = monitorProperty;
-			}
-			emailMonitorProperty.setJobSubmissionId(jobSubmissionInterfaceId);
-			emailMonitorProperty.setEmailAddress(emailAddress);
-			emailMonitorProperty.setEmailProtocol(protocol);
-			emailMonitorProperty.setFolderName(folderName);
-            emailMonitorProperty.setPassword(password);
-			emailMonitorProperty.setHost(host);
-            emailMonitorProperty.setSenderEmailAddress(senderEmailAddress);
-            if (monitorProperty == null) {
-				em.persist(emailMonitorProperty);
-			} else {
-				em.merge(emailMonitorProperty);
-			}
-			em.getTransaction().commit();
-			em.close();
-		} catch (Exception e) {
-			logger.error(e.getMessage(), e);
-			throw new AppCatalogException(e);
-		} finally {
-			if (em != null && em.isOpen()) {
-				if (em.getTransaction().isActive()) {
-					em.getTransaction().rollback();
-				}
-				em.close();
-			}
-		}
-	}
-	
-	@Override
-	public boolean isExists(Object identifier) throws AppCatalogException {
-		EntityManager em = null;
-		try {
-			em = AppCatalogJPAUtils.getEntityManager();
-			EmailMonitorProperty emailMonitorProperty = em.find(EmailMonitorProperty.class, identifier);
-			em.close();
-			return emailMonitorProperty != null;
-		} catch (ApplicationSettingsException e) {
-			logger.error(e.getMessage(), e);
-			throw new AppCatalogException(e);
-		} finally {
-			if (em != null && em.isOpen()) {
-				if (em.getTransaction().isActive()) {
-					em.getTransaction().rollback();
-				}
-				em.close();
-			}
-		}
-	}
-
-    public String getJobSubmissionInterfaceId() {
-        return jobSubmissionInterfaceId;
-    }
-
-    public void setJobSubmissionInterfaceId(String jobSubmissionInterfaceId) {
-        this.jobSubmissionInterfaceId = jobSubmissionInterfaceId;
-    }
-
-    public String getHost() {
-        return host;
-    }
-
-    public void setHost(String host) {
-        this.host = host;
-    }
-
-    public String getEmailAddress() {
-        return emailAddress;
-    }
-
-    public void setEmailAddress(String emailAddress) {
-        this.emailAddress = emailAddress;
-    }
-
-    public String getPassword() {
-        return password;
-    }
-
-    public void setPassword(String password) {
-        this.password = password;
-    }
-
-    public String getFolderName() {
-        return folderName;
-    }
-
-    public void setFolderName(String folderName) {
-        this.folderName = folderName;
-    }
-
-    public String getProtocol() {
-        return protocol;
-    }
-
-    public void setProtocol(String protocol) {
-        this.protocol = protocol;
-    }
-
-    public SshJobSubmissionResource getSshJobSubmissionResource() {
-        return sshJobSubmissionResource;
-    }
-
-    public void setSshJobSubmissionResource(SshJobSubmissionResource sshJobSubmissionResource) {
-        this.sshJobSubmissionResource = sshJobSubmissionResource;
-    }
-
-    public String getSenderEmailAddress() {
-        return senderEmailAddress;
-    }
-
-    public void setSenderEmailAddress(String senderEmailAddress) {
-        this.senderEmailAddress = senderEmailAddress;
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/35e0af8b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogJPAUtils.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogJPAUtils.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogJPAUtils.java
index d3b8b7d..4ee983f 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogJPAUtils.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogJPAUtils.java
@@ -25,7 +25,6 @@ import org.apache.aiaravata.application.catalog.data.model.*;
 import org.apache.aiaravata.application.catalog.data.resources.*;
 import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.utils.ServerSettings;
-import org.apache.airavata.model.appcatalog.computeresource.MonitorMode;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -172,13 +171,6 @@ public class AppCatalogJPAUtils {
 					logger.error("Object should be a Ssh Job Submission.", new IllegalArgumentException());
 					throw new IllegalArgumentException("Object should be a Ssh Job Submission.");
 				}
-            case EMAIL_MONITOR_PROPERTY:
-                if (o instanceof EmailMonitorProperty){
-                    return createEmailPropertyResource((EmailMonitorProperty) o);
-                }else{
-                    logger.error("Object should be a Ssh Job Submission.", new IllegalArgumentException());
-                    throw new IllegalArgumentException("Object should be a Ssh Job Submission.");
-                }
             case SCP_DATA_MOVEMENT:
 				if (o instanceof ScpDataMovement){
 					return createScpDataMovement((ScpDataMovement) o);
@@ -623,21 +615,6 @@ public class AppCatalogJPAUtils {
         return sshJobSubmissionResource;
     }
 
-    private static Resource createEmailPropertyResource(EmailMonitorProperty o) {
-        EmailPropertyResource emailPropertyResource = new EmailPropertyResource();
-        if (o != null) {
-            emailPropertyResource.setJobSubmissionInterfaceId(o.getJobSubmissionId());
-            emailPropertyResource.setSshJobSubmissionResource((SshJobSubmissionResource) createSshJobSubmission(o.getSubmissionInterface()));
-            emailPropertyResource.setEmailAddress(o.getEmailAddress());
-            emailPropertyResource.setFolderName(o.getFolderName());
-            emailPropertyResource.setPassword(o.getPassword());
-            emailPropertyResource.setHost(o.getHost());
-            emailPropertyResource.setProtocol(o.getEmailProtocol());
-            emailPropertyResource.setSenderEmailAddress(o.getSenderEmailAddress());
-        }
-        return emailPropertyResource;
-    }
-
     private static Resource createScpDataMovement(ScpDataMovement o) {
 		ScpDataMovementResource scpDataMovementResource = new ScpDataMovementResource();
         if (o != null){

http://git-wip-us.apache.org/repos/asf/airavata/blob/35e0af8b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogResourceType.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogResourceType.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogResourceType.java
index 111f811..196d3a1 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogResourceType.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogResourceType.java
@@ -62,6 +62,5 @@ public enum AppCatalogResourceType {
     ClOUD_SUBMISSION,
     WORKFLOW,
     WORKFLOW_INPUT,
-    WORKFLOW_OUTPUT,
-    EMAIL_MONITOR_PROPERTY
+    WORKFLOW_OUTPUT
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/35e0af8b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java
index ef758cd..123ae96 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java
@@ -33,7 +33,6 @@ import org.apache.airavata.model.appcatalog.computeresource.*;
 import org.apache.airavata.model.appcatalog.computeresource.BatchQueue;
 import org.apache.airavata.model.appcatalog.computeresource.CloudJobSubmission;
 import org.apache.airavata.model.appcatalog.computeresource.DataMovementInterface;
-import org.apache.airavata.model.appcatalog.computeresource.EmailMonitorProperty;
 import org.apache.airavata.model.appcatalog.computeresource.JobManagerCommand;
 import org.apache.airavata.model.appcatalog.computeresource.JobSubmissionInterface;
 import org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager;
@@ -344,28 +343,10 @@ public class AppCatalogThriftConversion {
     	sshJobSubmission.setSshPort(submission.getSshPort());
         if (submission.getMonitorMode() != null){
             sshJobSubmission.setMonitorMode(MonitorMode.valueOf(submission.getMonitorMode()));
-            EmailPropertyResource emailPropertyResource = new EmailPropertyResource();
-            if (emailPropertyResource.isExists(sshJobSubmission.getJobSubmissionInterfaceId())){
-                EmailPropertyResource emailResource = (EmailPropertyResource)emailPropertyResource.get(submission.getJobSubmissionInterfaceId());
-                sshJobSubmission.setEmailMonitorProperty(getEmailMonitorProperty(emailResource));
-            }
         }
         return sshJobSubmission;
     }
 
-    public static EmailMonitorProperty getEmailMonitorProperty (EmailPropertyResource resource) throws AppCatalogException {
-        EmailMonitorProperty monitorProperty = new EmailMonitorProperty();
-        monitorProperty.setFolderName(resource.getFolderName());
-        monitorProperty.setHost(resource.getHost());
-        monitorProperty.setEmailAddress(resource.getEmailAddress());
-        monitorProperty.setPassword(resource.getPassword());
-        monitorProperty.setSenderEmailAddress(resource.getSenderEmailAddress());
-        if (resource.getProtocol() != null){
-            monitorProperty.setStoreProtocol(EmailProtocol.valueOf(resource.getProtocol()));
-        }
-        return monitorProperty;
-    }
-
     public static UnicoreJobSubmission getUnicoreJobSubmissionDescription (UnicoreJobSubmissionResource submission) throws AppCatalogException {
     	UnicoreJobSubmission unicoreJobSubmission = new UnicoreJobSubmission();
     	unicoreJobSubmission.setUnicoreEndPointURL(submission.getUnicoreEndpointUrl());

http://git-wip-us.apache.org/repos/asf/airavata/blob/35e0af8b/modules/app-catalog/app-catalog-data/src/main/resources/META-INF/persistence.xml
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/resources/META-INF/persistence.xml b/modules/app-catalog/app-catalog-data/src/main/resources/META-INF/persistence.xml
index cd2445f..5fa184d 100644
--- a/modules/app-catalog/app-catalog-data/src/main/resources/META-INF/persistence.xml
+++ b/modules/app-catalog/app-catalog-data/src/main/resources/META-INF/persistence.xml
@@ -38,7 +38,6 @@
         <class>org.apache.aiaravata.application.catalog.data.model.GridftpDataMovement</class>
         <class>org.apache.aiaravata.application.catalog.data.model.GridftpEndpoint</class>
         <class>org.apache.aiaravata.application.catalog.data.model.SshJobSubmission</class>
-        <class>org.apache.aiaravata.application.catalog.data.model.EmailMonitorProperty</class>
         <class>org.apache.aiaravata.application.catalog.data.model.ApplicationModule</class>
         <class>org.apache.aiaravata.application.catalog.data.model.ApplicationDeployment</class>
         <class>org.apache.aiaravata.application.catalog.data.model.ModuleLoadCmd</class>

http://git-wip-us.apache.org/repos/asf/airavata/blob/35e0af8b/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-derby.sql
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-derby.sql b/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-derby.sql
index dd7cb41..fc24d83 100644
--- a/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-derby.sql
+++ b/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-derby.sql
@@ -126,19 +126,6 @@ CREATE TABLE SSH_JOB_SUBMISSION
         FOREIGN KEY (RESOURCE_JOB_MANAGER_ID) REFERENCES RESOURCE_JOB_MANAGER(RESOURCE_JOB_MANAGER_ID)
 );
 
-CREATE TABLE EMAIL_MONITOR_PROPERTY
-(
-         JOB_SUBMISSION_INTERFACE_ID VARCHAR (255) NOT NULL,
-         HOST VARCHAR(255),
-         EMAIL_ADDRESS VARCHAR(255),
-         PASSWORD VARCHAR(255),
-         FOLDER_NAME VARCHAR(255),
-         EMAIL_PROTOCOL VARCHAR(255),
-         SENDER_EMAIL_ADDRESS VARCHAR(255),
-         PRIMARY KEY(JOB_SUBMISSION_INTERFACE_ID),
-         FOREIGN KEY (JOB_SUBMISSION_INTERFACE_ID) REFERENCES SSH_JOB_SUBMISSION(JOB_SUBMISSION_INTERFACE_ID)
-);
-
 CREATE TABLE SCP_DATA_MOVEMENT
 (
         QUEUE_DESCRIPTION VARCHAR (255),

http://git-wip-us.apache.org/repos/asf/airavata/blob/35e0af8b/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-mysql.sql
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-mysql.sql b/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-mysql.sql
index c1b4757..234a26a 100644
--- a/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-mysql.sql
+++ b/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-mysql.sql
@@ -135,18 +135,6 @@ CREATE TABLE SSH_JOB_SUBMISSION
         FOREIGN KEY (RESOURCE_JOB_MANAGER_ID) REFERENCES RESOURCE_JOB_MANAGER(RESOURCE_JOB_MANAGER_ID)
 );
 
-CREATE TABLE EMAIL_MONITOR_PROPERTY
-(
-         JOB_SUBMISSION_INTERFACE_ID VARCHAR (255) NOT NULL,
-         HOST VARCHAR(255),
-         EMAIL_ADDRESS VARCHAR(255),
-         PASSWORD VARCHAR(255),
-         FOLDER_NAME VARCHAR(255),
-         EMAIL_PROTOCOL VARCHAR(255),
-         SENDER_EMAIL_ADDRESS VARCHAR(255),
-         PRIMARY KEY(JOB_SUBMISSION_INTERFACE_ID),
-         FOREIGN KEY (JOB_SUBMISSION_INTERFACE_ID) REFERENCES SSH_JOB_SUBMISSION(JOB_SUBMISSION_INTERFACE_ID)
-);
 
 CREATE TABLE SCP_DATA_MOVEMENT
 (

http://git-wip-us.apache.org/repos/asf/airavata/blob/35e0af8b/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/ComputeResourceTest.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/ComputeResourceTest.java b/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/ComputeResourceTest.java
index bfc82d3..651f03e 100644
--- a/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/ComputeResourceTest.java
+++ b/modules/app-catalog/app-catalog-data/src/test/java/org/apache/airavata/app/catalog/test/ComputeResourceTest.java
@@ -169,10 +169,6 @@ public class ComputeResourceTest {
             System.out.println("**********SSH Submission resource job manager ************* : " +  sshJobSubmission.getResourceJobManager().toString());
             System.out.println("**********Monitor mode ************* : " +  sshJobSubmission.getMonitorMode().toString());
 
-            EmailMonitorProperty emailMonitorProperty = sshJobSubmission.getEmailMonitorProperty();
-            System.out.println("**********email address ************* : " + emailMonitorProperty.getEmailAddress());
-
-
 //            GlobusJobSubmission globusJobSubmission = computeResource.get(globusSubmissionId);
 //            System.out.println("**********Globus Submission resource job manager ************* : " + globusJobSubmission.getResourceJobManager().toString());
 
@@ -244,13 +240,7 @@ public class ComputeResourceTest {
             commands.put(JobManagerCommand.SUBMISSION, "Sub command");
             commands.put(JobManagerCommand.SHOW_QUEUE, "show q command");
             jobManager.setJobManagerCommands(commands);
-            jobSubmission.setMonitorMode(MonitorMode.JOB_EMAIL_NOTIFICATION_MONITOR);
-            EmailMonitorProperty emailMonitorProperty = new EmailMonitorProperty();
-            emailMonitorProperty.setEmailAddress("test");
-            emailMonitorProperty.setPassword("aaa");
-            emailMonitorProperty.setHost("testHost");
-            emailMonitorProperty.setSenderEmailAddress("testSender@scigpa.org");
-            jobSubmission.setEmailMonitorProperty(emailMonitorProperty);
+            jobSubmission.setMonitorMode(MonitorMode.POLL_JOB_MANAGER);
 //            String jobManagerID = appcatalog.getComputeResource().addResourceJobManager(jobManager);
 //            jobManager.setResourceJobManagerId(jobManagerID);
             jobSubmission.setResourceJobManager(jobManager);

http://git-wip-us.apache.org/repos/asf/airavata/blob/35e0af8b/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/ServerSettings.java
----------------------------------------------------------------------
diff --git a/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/ServerSettings.java b/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/ServerSettings.java
index e37ea42..57a548c 100644
--- a/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/ServerSettings.java
+++ b/modules/commons/utils/src/main/java/org/apache/airavata/common/utils/ServerSettings.java
@@ -69,7 +69,12 @@ public class ServerSettings extends ApplicationSettings {
 
     // email based monitoring configurations
     private static final String EMAIL_BASED_MONITORING_PERIOD = "email.based.monitoring.period";
-
+    private static final String EMAIL_BASED_MONITOR_HOST = "email.based.monitor.host";
+    private static final String EMAIL_BASED_MONITOR_ADDRESS = "email.based.monitor.address";
+    private static final String EMAIL_BASED_MONITOR_PASSWORD = "email.based.monitor.password";
+    private static final String EMAIL_BASED_MONITOR_FOLDER_NAME = "email.based.monitor.folder.name";
+    private static final String EMAIL_BASED_MONITOR_STORE_PROTOCOL = "email.based.monitor.store.protocol";
+    private static final String ENABLE_EMAIL_BASED_MONITORING = "enable.email.based.monitoring";
 
     private static boolean stopAllThreads = false;
     private static boolean emailBaseNotificationEnable;
@@ -217,10 +222,34 @@ public class ServerSettings extends ApplicationSettings {
         return getSetting(WORKFLOW_PARSER);
     }
 
+
     public static int getEmailMonitorPeriod() throws ApplicationSettingsException {
         return Integer.valueOf(getSetting(EMAIL_BASED_MONITORING_PERIOD, "100000"));
 
     }
 
+    public static String getEmailBasedMonitorHost() throws ApplicationSettingsException {
+        return getSetting(EMAIL_BASED_MONITOR_HOST);
+    }
+
+    public static String getEmailBasedMonitorAddress() throws ApplicationSettingsException {
+        return getSetting(EMAIL_BASED_MONITOR_ADDRESS);
+    }
+
+    public static String getEmailBasedMonitorPassword() throws ApplicationSettingsException {
+        return getSetting(EMAIL_BASED_MONITOR_PASSWORD);
+    }
+
+    public static String getEmailBasedMonitorFolderName() throws ApplicationSettingsException {
+        return getSetting(EMAIL_BASED_MONITOR_FOLDER_NAME);
+    }
+
+    public static String getEmailBasedMonitorStoreProtocol() throws ApplicationSettingsException {
+        return getSetting(EMAIL_BASED_MONITOR_STORE_PROTOCOL);
+    }
+
+    public static boolean isEmailBasedNotificationEnable() {
+        return Boolean.valueOf(getSetting(ENABLE_EMAIL_BASED_MONITORING, "false"));
+    }
 
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/35e0af8b/modules/configuration/server/src/main/resources/airavata-server.properties
----------------------------------------------------------------------
diff --git a/modules/configuration/server/src/main/resources/airavata-server.properties b/modules/configuration/server/src/main/resources/airavata-server.properties
index a00990e..150a093 100644
--- a/modules/configuration/server/src/main/resources/airavata-server.properties
+++ b/modules/configuration/server/src/main/resources/airavata-server.properties
@@ -195,6 +195,13 @@ host.scheduler=org.apache.airavata.gfac.core.scheduler.impl.SimpleHostScheduler
 #mechanisms and one would be able to start a monitor
 monitors=org.apache.airavata.gfac.monitor.impl.pull.qstat.QstatMonitor,org.apache.airavata.gfac.monitor.impl.LocalJobMonitor
 
+#These properties will used to enable email base monitoring
+email.based.monitor.host=imap.gmail.com
+email.based.monitor.address=test@scigap.com
+email.based.monitor.password=changeme
+email.based.monitor.folder.name=INBOX
+# either imaps or pop3
+email.based.monitor.store.protocol=imaps
 #These property will be used to query the email server periodically. value in milliseconds(ms).
 email.based.monitoring.period=10000
 ###########################################################################

http://git-wip-us.apache.org/repos/asf/airavata/blob/35e0af8b/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/provider/impl/GSISSHProvider.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/provider/impl/GSISSHProvider.java b/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/provider/impl/GSISSHProvider.java
index a7c01f9..29287cc 100644
--- a/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/provider/impl/GSISSHProvider.java
+++ b/modules/gfac/gfac-gsissh/src/main/java/org/apache/airavata/gfac/gsissh/provider/impl/GSISSHProvider.java
@@ -22,6 +22,7 @@ package org.apache.airavata.gfac.gsissh.provider.impl;
 
 import org.airavata.appcatalog.cpi.AppCatalog;
 import org.airavata.appcatalog.cpi.AppCatalogException;
+import org.apache.airavata.common.exception.AiravataException;
 import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.utils.ServerSettings;
 import org.apache.airavata.gfac.ExecutionMode;
@@ -43,7 +44,6 @@ import org.apache.airavata.gsi.ssh.api.SSHApiException;
 import org.apache.airavata.gsi.ssh.api.job.JobDescriptor;
 import org.apache.airavata.model.appcatalog.appdeployment.ApplicationDeploymentDescription;
 import org.apache.airavata.model.appcatalog.computeresource.ComputeResourceDescription;
-import org.apache.airavata.model.appcatalog.computeresource.EmailMonitorProperty;
 import org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol;
 import org.apache.airavata.model.appcatalog.computeresource.MonitorMode;
 import org.apache.airavata.model.appcatalog.computeresource.SSHJobSubmission;
@@ -150,13 +150,14 @@ public class GSISSHProvider extends AbstractRecoverableProvider {
         if (jobExecutionContext.getPreferredJobSubmissionProtocol() == JobSubmissionProtocol.SSH) {
             MonitorMode monitorMode = sshJobSubmission.getMonitorMode();
             if (monitorMode != null && monitorMode == MonitorMode.JOB_EMAIL_NOTIFICATION_MONITOR) {
-                EmailMonitorProperty emailMonitorProp = sshJobSubmission.getEmailMonitorProperty();
-                if (emailMonitorProp != null) {
-                    EmailBasedMonitor emailBasedMonitor = EmailMonitorFactory.getEmailBasedMonitor(emailMonitorProp,
+                try {
+                    EmailBasedMonitor emailBasedMonitor = EmailMonitorFactory.getEmailBasedMonitor(
                             sshJobSubmission.getResourceJobManager().getResourceJobManagerType());
                     emailBasedMonitor.addToJobMonitorMap(jobExecutionContext);
-                    return;
+                } catch (AiravataException e) {
+                    log.error("Couldn't active email monitoring, Error while initializing Email Based Monitor", e);
                 }
+                return;
             }
         }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/35e0af8b/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 a988752..3d5c8f9 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
@@ -33,8 +33,6 @@ import org.apache.airavata.gfac.monitor.email.parser.EmailParser;
 import org.apache.airavata.gfac.monitor.email.parser.LSFEmailParser;
 import org.apache.airavata.gfac.monitor.email.parser.PBSEmailParser;
 import org.apache.airavata.gfac.monitor.email.parser.SLURMEmailParser;
-import org.apache.airavata.model.appcatalog.computeresource.EmailMonitorProperty;
-import org.apache.airavata.model.appcatalog.computeresource.EmailProtocol;
 import org.apache.airavata.model.appcatalog.computeresource.ResourceJobManagerType;
 import org.apache.airavata.model.messaging.event.JobIdentifier;
 import org.apache.airavata.model.messaging.event.JobStatusChangeRequestEvent;
@@ -48,9 +46,10 @@ 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.validation.constraints.NotNull;
+import javax.mail.search.SearchTerm;
 import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Date;
@@ -63,7 +62,8 @@ public class EmailBasedMonitor implements Runnable{
     private static final AiravataLogger log = AiravataLoggerFactory.getLogger(EmailBasedMonitor.class);
 
     public static final int COMPARISON = 6; // after and equal
-    private final EmailMonitorProperty emailMonitorProperty;
+    public static final String IMAPS = "imaps";
+    public static final String POP3 = "pop3";
     private boolean stopMonitoring = false;
 
     private Session session ;
@@ -72,17 +72,26 @@ public class EmailBasedMonitor implements Runnable{
     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(EmailMonitorProperty emailMonitorProp, ResourceJobManagerType type) {
-        this.emailMonitorProperty = emailMonitorProp;
+    public EmailBasedMonitor(ResourceJobManagerType type) throws AiravataException {
         RESOURCE_JOB_MONITOR_TYPE = type;
         init();
     }
 
-    private void init() {
+    private void init() throws AiravataException {
+        host = ServerSettings.getEmailBasedMonitorHost();
+        emailAddress = ServerSettings.getEmailBasedMonitorAddress();
+        password = ServerSettings.getEmailBasedMonitorPassword();
+        storeProtocol = ServerSettings.getEmailBasedMonitorStoreProtocol();
+        folderName = ServerSettings.getEmailBasedMonitorFolderName();
+        if (!(storeProtocol.equals(IMAPS) || storeProtocol.equals(POP3))) {
+            throw new AiravataException("Unsupported store protocol , expected " +
+                    IMAPS + " or " + POP3 + " but found " + storeProtocol);
+        }
         properties = new Properties();
-        properties.put("mail.store.protocol", emailMonitorProperty.getStoreProtocol());
-
+        properties.put("mail.store.protocol", storeProtocol);
     }
 
     public void addToJobMonitorMap(JobExecutionContext jobExecutionContext) {
@@ -111,34 +120,28 @@ public class EmailBasedMonitor implements Runnable{
             default:
                 throw new AiravataException("Un-handle resource job manager type: "+ RESOURCE_JOB_MONITOR_TYPE + " for email monitoring -->  " + addressStr);
         }
-        return emailParser.parseEmail(message, emailMonitorProperty.getSenderEmailAddress());
+        return emailParser.parseEmail(message);
     }
 
     @Override
     public void run() {
         try {
             session = Session.getDefaultInstance(properties);
-            store = session.getStore(getProtocol(emailMonitorProperty.getStoreProtocol()));
-            store.connect(emailMonitorProperty.getHost(), emailMonitorProperty.getEmailAddress(),
-                    emailMonitorProperty.getPassword());
-            emailFolder = store.getFolder(emailMonitorProperty.getFolderName());
-            emailFolder.open(Folder.READ_WRITE);
+            store = session.getStore(storeProtocol);
+            store.connect(host, emailAddress, password);
+            emailFolder = store.getFolder(folderName);
             // first time we search for all unread messages.
-            Date preDate = Calendar.getInstance().getTime();
-            Date nextDate;
-            processMessages(emailFolder.search(new FlagTerm(new Flags(Flags.Flag.SEEN), false)));
-            // then we search message continuously from prevDate to present.
+            SearchTerm unseenBefore = new FlagTerm(new Flags(Flags.Flag.SEEN), false);
             while (!(stopMonitoring || ServerSettings.isStopAllThreads())) {
                 if (!store.isConnected()) {
                     store.connect();
-                    emailFolder = store.getFolder(emailMonitorProperty.getFolderName());
-                    emailFolder.open(Folder.READ_WRITE);
+                    emailFolder = store.getFolder(folderName);
                 }
                 Thread.sleep(ServerSettings.getEmailMonitorPeriod());// sleep a bit - get rest till job finishes
-                nextDate = Calendar.getInstance().getTime();
-                Message[] searchMessages = emailFolder.search(new ReceivedDateTerm(COMPARISON, preDate));
+                emailFolder.open(Folder.READ_WRITE);
+                Message[] searchMessages = emailFolder.search(unseenBefore);
                 processMessages(searchMessages);
-                preDate = nextDate; // this is a critical line
+                emailFolder.close(false);
             }
         } catch (MessagingException e) {
             log.error("Couldn't connect to the store ", e);
@@ -211,16 +214,6 @@ public class EmailBasedMonitor implements Runnable{
         }
     }
 
-    private String getProtocol(EmailProtocol storeProtocol) throws AiravataException {
-        switch (storeProtocol) {
-            case IMAPS:
-                return "imaps";
-            case POP3:
-                return "pop3";
-            default:
-                throw new AiravataException("Unhandled Email store protocol ");
-        }
-    }
     private void process(JobStatusResult jobStatusResult, JobExecutionContext jEC){
         JobState resultState = jobStatusResult.getState();
         jEC.getJobDetails().setJobStatus(new JobStatus(resultState));
@@ -292,4 +285,8 @@ public class EmailBasedMonitor implements Runnable{
     public void stopMonitoring() {
         stopMonitoring = true;
     }
+
+    public void setDate(Date date) {
+        this.monitorStartDate = date;
+    }
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/35e0af8b/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/EmailMonitorFactory.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/EmailMonitorFactory.java b/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/EmailMonitorFactory.java
index 25fe073..3a75331 100644
--- a/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/EmailMonitorFactory.java
+++ b/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/EmailMonitorFactory.java
@@ -20,45 +20,30 @@
 */
 package org.apache.airavata.gfac.monitor.email;
 
-import org.apache.airavata.model.appcatalog.computeresource.EmailMonitorProperty;
+import org.apache.airavata.common.exception.AiravataException;
 import org.apache.airavata.model.appcatalog.computeresource.ResourceJobManagerType;
 
+import java.util.Calendar;
+import java.util.Date;
 import java.util.HashMap;
 import java.util.Map;
 
 public class EmailMonitorFactory {
 
-    private static Map<String, EmailBasedMonitor> emailMonitors = new HashMap<String, EmailBasedMonitor>();
+    private static EmailBasedMonitor emailBasedMonitor;
+    private static Date startMonitorDate = Calendar.getInstance().getTime();
 
-
-    public static EmailBasedMonitor getEmailBasedMonitor(EmailMonitorProperty emailMonitorProp,
-                                                         ResourceJobManagerType resourceJobManagerType) {
-        String key = getKey(emailMonitorProp);
-        EmailBasedMonitor monitor = emailMonitors.get(key);
-        if (monitor == null) {
-            synchronized (emailMonitors){
-                if (monitor == null) {
-                    monitor = new EmailBasedMonitor(emailMonitorProp, resourceJobManagerType);
-                    emailMonitors.put(key, monitor);
-                    new Thread(monitor).start();
+    public static EmailBasedMonitor getEmailBasedMonitor(ResourceJobManagerType resourceJobManagerType) throws AiravataException {
+        if (emailBasedMonitor == null) {
+            synchronized (EmailMonitorFactory.class){
+                if (emailBasedMonitor == null) {
+                    emailBasedMonitor = new EmailBasedMonitor(resourceJobManagerType);
+                    emailBasedMonitor.setDate(startMonitorDate);
+                    new Thread(emailBasedMonitor).start();
                 }
             }
         }
-        return monitor;
-    }
-
-    public static void stopAllMonitors() {
-        for (EmailBasedMonitor emailBasedMonitor : emailMonitors.values()) {
-            emailBasedMonitor.stopMonitoring();
-        }
-    }
-
-    private static String getKey(EmailMonitorProperty emailMonitorProp) {
-        StringBuffer sb = new StringBuffer(emailMonitorProp.getHost().trim());
-        sb.append("_").append(emailMonitorProp.getStoreProtocol().name());
-        sb.append("_").append(emailMonitorProp.getEmailAddress().trim());
-        sb.append("_").append(emailMonitorProp.getFolderName().trim());
-        return sb.toString();
+        return emailBasedMonitor;
     }
 
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/35e0af8b/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/EmailParser.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/EmailParser.java b/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/EmailParser.java
index 89abab1..84899f0 100644
--- a/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/EmailParser.java
+++ b/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/EmailParser.java
@@ -31,5 +31,5 @@ public interface EmailParser {
     static final String JOBID = "jobId";
     static final String EXIT_STATUS = "exitStatus";
 
-    JobStatusResult parseEmail(Message message, String senderEmailAddress) throws MessagingException, AiravataException;
+    JobStatusResult parseEmail(Message message) throws MessagingException, AiravataException;
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/35e0af8b/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/LSFEmailParser.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/LSFEmailParser.java b/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/LSFEmailParser.java
index 58d977f..64f3639 100644
--- a/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/LSFEmailParser.java
+++ b/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/LSFEmailParser.java
@@ -40,7 +40,7 @@ public class LSFEmailParser implements EmailParser {
             + ">.*)\\s[a-zA-Z =]+(?<" + EXIT_STATUS + ">\\d+)\\sSignal[ ]*=[ ]*(?<" + SIGNAL + ">[a-zA-z]*)";
 
     @Override
-    public JobStatusResult parseEmail(Message message, String senderEmailAddress) throws MessagingException, AiravataException {
+    public JobStatusResult parseEmail(Message message) throws MessagingException, AiravataException {
         JobStatusResult jobStatusResult = new JobStatusResult();
         try {
             String content = ((String) message.getContent());

http://git-wip-us.apache.org/repos/asf/airavata/blob/35e0af8b/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/PBSEmailParser.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/PBSEmailParser.java b/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/PBSEmailParser.java
index f253383..b5f543b 100644
--- a/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/PBSEmailParser.java
+++ b/modules/gfac/gfac-monitor/gfac-email-monitor/src/main/java/org/apache/airavata/gfac/monitor/email/parser/PBSEmailParser.java
@@ -45,8 +45,9 @@ public class PBSEmailParser implements EmailParser {
     public static final String ABORTED_BY_PBS_SERVER = "Aborted by PBS Server";
 
     @Override
-    public JobStatusResult parseEmail(Message message, String senderEmailAddress) throws MessagingException, AiravataException {
+    public JobStatusResult parseEmail(Message message) throws MessagingException, AiravataException {
         JobStatusResult jobStatusResult = new JobStatusResult();
+//        log.info("Parsing -> " + message.getSubject());
         try {
             String content = ((String) message.getContent());
             Pattern pattern = Pattern.compile(REGEX);

http://git-wip-us.apache.org/repos/asf/airavata/blob/35e0af8b/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 a35f88d..47e78a7 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
@@ -43,7 +43,7 @@ public class SLURMEmailParser implements EmailParser {
     public static final String FAILED = "Failed";
 
     @Override
-    public JobStatusResult parseEmail(Message message, String senderEmailAddress) throws MessagingException, AiravataException{
+    public JobStatusResult parseEmail(Message message) throws MessagingException, AiravataException{
         JobStatusResult jobStatusResult = new JobStatusResult();
         String subject = message.getSubject();
         Pattern pattern = Pattern.compile(REGEX);

http://git-wip-us.apache.org/repos/asf/airavata/blob/35e0af8b/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/provider/impl/SSHProvider.java
----------------------------------------------------------------------
diff --git a/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/provider/impl/SSHProvider.java b/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/provider/impl/SSHProvider.java
index 5323112..83e60a5 100644
--- a/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/provider/impl/SSHProvider.java
+++ b/modules/gfac/gfac-ssh/src/main/java/org/apache/airavata/gfac/ssh/provider/impl/SSHProvider.java
@@ -22,6 +22,7 @@
 package org.apache.airavata.gfac.ssh.provider.impl;
 
 import org.airavata.appcatalog.cpi.AppCatalogException;
+import org.apache.airavata.common.exception.AiravataException;
 import org.apache.airavata.common.exception.ApplicationSettingsException;
 import org.apache.airavata.common.utils.ServerSettings;
 import org.apache.airavata.gfac.Constants;
@@ -49,7 +50,6 @@ import org.apache.airavata.gsi.ssh.impl.StandardOutReader;
 import org.apache.airavata.model.appcatalog.appdeployment.SetEnvPaths;
 import org.apache.airavata.model.appcatalog.appinterface.DataType;
 import org.apache.airavata.model.appcatalog.appinterface.InputDataObjectType;
-import org.apache.airavata.model.appcatalog.computeresource.EmailMonitorProperty;
 import org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol;
 import org.apache.airavata.model.appcatalog.computeresource.MonitorMode;
 import org.apache.airavata.model.appcatalog.computeresource.ResourceJobManager;
@@ -381,13 +381,14 @@ public class SSHProvider extends AbstractProvider {
             SSHJobSubmission sshJobSubmission = jobExecutionContext.getAppCatalog().getComputeResource().getSSHJobSubmission(jobSubmissionInterfaceId);
             MonitorMode monitorMode = sshJobSubmission.getMonitorMode();
             if (monitorMode != null && monitorMode == MonitorMode.JOB_EMAIL_NOTIFICATION_MONITOR) {
-                EmailMonitorProperty emailMonitorProp = sshJobSubmission.getEmailMonitorProperty();
-                if (emailMonitorProp != null) {
-                    EmailBasedMonitor emailBasedMonitor = EmailMonitorFactory.getEmailBasedMonitor(emailMonitorProp,
+                try {
+                    EmailBasedMonitor emailBasedMonitor = EmailMonitorFactory.getEmailBasedMonitor(
                             sshJobSubmission.getResourceJobManager().getResourceJobManagerType());
                     emailBasedMonitor.addToJobMonitorMap(jobExecutionContext);
-                    return;
+                } catch (AiravataException e) {
+                    log.error("Couldn't active email monitoring, Error while initializing Email Based Monitor", e);
                 }
+                return;
             }
         }
 


[3/6] airavata git commit: Added db script modifications needed for fix AIRAVATA-1683

Posted by sh...@apache.org.
Added db script modifications needed for fix AIRAVATA-1683


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

Branch: refs/heads/master
Commit: 37e0f4a6d11ffbe3e099dfae0a3cd77d63ac1b2c
Parents: a5b7c59
Author: shamrath <sh...@gmail.com>
Authored: Tue Apr 21 09:33:23 2015 -0400
Committer: shamrath <sh...@gmail.com>
Committed: Tue Apr 21 09:33:23 2015 -0400

----------------------------------------------------------------------
 .../app-catalog-data/src/main/resources/appcatalog-derby.sql        | 1 +
 .../app-catalog-data/src/main/resources/appcatalog-mysql.sql        | 1 +
 2 files changed, 2 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/37e0f4a6/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-derby.sql
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-derby.sql b/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-derby.sql
index 4a0a725..dd7cb41 100644
--- a/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-derby.sql
+++ b/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-derby.sql
@@ -134,6 +134,7 @@ CREATE TABLE EMAIL_MONITOR_PROPERTY
          PASSWORD VARCHAR(255),
          FOLDER_NAME VARCHAR(255),
          EMAIL_PROTOCOL VARCHAR(255),
+         SENDER_EMAIL_ADDRESS VARCHAR(255),
          PRIMARY KEY(JOB_SUBMISSION_INTERFACE_ID),
          FOREIGN KEY (JOB_SUBMISSION_INTERFACE_ID) REFERENCES SSH_JOB_SUBMISSION(JOB_SUBMISSION_INTERFACE_ID)
 );

http://git-wip-us.apache.org/repos/asf/airavata/blob/37e0f4a6/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-mysql.sql
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-mysql.sql b/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-mysql.sql
index 0d4b146..c1b4757 100644
--- a/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-mysql.sql
+++ b/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-mysql.sql
@@ -143,6 +143,7 @@ CREATE TABLE EMAIL_MONITOR_PROPERTY
          PASSWORD VARCHAR(255),
          FOLDER_NAME VARCHAR(255),
          EMAIL_PROTOCOL VARCHAR(255),
+         SENDER_EMAIL_ADDRESS VARCHAR(255),
          PRIMARY KEY(JOB_SUBMISSION_INTERFACE_ID),
          FOREIGN KEY (JOB_SUBMISSION_INTERFACE_ID) REFERENCES SSH_JOB_SUBMISSION(JOB_SUBMISSION_INTERFACE_ID)
 );