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:12 UTC

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

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;
             }
         }