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