Repository: airavata Updated Branches: refs/heads/develop 3357169c6 -> 245319567
adding storage resource id to input and outputs Project: http://git-wip-us.apache.org/repos/asf/airavata/repo Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/24531956 Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/24531956 Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/24531956 Branch: refs/heads/develop Commit: 24531956710134f2fa65b4fe0d661f1489b5158e Parents: 3357169 Author: scnakandala <[email protected]> Authored: Thu Mar 24 15:35:24 2016 -0400 Committer: scnakandala <[email protected]> Committed: Thu Mar 24 15:35:24 2016 -0400 ---------------------------------------------------------------------- .../airavata/application_io_models_types.cpp | 44 +++++++ .../lib/airavata/application_io_models_types.h | 24 +++- .../lib/Airavata/Model/Application/Io/Types.php | 46 ++++++++ .../airavata/model/application/io/ttypes.py | 30 ++++- .../application/io/InputDataObjectType.java | 114 ++++++++++++++++++- .../application/io/OutputDataObjectType.java | 114 ++++++++++++++++++- .../server/OrchestratorServerHandler.java | 2 +- .../catalog/impl/ExperimentRegistry.java | 9 +- .../catalog/model/ExperimentInput.java | 10 ++ .../catalog/model/ExperimentOutput.java | 11 ++ .../experiment/catalog/model/ProcessInput.java | 11 ++ .../experiment/catalog/model/ProcessOutput.java | 11 ++ .../resources/ExperimentInputResource.java | 10 ++ .../resources/ExperimentOutputResource.java | 10 ++ .../catalog/resources/ProcessInputResource.java | 10 ++ .../resources/ProcessOutputResource.java | 10 ++ .../utils/ThriftDataModelConversion.java | 4 + .../src/main/resources/expcatalog-derby.sql | 4 + .../src/main/resources/expcatalog-mysql.sql | 4 + .../application_io_models.thrift | 6 +- 20 files changed, 466 insertions(+), 18 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/airavata/blob/24531956/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.cpp ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.cpp index 0604770..15baf31 100644 --- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.cpp +++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.cpp @@ -107,6 +107,11 @@ void InputDataObjectType::__set_dataStaged(const bool val) { __isset.dataStaged = true; } +void InputDataObjectType::__set_storageResourceId(const std::string& val) { + this->storageResourceId = val; +__isset.storageResourceId = true; +} + uint32_t InputDataObjectType::read(::apache::thrift::protocol::TProtocol* iprot) { apache::thrift::protocol::TInputRecursionTracker tracker(*iprot); @@ -219,6 +224,14 @@ uint32_t InputDataObjectType::read(::apache::thrift::protocol::TProtocol* iprot) xfer += iprot->skip(ftype); } break; + case 12: + if (ftype == ::apache::thrift::protocol::T_STRING) { + xfer += iprot->readString(this->storageResourceId); + this->__isset.storageResourceId = true; + } else { + xfer += iprot->skip(ftype); + } + break; default: xfer += iprot->skip(ftype); break; @@ -292,6 +305,11 @@ uint32_t InputDataObjectType::write(::apache::thrift::protocol::TProtocol* oprot xfer += oprot->writeBool(this->dataStaged); xfer += oprot->writeFieldEnd(); } + if (this->__isset.storageResourceId) { + xfer += oprot->writeFieldBegin("storageResourceId", ::apache::thrift::protocol::T_STRING, 12); + xfer += oprot->writeString(this->storageResourceId); + xfer += oprot->writeFieldEnd(); + } xfer += oprot->writeFieldStop(); xfer += oprot->writeStructEnd(); return xfer; @@ -310,6 +328,7 @@ void swap(InputDataObjectType &a, InputDataObjectType &b) { swap(a.isRequired, b.isRequired); swap(a.requiredToAddedToCommandLine, b.requiredToAddedToCommandLine); swap(a.dataStaged, b.dataStaged); + swap(a.storageResourceId, b.storageResourceId); swap(a.__isset, b.__isset); } @@ -325,6 +344,7 @@ InputDataObjectType::InputDataObjectType(const InputDataObjectType& other1) { isRequired = other1.isRequired; requiredToAddedToCommandLine = other1.requiredToAddedToCommandLine; dataStaged = other1.dataStaged; + storageResourceId = other1.storageResourceId; __isset = other1.__isset; } InputDataObjectType& InputDataObjectType::operator=(const InputDataObjectType& other2) { @@ -339,6 +359,7 @@ InputDataObjectType& InputDataObjectType::operator=(const InputDataObjectType& o isRequired = other2.isRequired; requiredToAddedToCommandLine = other2.requiredToAddedToCommandLine; dataStaged = other2.dataStaged; + storageResourceId = other2.storageResourceId; __isset = other2.__isset; return *this; } @@ -356,6 +377,7 @@ void InputDataObjectType::printTo(std::ostream& out) const { out << ", " << "isRequired="; (__isset.isRequired ? (out << to_string(isRequired)) : (out << "<null>")); out << ", " << "requiredToAddedToCommandLine="; (__isset.requiredToAddedToCommandLine ? (out << to_string(requiredToAddedToCommandLine)) : (out << "<null>")); out << ", " << "dataStaged="; (__isset.dataStaged ? (out << to_string(dataStaged)) : (out << "<null>")); + out << ", " << "storageResourceId="; (__isset.storageResourceId ? (out << to_string(storageResourceId)) : (out << "<null>")); out << ")"; } @@ -413,6 +435,11 @@ void OutputDataObjectType::__set_outputStreaming(const bool val) { __isset.outputStreaming = true; } +void OutputDataObjectType::__set_storageResourceId(const std::string& val) { + this->storageResourceId = val; +__isset.storageResourceId = true; +} + uint32_t OutputDataObjectType::read(::apache::thrift::protocol::TProtocol* iprot) { apache::thrift::protocol::TInputRecursionTracker tracker(*iprot); @@ -517,6 +544,14 @@ uint32_t OutputDataObjectType::read(::apache::thrift::protocol::TProtocol* iprot xfer += iprot->skip(ftype); } break; + case 11: + if (ftype == ::apache::thrift::protocol::T_STRING) { + xfer += iprot->readString(this->storageResourceId); + this->__isset.storageResourceId = true; + } else { + xfer += iprot->skip(ftype); + } + break; default: xfer += iprot->skip(ftype); break; @@ -585,6 +620,11 @@ uint32_t OutputDataObjectType::write(::apache::thrift::protocol::TProtocol* opro xfer += oprot->writeBool(this->outputStreaming); xfer += oprot->writeFieldEnd(); } + if (this->__isset.storageResourceId) { + xfer += oprot->writeFieldBegin("storageResourceId", ::apache::thrift::protocol::T_STRING, 11); + xfer += oprot->writeString(this->storageResourceId); + xfer += oprot->writeFieldEnd(); + } xfer += oprot->writeFieldStop(); xfer += oprot->writeStructEnd(); return xfer; @@ -602,6 +642,7 @@ void swap(OutputDataObjectType &a, OutputDataObjectType &b) { swap(a.location, b.location); swap(a.searchQuery, b.searchQuery); swap(a.outputStreaming, b.outputStreaming); + swap(a.storageResourceId, b.storageResourceId); swap(a.__isset, b.__isset); } @@ -616,6 +657,7 @@ OutputDataObjectType::OutputDataObjectType(const OutputDataObjectType& other4) { location = other4.location; searchQuery = other4.searchQuery; outputStreaming = other4.outputStreaming; + storageResourceId = other4.storageResourceId; __isset = other4.__isset; } OutputDataObjectType& OutputDataObjectType::operator=(const OutputDataObjectType& other5) { @@ -629,6 +671,7 @@ OutputDataObjectType& OutputDataObjectType::operator=(const OutputDataObjectType location = other5.location; searchQuery = other5.searchQuery; outputStreaming = other5.outputStreaming; + storageResourceId = other5.storageResourceId; __isset = other5.__isset; return *this; } @@ -645,6 +688,7 @@ void OutputDataObjectType::printTo(std::ostream& out) const { out << ", " << "location="; (__isset.location ? (out << to_string(location)) : (out << "<null>")); out << ", " << "searchQuery="; (__isset.searchQuery ? (out << to_string(searchQuery)) : (out << "<null>")); out << ", " << "outputStreaming="; (__isset.outputStreaming ? (out << to_string(outputStreaming)) : (out << "<null>")); + out << ", " << "storageResourceId="; (__isset.storageResourceId ? (out << to_string(storageResourceId)) : (out << "<null>")); out << ")"; } http://git-wip-us.apache.org/repos/asf/airavata/blob/24531956/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.h ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.h index 6180c2c..5a52589 100644 --- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.h +++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/application_io_models_types.h @@ -55,7 +55,7 @@ class InputDataObjectType; class OutputDataObjectType; typedef struct _InputDataObjectType__isset { - _InputDataObjectType__isset() : value(false), type(false), applicationArgument(false), standardInput(false), userFriendlyDescription(false), metaData(false), inputOrder(false), isRequired(false), requiredToAddedToCommandLine(false), dataStaged(false) {} + _InputDataObjectType__isset() : value(false), type(false), applicationArgument(false), standardInput(false), userFriendlyDescription(false), metaData(false), inputOrder(false), isRequired(false), requiredToAddedToCommandLine(false), dataStaged(false), storageResourceId(false) {} bool value :1; bool type :1; bool applicationArgument :1; @@ -66,6 +66,7 @@ typedef struct _InputDataObjectType__isset { bool isRequired :1; bool requiredToAddedToCommandLine :1; bool dataStaged :1; + bool storageResourceId :1; } _InputDataObjectType__isset; class InputDataObjectType { @@ -73,7 +74,7 @@ class InputDataObjectType { InputDataObjectType(const InputDataObjectType&); InputDataObjectType& operator=(const InputDataObjectType&); - InputDataObjectType() : name(), value(), type((DataType::type)0), applicationArgument(), standardInput(0), userFriendlyDescription(), metaData(), inputOrder(0), isRequired(0), requiredToAddedToCommandLine(0), dataStaged(0) { + InputDataObjectType() : name(), value(), type((DataType::type)0), applicationArgument(), standardInput(0), userFriendlyDescription(), metaData(), inputOrder(0), isRequired(0), requiredToAddedToCommandLine(0), dataStaged(0), storageResourceId() { } virtual ~InputDataObjectType() throw(); @@ -88,6 +89,7 @@ class InputDataObjectType { bool isRequired; bool requiredToAddedToCommandLine; bool dataStaged; + std::string storageResourceId; _InputDataObjectType__isset __isset; @@ -113,6 +115,8 @@ class InputDataObjectType { void __set_dataStaged(const bool val); + void __set_storageResourceId(const std::string& val); + bool operator == (const InputDataObjectType & rhs) const { if (!(name == rhs.name)) @@ -157,6 +161,10 @@ class InputDataObjectType { return false; else if (__isset.dataStaged && !(dataStaged == rhs.dataStaged)) return false; + if (__isset.storageResourceId != rhs.__isset.storageResourceId) + return false; + else if (__isset.storageResourceId && !(storageResourceId == rhs.storageResourceId)) + return false; return true; } bool operator != (const InputDataObjectType &rhs) const { @@ -180,7 +188,7 @@ inline std::ostream& operator<<(std::ostream& out, const InputDataObjectType& ob } typedef struct _OutputDataObjectType__isset { - _OutputDataObjectType__isset() : value(false), type(false), applicationArgument(false), isRequired(false), requiredToAddedToCommandLine(false), dataMovement(false), location(false), searchQuery(false), outputStreaming(false) {} + _OutputDataObjectType__isset() : value(false), type(false), applicationArgument(false), isRequired(false), requiredToAddedToCommandLine(false), dataMovement(false), location(false), searchQuery(false), outputStreaming(false), storageResourceId(false) {} bool value :1; bool type :1; bool applicationArgument :1; @@ -190,6 +198,7 @@ typedef struct _OutputDataObjectType__isset { bool location :1; bool searchQuery :1; bool outputStreaming :1; + bool storageResourceId :1; } _OutputDataObjectType__isset; class OutputDataObjectType { @@ -197,7 +206,7 @@ class OutputDataObjectType { OutputDataObjectType(const OutputDataObjectType&); OutputDataObjectType& operator=(const OutputDataObjectType&); - OutputDataObjectType() : name(), value(), type((DataType::type)0), applicationArgument(), isRequired(0), requiredToAddedToCommandLine(0), dataMovement(0), location(), searchQuery(), outputStreaming(0) { + OutputDataObjectType() : name(), value(), type((DataType::type)0), applicationArgument(), isRequired(0), requiredToAddedToCommandLine(0), dataMovement(0), location(), searchQuery(), outputStreaming(0), storageResourceId() { } virtual ~OutputDataObjectType() throw(); @@ -211,6 +220,7 @@ class OutputDataObjectType { std::string location; std::string searchQuery; bool outputStreaming; + std::string storageResourceId; _OutputDataObjectType__isset __isset; @@ -234,6 +244,8 @@ class OutputDataObjectType { void __set_outputStreaming(const bool val); + void __set_storageResourceId(const std::string& val); + bool operator == (const OutputDataObjectType & rhs) const { if (!(name == rhs.name)) @@ -274,6 +286,10 @@ class OutputDataObjectType { return false; else if (__isset.outputStreaming && !(outputStreaming == rhs.outputStreaming)) return false; + if (__isset.storageResourceId != rhs.__isset.storageResourceId) + return false; + else if (__isset.storageResourceId && !(storageResourceId == rhs.storageResourceId)) + return false; return true; } bool operator != (const OutputDataObjectType &rhs) const { http://git-wip-us.apache.org/repos/asf/airavata/blob/24531956/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Application/Io/Types.php ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Application/Io/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Application/Io/Types.php index cc208a6..b2890c1 100644 --- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Application/Io/Types.php +++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Application/Io/Types.php @@ -111,6 +111,10 @@ class InputDataObjectType { * @var bool */ public $dataStaged = null; + /** + * @var string + */ + public $storageResourceId = null; public function __construct($vals=null) { if (!isset(self::$_TSPEC)) { @@ -159,6 +163,10 @@ class InputDataObjectType { 'var' => 'dataStaged', 'type' => TType::BOOL, ), + 12 => array( + 'var' => 'storageResourceId', + 'type' => TType::STRING, + ), ); } if (is_array($vals)) { @@ -195,6 +203,9 @@ class InputDataObjectType { if (isset($vals['dataStaged'])) { $this->dataStaged = $vals['dataStaged']; } + if (isset($vals['storageResourceId'])) { + $this->storageResourceId = $vals['storageResourceId']; + } } } @@ -294,6 +305,13 @@ class InputDataObjectType { $xfer += $input->skip($ftype); } break; + case 12: + if ($ftype == TType::STRING) { + $xfer += $input->readString($this->storageResourceId); + } else { + $xfer += $input->skip($ftype); + } + break; default: $xfer += $input->skip($ftype); break; @@ -362,6 +380,11 @@ class InputDataObjectType { $xfer += $output->writeBool($this->dataStaged); $xfer += $output->writeFieldEnd(); } + if ($this->storageResourceId !== null) { + $xfer += $output->writeFieldBegin('storageResourceId', TType::STRING, 12); + $xfer += $output->writeString($this->storageResourceId); + $xfer += $output->writeFieldEnd(); + } $xfer += $output->writeFieldStop(); $xfer += $output->writeStructEnd(); return $xfer; @@ -438,6 +461,10 @@ class OutputDataObjectType { * @var bool */ public $outputStreaming = null; + /** + * @var string + */ + public $storageResourceId = null; public function __construct($vals=null) { if (!isset(self::$_TSPEC)) { @@ -482,6 +509,10 @@ class OutputDataObjectType { 'var' => 'outputStreaming', 'type' => TType::BOOL, ), + 11 => array( + 'var' => 'storageResourceId', + 'type' => TType::STRING, + ), ); } if (is_array($vals)) { @@ -515,6 +546,9 @@ class OutputDataObjectType { if (isset($vals['outputStreaming'])) { $this->outputStreaming = $vals['outputStreaming']; } + if (isset($vals['storageResourceId'])) { + $this->storageResourceId = $vals['storageResourceId']; + } } } @@ -607,6 +641,13 @@ class OutputDataObjectType { $xfer += $input->skip($ftype); } break; + case 11: + if ($ftype == TType::STRING) { + $xfer += $input->readString($this->storageResourceId); + } else { + $xfer += $input->skip($ftype); + } + break; default: $xfer += $input->skip($ftype); break; @@ -670,6 +711,11 @@ class OutputDataObjectType { $xfer += $output->writeBool($this->outputStreaming); $xfer += $output->writeFieldEnd(); } + if ($this->storageResourceId !== null) { + $xfer += $output->writeFieldBegin('storageResourceId', TType::STRING, 11); + $xfer += $output->writeString($this->storageResourceId); + $xfer += $output->writeFieldEnd(); + } $xfer += $output->writeFieldStop(); $xfer += $output->writeStructEnd(); return $xfer; http://git-wip-us.apache.org/repos/asf/airavata/blob/24531956/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/application/io/ttypes.py ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/application/io/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/application/io/ttypes.py index 1ce06c8..9a2cedf 100644 --- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/application/io/ttypes.py +++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/application/io/ttypes.py @@ -88,6 +88,7 @@ class InputDataObjectType: - isRequired - requiredToAddedToCommandLine - dataStaged + - storageResourceId """ thrift_spec = ( @@ -103,9 +104,10 @@ class InputDataObjectType: (9, TType.BOOL, 'isRequired', None, None, ), # 9 (10, TType.BOOL, 'requiredToAddedToCommandLine', None, None, ), # 10 (11, TType.BOOL, 'dataStaged', None, None, ), # 11 + (12, TType.STRING, 'storageResourceId', None, None, ), # 12 ) - def __init__(self, name=None, value=None, type=None, applicationArgument=None, standardInput=None, userFriendlyDescription=None, metaData=None, inputOrder=None, isRequired=None, requiredToAddedToCommandLine=None, dataStaged=None,): + def __init__(self, name=None, value=None, type=None, applicationArgument=None, standardInput=None, userFriendlyDescription=None, metaData=None, inputOrder=None, isRequired=None, requiredToAddedToCommandLine=None, dataStaged=None, storageResourceId=None,): self.name = name self.value = value self.type = type @@ -117,6 +119,7 @@ class InputDataObjectType: self.isRequired = isRequired self.requiredToAddedToCommandLine = requiredToAddedToCommandLine self.dataStaged = dataStaged + self.storageResourceId = storageResourceId 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: @@ -182,6 +185,11 @@ class InputDataObjectType: self.dataStaged = iprot.readBool() else: iprot.skip(ftype) + elif fid == 12: + if ftype == TType.STRING: + self.storageResourceId = iprot.readString() + else: + iprot.skip(ftype) else: iprot.skip(ftype) iprot.readFieldEnd() @@ -236,6 +244,10 @@ class InputDataObjectType: oprot.writeFieldBegin('dataStaged', TType.BOOL, 11) oprot.writeBool(self.dataStaged) oprot.writeFieldEnd() + if self.storageResourceId is not None: + oprot.writeFieldBegin('storageResourceId', TType.STRING, 12) + oprot.writeString(self.storageResourceId) + oprot.writeFieldEnd() oprot.writeFieldStop() oprot.writeStructEnd() @@ -258,6 +270,7 @@ class InputDataObjectType: value = (value * 31) ^ hash(self.isRequired) value = (value * 31) ^ hash(self.requiredToAddedToCommandLine) value = (value * 31) ^ hash(self.dataStaged) + value = (value * 31) ^ hash(self.storageResourceId) return value def __repr__(self): @@ -309,6 +322,7 @@ class OutputDataObjectType: - location - searchQuery - outputStreaming + - storageResourceId """ thrift_spec = ( @@ -323,9 +337,10 @@ class OutputDataObjectType: (8, TType.STRING, 'location', None, None, ), # 8 (9, TType.STRING, 'searchQuery', None, None, ), # 9 (10, TType.BOOL, 'outputStreaming', None, None, ), # 10 + (11, TType.STRING, 'storageResourceId', None, None, ), # 11 ) - def __init__(self, name=None, value=None, type=None, applicationArgument=None, isRequired=None, requiredToAddedToCommandLine=None, dataMovement=None, location=None, searchQuery=None, outputStreaming=None,): + def __init__(self, name=None, value=None, type=None, applicationArgument=None, isRequired=None, requiredToAddedToCommandLine=None, dataMovement=None, location=None, searchQuery=None, outputStreaming=None, storageResourceId=None,): self.name = name self.value = value self.type = type @@ -336,6 +351,7 @@ class OutputDataObjectType: self.location = location self.searchQuery = searchQuery self.outputStreaming = outputStreaming + self.storageResourceId = storageResourceId 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: @@ -396,6 +412,11 @@ class OutputDataObjectType: self.outputStreaming = iprot.readBool() else: iprot.skip(ftype) + elif fid == 11: + if ftype == TType.STRING: + self.storageResourceId = iprot.readString() + else: + iprot.skip(ftype) else: iprot.skip(ftype) iprot.readFieldEnd() @@ -446,6 +467,10 @@ class OutputDataObjectType: oprot.writeFieldBegin('outputStreaming', TType.BOOL, 10) oprot.writeBool(self.outputStreaming) oprot.writeFieldEnd() + if self.storageResourceId is not None: + oprot.writeFieldBegin('storageResourceId', TType.STRING, 11) + oprot.writeString(self.storageResourceId) + oprot.writeFieldEnd() oprot.writeFieldStop() oprot.writeStructEnd() @@ -467,6 +492,7 @@ class OutputDataObjectType: value = (value * 31) ^ hash(self.location) value = (value * 31) ^ hash(self.searchQuery) value = (value * 31) ^ hash(self.outputStreaming) + value = (value * 31) ^ hash(self.storageResourceId) return value def __repr__(self): http://git-wip-us.apache.org/repos/asf/airavata/blob/24531956/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java index e464551..3cf7d8a 100644 --- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java +++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/InputDataObjectType.java @@ -92,6 +92,7 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj private static final org.apache.thrift.protocol.TField IS_REQUIRED_FIELD_DESC = new org.apache.thrift.protocol.TField("isRequired", org.apache.thrift.protocol.TType.BOOL, (short)9); private static final org.apache.thrift.protocol.TField REQUIRED_TO_ADDED_TO_COMMAND_LINE_FIELD_DESC = new org.apache.thrift.protocol.TField("requiredToAddedToCommandLine", org.apache.thrift.protocol.TType.BOOL, (short)10); private static final org.apache.thrift.protocol.TField DATA_STAGED_FIELD_DESC = new org.apache.thrift.protocol.TField("dataStaged", org.apache.thrift.protocol.TType.BOOL, (short)11); + private static final org.apache.thrift.protocol.TField STORAGE_RESOURCE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("storageResourceId", org.apache.thrift.protocol.TType.STRING, (short)12); private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>(); static { @@ -110,6 +111,7 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj private boolean isRequired; // optional private boolean requiredToAddedToCommandLine; // optional private boolean dataStaged; // optional + private String storageResourceId; // optional /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ public enum _Fields implements org.apache.thrift.TFieldIdEnum { @@ -127,7 +129,8 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj INPUT_ORDER((short)8, "inputOrder"), IS_REQUIRED((short)9, "isRequired"), REQUIRED_TO_ADDED_TO_COMMAND_LINE((short)10, "requiredToAddedToCommandLine"), - DATA_STAGED((short)11, "dataStaged"); + DATA_STAGED((short)11, "dataStaged"), + STORAGE_RESOURCE_ID((short)12, "storageResourceId"); private static final Map<String, _Fields> byName = new HashMap<String, _Fields>(); @@ -164,6 +167,8 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj return REQUIRED_TO_ADDED_TO_COMMAND_LINE; case 11: // DATA_STAGED return DATA_STAGED; + case 12: // STORAGE_RESOURCE_ID + return STORAGE_RESOURCE_ID; default: return null; } @@ -210,7 +215,7 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj private static final int __REQUIREDTOADDEDTOCOMMANDLINE_ISSET_ID = 3; private static final int __DATASTAGED_ISSET_ID = 4; private byte __isset_bitfield = 0; - private static final _Fields optionals[] = {_Fields.VALUE,_Fields.TYPE,_Fields.APPLICATION_ARGUMENT,_Fields.STANDARD_INPUT,_Fields.USER_FRIENDLY_DESCRIPTION,_Fields.META_DATA,_Fields.INPUT_ORDER,_Fields.IS_REQUIRED,_Fields.REQUIRED_TO_ADDED_TO_COMMAND_LINE,_Fields.DATA_STAGED}; + private static final _Fields optionals[] = {_Fields.VALUE,_Fields.TYPE,_Fields.APPLICATION_ARGUMENT,_Fields.STANDARD_INPUT,_Fields.USER_FRIENDLY_DESCRIPTION,_Fields.META_DATA,_Fields.INPUT_ORDER,_Fields.IS_REQUIRED,_Fields.REQUIRED_TO_ADDED_TO_COMMAND_LINE,_Fields.DATA_STAGED,_Fields.STORAGE_RESOURCE_ID}; 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); @@ -236,6 +241,8 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL))); tmpMap.put(_Fields.DATA_STAGED, new org.apache.thrift.meta_data.FieldMetaData("dataStaged", org.apache.thrift.TFieldRequirementType.OPTIONAL, new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL))); + tmpMap.put(_Fields.STORAGE_RESOURCE_ID, new org.apache.thrift.meta_data.FieldMetaData("storageResourceId", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); metaDataMap = Collections.unmodifiableMap(tmpMap); org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(InputDataObjectType.class, metaDataMap); } @@ -278,6 +285,9 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj this.isRequired = other.isRequired; this.requiredToAddedToCommandLine = other.requiredToAddedToCommandLine; this.dataStaged = other.dataStaged; + if (other.isSetStorageResourceId()) { + this.storageResourceId = other.storageResourceId; + } } public InputDataObjectType deepCopy() { @@ -302,6 +312,7 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj this.requiredToAddedToCommandLine = false; setDataStagedIsSet(false); this.dataStaged = false; + this.storageResourceId = null; } public String getName() { @@ -560,6 +571,29 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __DATASTAGED_ISSET_ID, value); } + public String getStorageResourceId() { + return this.storageResourceId; + } + + public void setStorageResourceId(String storageResourceId) { + this.storageResourceId = storageResourceId; + } + + public void unsetStorageResourceId() { + this.storageResourceId = null; + } + + /** Returns true if field storageResourceId is set (has been assigned a value) and false otherwise */ + public boolean isSetStorageResourceId() { + return this.storageResourceId != null; + } + + public void setStorageResourceIdIsSet(boolean value) { + if (!value) { + this.storageResourceId = null; + } + } + public void setFieldValue(_Fields field, Object value) { switch (field) { case NAME: @@ -650,6 +684,14 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj } break; + case STORAGE_RESOURCE_ID: + if (value == null) { + unsetStorageResourceId(); + } else { + setStorageResourceId((String)value); + } + break; + } } @@ -688,6 +730,9 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj case DATA_STAGED: return isDataStaged(); + case STORAGE_RESOURCE_ID: + return getStorageResourceId(); + } throw new IllegalStateException(); } @@ -721,6 +766,8 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj return isSetRequiredToAddedToCommandLine(); case DATA_STAGED: return isSetDataStaged(); + case STORAGE_RESOURCE_ID: + return isSetStorageResourceId(); } throw new IllegalStateException(); } @@ -837,6 +884,15 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj return false; } + boolean this_present_storageResourceId = true && this.isSetStorageResourceId(); + boolean that_present_storageResourceId = true && that.isSetStorageResourceId(); + if (this_present_storageResourceId || that_present_storageResourceId) { + if (!(this_present_storageResourceId && that_present_storageResourceId)) + return false; + if (!this.storageResourceId.equals(that.storageResourceId)) + return false; + } + return true; } @@ -899,6 +955,11 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj if (present_dataStaged) list.add(dataStaged); + boolean present_storageResourceId = true && (isSetStorageResourceId()); + list.add(present_storageResourceId); + if (present_storageResourceId) + list.add(storageResourceId); + return list.hashCode(); } @@ -1020,6 +1081,16 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj return lastComparison; } } + lastComparison = Boolean.valueOf(isSetStorageResourceId()).compareTo(other.isSetStorageResourceId()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetStorageResourceId()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.storageResourceId, other.storageResourceId); + if (lastComparison != 0) { + return lastComparison; + } + } return 0; } @@ -1127,6 +1198,16 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj sb.append(this.dataStaged); first = false; } + if (isSetStorageResourceId()) { + if (!first) sb.append(", "); + sb.append("storageResourceId:"); + if (this.storageResourceId == null) { + sb.append("null"); + } else { + sb.append(this.storageResourceId); + } + first = false; + } sb.append(")"); return sb.toString(); } @@ -1264,6 +1345,14 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); } break; + case 12: // STORAGE_RESOURCE_ID + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.storageResourceId = iprot.readString(); + struct.setStorageResourceIdIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; default: org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); } @@ -1342,6 +1431,13 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj oprot.writeBool(struct.dataStaged); oprot.writeFieldEnd(); } + if (struct.storageResourceId != null) { + if (struct.isSetStorageResourceId()) { + oprot.writeFieldBegin(STORAGE_RESOURCE_ID_FIELD_DESC); + oprot.writeString(struct.storageResourceId); + oprot.writeFieldEnd(); + } + } oprot.writeFieldStop(); oprot.writeStructEnd(); } @@ -1391,7 +1487,10 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj if (struct.isSetDataStaged()) { optionals.set(9); } - oprot.writeBitSet(optionals, 10); + if (struct.isSetStorageResourceId()) { + optionals.set(10); + } + oprot.writeBitSet(optionals, 11); if (struct.isSetValue()) { oprot.writeString(struct.value); } @@ -1422,6 +1521,9 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj if (struct.isSetDataStaged()) { oprot.writeBool(struct.dataStaged); } + if (struct.isSetStorageResourceId()) { + oprot.writeString(struct.storageResourceId); + } } @Override @@ -1429,7 +1531,7 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj TTupleProtocol iprot = (TTupleProtocol) prot; struct.name = iprot.readString(); struct.setNameIsSet(true); - BitSet incoming = iprot.readBitSet(10); + BitSet incoming = iprot.readBitSet(11); if (incoming.get(0)) { struct.value = iprot.readString(); struct.setValueIsSet(true); @@ -1470,6 +1572,10 @@ public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObj struct.dataStaged = iprot.readBool(); struct.setDataStagedIsSet(true); } + if (incoming.get(10)) { + struct.storageResourceId = iprot.readString(); + struct.setStorageResourceIdIsSet(true); + } } } http://git-wip-us.apache.org/repos/asf/airavata/blob/24531956/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java ---------------------------------------------------------------------- diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java index 8128001..7cd3ed7 100644 --- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java +++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/application/io/OutputDataObjectType.java @@ -91,6 +91,7 @@ public class OutputDataObjectType implements org.apache.thrift.TBase<OutputDataO private static final org.apache.thrift.protocol.TField LOCATION_FIELD_DESC = new org.apache.thrift.protocol.TField("location", org.apache.thrift.protocol.TType.STRING, (short)8); private static final org.apache.thrift.protocol.TField SEARCH_QUERY_FIELD_DESC = new org.apache.thrift.protocol.TField("searchQuery", org.apache.thrift.protocol.TType.STRING, (short)9); private static final org.apache.thrift.protocol.TField OUTPUT_STREAMING_FIELD_DESC = new org.apache.thrift.protocol.TField("outputStreaming", org.apache.thrift.protocol.TType.BOOL, (short)10); + private static final org.apache.thrift.protocol.TField STORAGE_RESOURCE_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("storageResourceId", org.apache.thrift.protocol.TType.STRING, (short)11); private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>(); static { @@ -108,6 +109,7 @@ public class OutputDataObjectType implements org.apache.thrift.TBase<OutputDataO private String location; // optional private String searchQuery; // optional private boolean outputStreaming; // optional + private String storageResourceId; // optional /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */ public enum _Fields implements org.apache.thrift.TFieldIdEnum { @@ -124,7 +126,8 @@ public class OutputDataObjectType implements org.apache.thrift.TBase<OutputDataO DATA_MOVEMENT((short)7, "dataMovement"), LOCATION((short)8, "location"), SEARCH_QUERY((short)9, "searchQuery"), - OUTPUT_STREAMING((short)10, "outputStreaming"); + OUTPUT_STREAMING((short)10, "outputStreaming"), + STORAGE_RESOURCE_ID((short)11, "storageResourceId"); private static final Map<String, _Fields> byName = new HashMap<String, _Fields>(); @@ -159,6 +162,8 @@ public class OutputDataObjectType implements org.apache.thrift.TBase<OutputDataO return SEARCH_QUERY; case 10: // OUTPUT_STREAMING return OUTPUT_STREAMING; + case 11: // STORAGE_RESOURCE_ID + return STORAGE_RESOURCE_ID; default: return null; } @@ -204,7 +209,7 @@ public class OutputDataObjectType implements org.apache.thrift.TBase<OutputDataO private static final int __DATAMOVEMENT_ISSET_ID = 2; private static final int __OUTPUTSTREAMING_ISSET_ID = 3; private byte __isset_bitfield = 0; - private static final _Fields optionals[] = {_Fields.VALUE,_Fields.TYPE,_Fields.APPLICATION_ARGUMENT,_Fields.IS_REQUIRED,_Fields.REQUIRED_TO_ADDED_TO_COMMAND_LINE,_Fields.DATA_MOVEMENT,_Fields.LOCATION,_Fields.SEARCH_QUERY,_Fields.OUTPUT_STREAMING}; + private static final _Fields optionals[] = {_Fields.VALUE,_Fields.TYPE,_Fields.APPLICATION_ARGUMENT,_Fields.IS_REQUIRED,_Fields.REQUIRED_TO_ADDED_TO_COMMAND_LINE,_Fields.DATA_MOVEMENT,_Fields.LOCATION,_Fields.SEARCH_QUERY,_Fields.OUTPUT_STREAMING,_Fields.STORAGE_RESOURCE_ID}; 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); @@ -228,6 +233,8 @@ public class OutputDataObjectType implements org.apache.thrift.TBase<OutputDataO new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); tmpMap.put(_Fields.OUTPUT_STREAMING, new org.apache.thrift.meta_data.FieldMetaData("outputStreaming", org.apache.thrift.TFieldRequirementType.OPTIONAL, new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.BOOL))); + tmpMap.put(_Fields.STORAGE_RESOURCE_ID, new org.apache.thrift.meta_data.FieldMetaData("storageResourceId", org.apache.thrift.TFieldRequirementType.OPTIONAL, + new org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING))); metaDataMap = Collections.unmodifiableMap(tmpMap); org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(OutputDataObjectType.class, metaDataMap); } @@ -269,6 +276,9 @@ public class OutputDataObjectType implements org.apache.thrift.TBase<OutputDataO this.searchQuery = other.searchQuery; } this.outputStreaming = other.outputStreaming; + if (other.isSetStorageResourceId()) { + this.storageResourceId = other.storageResourceId; + } } public OutputDataObjectType deepCopy() { @@ -291,6 +301,7 @@ public class OutputDataObjectType implements org.apache.thrift.TBase<OutputDataO this.searchQuery = null; setOutputStreamingIsSet(false); this.outputStreaming = false; + this.storageResourceId = null; } public String getName() { @@ -527,6 +538,29 @@ public class OutputDataObjectType implements org.apache.thrift.TBase<OutputDataO __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __OUTPUTSTREAMING_ISSET_ID, value); } + public String getStorageResourceId() { + return this.storageResourceId; + } + + public void setStorageResourceId(String storageResourceId) { + this.storageResourceId = storageResourceId; + } + + public void unsetStorageResourceId() { + this.storageResourceId = null; + } + + /** Returns true if field storageResourceId is set (has been assigned a value) and false otherwise */ + public boolean isSetStorageResourceId() { + return this.storageResourceId != null; + } + + public void setStorageResourceIdIsSet(boolean value) { + if (!value) { + this.storageResourceId = null; + } + } + public void setFieldValue(_Fields field, Object value) { switch (field) { case NAME: @@ -609,6 +643,14 @@ public class OutputDataObjectType implements org.apache.thrift.TBase<OutputDataO } break; + case STORAGE_RESOURCE_ID: + if (value == null) { + unsetStorageResourceId(); + } else { + setStorageResourceId((String)value); + } + break; + } } @@ -644,6 +686,9 @@ public class OutputDataObjectType implements org.apache.thrift.TBase<OutputDataO case OUTPUT_STREAMING: return isOutputStreaming(); + case STORAGE_RESOURCE_ID: + return getStorageResourceId(); + } throw new IllegalStateException(); } @@ -675,6 +720,8 @@ public class OutputDataObjectType implements org.apache.thrift.TBase<OutputDataO return isSetSearchQuery(); case OUTPUT_STREAMING: return isSetOutputStreaming(); + case STORAGE_RESOURCE_ID: + return isSetStorageResourceId(); } throw new IllegalStateException(); } @@ -782,6 +829,15 @@ public class OutputDataObjectType implements org.apache.thrift.TBase<OutputDataO return false; } + boolean this_present_storageResourceId = true && this.isSetStorageResourceId(); + boolean that_present_storageResourceId = true && that.isSetStorageResourceId(); + if (this_present_storageResourceId || that_present_storageResourceId) { + if (!(this_present_storageResourceId && that_present_storageResourceId)) + return false; + if (!this.storageResourceId.equals(that.storageResourceId)) + return false; + } + return true; } @@ -839,6 +895,11 @@ public class OutputDataObjectType implements org.apache.thrift.TBase<OutputDataO if (present_outputStreaming) list.add(outputStreaming); + boolean present_storageResourceId = true && (isSetStorageResourceId()); + list.add(present_storageResourceId); + if (present_storageResourceId) + list.add(storageResourceId); + return list.hashCode(); } @@ -950,6 +1011,16 @@ public class OutputDataObjectType implements org.apache.thrift.TBase<OutputDataO return lastComparison; } } + lastComparison = Boolean.valueOf(isSetStorageResourceId()).compareTo(other.isSetStorageResourceId()); + if (lastComparison != 0) { + return lastComparison; + } + if (isSetStorageResourceId()) { + lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.storageResourceId, other.storageResourceId); + if (lastComparison != 0) { + return lastComparison; + } + } return 0; } @@ -1051,6 +1122,16 @@ public class OutputDataObjectType implements org.apache.thrift.TBase<OutputDataO sb.append(this.outputStreaming); first = false; } + if (isSetStorageResourceId()) { + if (!first) sb.append(", "); + sb.append("storageResourceId:"); + if (this.storageResourceId == null) { + sb.append("null"); + } else { + sb.append(this.storageResourceId); + } + first = false; + } sb.append(")"); return sb.toString(); } @@ -1180,6 +1261,14 @@ public class OutputDataObjectType implements org.apache.thrift.TBase<OutputDataO org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); } break; + case 11: // STORAGE_RESOURCE_ID + if (schemeField.type == org.apache.thrift.protocol.TType.STRING) { + struct.storageResourceId = iprot.readString(); + struct.setStorageResourceIdIsSet(true); + } else { + org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); + } + break; default: org.apache.thrift.protocol.TProtocolUtil.skip(iprot, schemeField.type); } @@ -1253,6 +1342,13 @@ public class OutputDataObjectType implements org.apache.thrift.TBase<OutputDataO oprot.writeBool(struct.outputStreaming); oprot.writeFieldEnd(); } + if (struct.storageResourceId != null) { + if (struct.isSetStorageResourceId()) { + oprot.writeFieldBegin(STORAGE_RESOURCE_ID_FIELD_DESC); + oprot.writeString(struct.storageResourceId); + oprot.writeFieldEnd(); + } + } oprot.writeFieldStop(); oprot.writeStructEnd(); } @@ -1299,7 +1395,10 @@ public class OutputDataObjectType implements org.apache.thrift.TBase<OutputDataO if (struct.isSetOutputStreaming()) { optionals.set(8); } - oprot.writeBitSet(optionals, 9); + if (struct.isSetStorageResourceId()) { + optionals.set(9); + } + oprot.writeBitSet(optionals, 10); if (struct.isSetValue()) { oprot.writeString(struct.value); } @@ -1327,6 +1426,9 @@ public class OutputDataObjectType implements org.apache.thrift.TBase<OutputDataO if (struct.isSetOutputStreaming()) { oprot.writeBool(struct.outputStreaming); } + if (struct.isSetStorageResourceId()) { + oprot.writeString(struct.storageResourceId); + } } @Override @@ -1334,7 +1436,7 @@ public class OutputDataObjectType implements org.apache.thrift.TBase<OutputDataO TTupleProtocol iprot = (TTupleProtocol) prot; struct.name = iprot.readString(); struct.setNameIsSet(true); - BitSet incoming = iprot.readBitSet(9); + BitSet incoming = iprot.readBitSet(10); if (incoming.get(0)) { struct.value = iprot.readString(); struct.setValueIsSet(true); @@ -1371,6 +1473,10 @@ public class OutputDataObjectType implements org.apache.thrift.TBase<OutputDataO struct.outputStreaming = iprot.readBool(); struct.setOutputStreamingIsSet(true); } + if (incoming.get(9)) { + struct.storageResourceId = iprot.readString(); + struct.setStorageResourceIdIsSet(true); + } } } http://git-wip-us.apache.org/repos/asf/airavata/blob/24531956/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java ---------------------------------------------------------------------- diff --git a/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java b/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java index c2574f4..1367e44 100644 --- a/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java +++ b/modules/orchestrator/orchestrator-service/src/main/java/org/apache/airavata/orchestrator/server/OrchestratorServerHandler.java @@ -170,8 +170,8 @@ public class OrchestratorServerHandler implements OrchestratorService.Iface { DataProductModel dataProductModel = replicaCatalog.getDataProduct(pi.getValue()); dataProductModel.getReplicaLocations().stream().filter(rpModel -> rpModel.getReplicaLocationCategory() .equals(ReplicaLocationCategory.GATEWAY_DATA_STORE)).forEach(rpModel -> { - //TODO Should set storage resource id specific to each of these inputs pi.setValue(rpModel.getFilePath()); + pi.setStorageResourceId(rpModel.getStorageResourceId()); }); } catch (ReplicaCatalogException e) { log.error(e.getMessage(), e); http://git-wip-us.apache.org/repos/asf/airavata/blob/24531956/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java index 98dfe91..e890905 100644 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/impl/ExperimentRegistry.java @@ -35,7 +35,6 @@ import org.apache.airavata.model.scheduling.ComputationalResourceSchedulingModel import org.apache.airavata.model.status.*; import org.apache.airavata.model.task.TaskModel; import org.apache.airavata.registry.core.experiment.catalog.ExpCatResourceUtils; -import org.apache.airavata.registry.core.experiment.catalog.ExperimentCatResource; import org.apache.airavata.registry.core.experiment.catalog.ResourceType; import org.apache.airavata.registry.core.experiment.catalog.resources.*; import org.apache.airavata.registry.core.experiment.catalog.utils.ThriftDataModelConversion; @@ -171,6 +170,7 @@ public class ExperimentRegistry { resource.setInputOrder(input.getInputOrder()); resource.setIsRequired(input.isIsRequired()); resource.setRequiredToAddedToCmd(input.isRequiredToAddedToCommandLine()); + resource.setStorageResourceId(input.getStorageResourceId()); resource.save(); } } catch (Exception e) { @@ -197,6 +197,7 @@ public class ExperimentRegistry { resource.setLocation(output.getLocation()); resource.setSearchQuery(output.getSearchQuery()); resource.setOutputStreaming(output.isOutputStreaming()); + resource.setStorageResourceId(output.getStorageResourceId()); resource.save(); } } catch (Exception e) { @@ -350,6 +351,7 @@ public class ExperimentRegistry { resource.setInputOrder(input.getInputOrder()); resource.setIsRequired(input.isIsRequired()); resource.setRequiredToAddedToCmd(input.isRequiredToAddedToCommandLine()); + resource.setStorageResourceId(input.getStorageResourceId()); resource.save(); } return processID; @@ -376,6 +378,7 @@ public class ExperimentRegistry { resource.setLocation(output.getLocation()); resource.setSearchQuery(output.getSearchQuery()); resource.setOutputStreaming(output.isOutputStreaming()); + resource.setStorageResourceId(output.getStorageResourceId()); resource.save(); } return processID; @@ -638,6 +641,7 @@ public class ExperimentRegistry { exinput.setInputOrder(input.getInputOrder()); exinput.setIsRequired(input.isIsRequired()); exinput.setRequiredToAddedToCmd(input.isRequiredToAddedToCommandLine()); + exinput.setStorageResourceId(input.getStorageResourceId()); exinput.save(); } } @@ -668,6 +672,7 @@ public class ExperimentRegistry { resource.setApplicationArgument(output.getApplicationArgument()); resource.setSearchQuery(output.getSearchQuery()); resource.setOutputStreaming(output.isOutputStreaming()); + resource.setStorageResourceId(output.getStorageResourceId()); resource.save(); } } @@ -810,6 +815,7 @@ public class ExperimentRegistry { exinput.setInputOrder(input.getInputOrder()); exinput.setIsRequired(input.isIsRequired()); exinput.setRequiredToAddedToCmd(input.isRequiredToAddedToCommandLine()); + exinput.setStorageResourceId(input.getStorageResourceId()); exinput.save(); } } @@ -841,6 +847,7 @@ public class ExperimentRegistry { resource.setApplicationArgument(output.getApplicationArgument()); resource.setSearchQuery(output.getSearchQuery()); resource.setOutputStreaming(output.isOutputStreaming()); + resource.setStorageResourceId(output.getStorageResourceId()); resource.save(); } } http://git-wip-us.apache.org/repos/asf/airavata/blob/24531956/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ExperimentInput.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ExperimentInput.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ExperimentInput.java index defb89d..dc49741 100644 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ExperimentInput.java +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ExperimentInput.java @@ -42,6 +42,7 @@ public class ExperimentInput { private boolean isRequired; private boolean requiredToAddedToCmd; private boolean dataStaged; + private String storageResourceId; private Experiment experiment; @Id @@ -146,6 +147,15 @@ public class ExperimentInput { this.requiredToAddedToCmd = requiredToAddedToCmd; } + @Column(name = "STORAGE_RESOURCE_ID") + public String getStorageResourceId() { + return storageResourceId; + } + + public void setStorageResourceId(String storageResourceId) { + this.storageResourceId = storageResourceId; + } + @Column(name = "DATA_STAGED") public boolean getDataStaged() { return dataStaged; http://git-wip-us.apache.org/repos/asf/airavata/blob/24531956/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ExperimentOutput.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ExperimentOutput.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ExperimentOutput.java index ead2148..18de2dc 100644 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ExperimentOutput.java +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ExperimentOutput.java @@ -41,6 +41,7 @@ public class ExperimentOutput { private boolean dataMovement; private String location; private String searchQuery; + private String storageResourceId; private Experiment experiment; @@ -146,6 +147,16 @@ public class ExperimentOutput { this.searchQuery = searchQuery; } + @Column(name = "STORAGE_RESOURCE_ID") + public String getStorageResourceId() { + return storageResourceId; + } + + public void setStorageResourceId(String storageResourceId) { + this.storageResourceId = storageResourceId; + } + + // @Override // public boolean equals(Object o) { // if (this == o) return true; http://git-wip-us.apache.org/repos/asf/airavata/blob/24531956/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessInput.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessInput.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessInput.java index 69631d3..0e30164 100644 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessInput.java +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessInput.java @@ -43,6 +43,7 @@ public class ProcessInput { private boolean isRequired; private boolean requiredToAddedToCmd; private boolean dataStaged; + private String storageResourceId; private Process process; @Id @@ -156,6 +157,16 @@ public class ProcessInput { this.dataStaged = dataStaged; } + @Column(name = "STORAGE_RESOURCE_ID") + public String getStorageResourceId() { + return storageResourceId; + } + + public void setStorageResourceId(String storageResourceId) { + this.storageResourceId = storageResourceId; + } + + // @Override // public boolean equals(Object o) { // if (this == o) return true; http://git-wip-us.apache.org/repos/asf/airavata/blob/24531956/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessOutput.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessOutput.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessOutput.java index ddf53b3..06971c2 100644 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessOutput.java +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessOutput.java @@ -43,6 +43,7 @@ public class ProcessOutput { private String searchQuery; private Process process; private boolean outputStreaming; + private String storageResourceId; @Id @Column(name = "PROCESS_ID") @@ -146,6 +147,16 @@ public class ProcessOutput { this.outputStreaming = outputStreaming; } + @Column(name = "STORAGE_RESOURCE_ID") + public String getStorageResourceId() { + return storageResourceId; + } + + public void setStorageResourceId(String storageResourceId) { + this.storageResourceId = storageResourceId; + } + + // @Override // public boolean equals(Object o) { // if (this == o) return true; http://git-wip-us.apache.org/repos/asf/airavata/blob/24531956/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentInputResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentInputResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentInputResource.java index eea0a8d..e20aa25 100644 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentInputResource.java +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentInputResource.java @@ -47,6 +47,7 @@ public class ExperimentInputResource extends AbstractExpCatResource { private boolean isRequired; private boolean requiredToAddedToCmd; private boolean dataStaged = false; + private String storageResourceId; public String getExperimentId() { return experimentId; @@ -136,6 +137,14 @@ public class ExperimentInputResource extends AbstractExpCatResource { this.requiredToAddedToCmd = requiredToAddedToCmd; } + public String getStorageResourceId() { + return storageResourceId; + } + + public void setStorageResourceId(String storageResourceId) { + this.storageResourceId = storageResourceId; + } + public boolean getDataStaged() { return dataStaged; } @@ -206,6 +215,7 @@ public class ExperimentInputResource extends AbstractExpCatResource { experimentInput.setIsRequired(isRequired); experimentInput.setRequiredToAddedToCmd(requiredToAddedToCmd); experimentInput.setDataStaged(dataStaged); + experimentInput.setStorageResourceId(storageResourceId); if (existingExpInput == null){ em.persist(experimentInput); }else { http://git-wip-us.apache.org/repos/asf/airavata/blob/24531956/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentOutputResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentOutputResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentOutputResource.java index 7a60366..47e492b 100644 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentOutputResource.java +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentOutputResource.java @@ -46,6 +46,7 @@ public class ExperimentOutputResource extends AbstractExpCatResource { private String location; private String searchQuery; private boolean outputStreaming; + private String storageResourceId; public String getExperimentId() { return experimentId; @@ -135,6 +136,14 @@ public class ExperimentOutputResource extends AbstractExpCatResource { return outputStreaming; } + public String getStorageResourceId() { + return storageResourceId; + } + + public void setStorageResourceId(String storageResourceId) { + this.storageResourceId = storageResourceId; + } + public ExperimentCatResource create(ResourceType type) throws RegistryException { logger.error("Unsupported resource type for process output data resource.", new UnsupportedOperationException()); throw new UnsupportedOperationException(); @@ -196,6 +205,7 @@ public class ExperimentOutputResource extends AbstractExpCatResource { experimentOutput.setLocation(location); experimentOutput.setSearchQuery(searchQuery); experimentOutput.setOutputStreaming(outputStreaming); + experimentOutput.setStorageResourceId(storageResourceId); if (existingExpOutput == null){ em.persist(experimentOutput); }else { http://git-wip-us.apache.org/repos/asf/airavata/blob/24531956/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProcessInputResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProcessInputResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProcessInputResource.java index a73b6e3..fa09e88 100644 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProcessInputResource.java +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProcessInputResource.java @@ -47,6 +47,7 @@ public class ProcessInputResource extends AbstractExpCatResource { private boolean isRequired = false; private boolean requiredToAddedToCmd = false; private boolean dataStaged = false; + private String storageResourceId; public String getProcessId() { return processId; @@ -144,6 +145,14 @@ public class ProcessInputResource extends AbstractExpCatResource { this.dataStaged = dataStaged; } + public String getStorageResourceId() { + return storageResourceId; + } + + public void setStorageResourceId(String storageResourceId) { + this.storageResourceId = storageResourceId; + } + public ExperimentCatResource create(ResourceType type) throws RegistryException { logger.error("Unsupported resource type for process input data resource.", new UnsupportedOperationException()); throw new UnsupportedOperationException(); @@ -206,6 +215,7 @@ public class ProcessInputResource extends AbstractExpCatResource { processInput.setIsRequired(isRequired); processInput.setRequiredToAddedToCmd(requiredToAddedToCmd); processInput.setDataStaged(dataStaged); + processInput.setStorageResourceId(storageResourceId); if (existingProInput == null){ em.persist(processInput); }else { http://git-wip-us.apache.org/repos/asf/airavata/blob/24531956/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProcessOutputResource.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProcessOutputResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProcessOutputResource.java index 290ee9a..ff10343 100644 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProcessOutputResource.java +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProcessOutputResource.java @@ -46,6 +46,7 @@ public class ProcessOutputResource extends AbstractExpCatResource { private String location; private String searchQuery; private boolean outputStreaming; + private String storageResourceId; public String getProcessId() { return processId; @@ -135,6 +136,14 @@ public class ProcessOutputResource extends AbstractExpCatResource { this.outputStreaming = outputStreaming; } + public String getStorageResourceId() { + return storageResourceId; + } + + public void setStorageResourceId(String storageResourceId) { + this.storageResourceId = storageResourceId; + } + public ExperimentCatResource create(ResourceType type) throws RegistryException { logger.error("Unsupported resource type for process output data resource.", new UnsupportedOperationException()); throw new UnsupportedOperationException(); @@ -197,6 +206,7 @@ public class ProcessOutputResource extends AbstractExpCatResource { processOutput.setLocation(location); processOutput.setSearchQuery(searchQuery); processOutput.setOutputStreaming(outputStreaming); + processOutput.setStorageResourceId(storageResourceId); if (existingProcessOutput == null){ em.persist(processOutput); }else { http://git-wip-us.apache.org/repos/asf/airavata/blob/24531956/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java index 1eea10d..1e6dda1 100644 --- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java +++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/utils/ThriftDataModelConversion.java @@ -166,6 +166,7 @@ public class ThriftDataModelConversion { dataObjectType.setIsRequired(inputResource.getIsRequired()); dataObjectType.setRequiredToAddedToCommandLine(inputResource.getRequiredToAddedToCmd()); dataObjectType.setDataStaged(inputResource.getDataStaged()); + dataObjectType.setStorageResourceId(inputResource.getStorageResourceId()); return dataObjectType; }else if (object instanceof ProcessInputResource){ ProcessInputResource inputResource = (ProcessInputResource)object; @@ -180,6 +181,7 @@ public class ThriftDataModelConversion { dataObjectType.setIsRequired(inputResource.getIsRequired()); dataObjectType.setRequiredToAddedToCommandLine(inputResource.getRequiredToAddedToCmd()); dataObjectType.setDataStaged(inputResource.getDataStaged()); + dataObjectType.setStorageResourceId(inputResource.getStorageResourceId()); return dataObjectType; }else { return null; @@ -203,6 +205,7 @@ public class ThriftDataModelConversion { dataObjectType.setLocation(outputResource.getLocation()); dataObjectType.setSearchQuery(outputResource.getSearchQuery()); dataObjectType.setOutputStreaming(outputResource.isOutputStreaming()); + dataObjectType.setStorageResourceId(outputResource.getStorageResourceId()); return dataObjectType; }else if (object instanceof ProcessOutputResource) { ProcessOutputResource outputResource = (ProcessOutputResource) object; @@ -216,6 +219,7 @@ public class ThriftDataModelConversion { dataObjectType.setLocation(outputResource.getLocation()); dataObjectType.setSearchQuery(outputResource.getSearchQuery()); dataObjectType.setOutputStreaming(outputResource.isOutputStreaming()); + dataObjectType.setStorageResourceId(outputResource.getStorageResourceId()); return dataObjectType; } else { return null; http://git-wip-us.apache.org/repos/asf/airavata/blob/24531956/modules/registry/registry-core/src/main/resources/expcatalog-derby.sql ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/resources/expcatalog-derby.sql b/modules/registry/registry-core/src/main/resources/expcatalog-derby.sql index 904d37a..dd2c9ee 100644 --- a/modules/registry/registry-core/src/main/resources/expcatalog-derby.sql +++ b/modules/registry/registry-core/src/main/resources/expcatalog-derby.sql @@ -97,6 +97,7 @@ CREATE TABLE EXPERIMENT_INPUT IS_REQUIRED SMALLINT, REQUIRED_TO_ADDED_TO_CMD SMALLINT, DATA_STAGED SMALLINT, + STORAGE_RESOURCE_ID varchar(255), PRIMARY KEY(EXPERIMENT_ID,INPUT_NAME), FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE ); @@ -114,6 +115,7 @@ CREATE TABLE EXPERIMENT_OUTPUT LOCATION varchar(255), SEARCH_QUERY varchar(255), OUTPUT_STREAMING SMALLINT, + STORAGE_RESOURCE_ID varchar(255), PRIMARY KEY(EXPERIMENT_ID,OUTPUT_NAME), FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE ); @@ -212,6 +214,7 @@ CREATE TABLE PROCESS_INPUT IS_REQUIRED SMALLINT, REQUIRED_TO_ADDED_TO_CMD SMALLINT, DATA_STAGED SMALLINT, + STORAGE_RESOURCE_ID varchar(255), PRIMARY KEY(PROCESS_ID,INPUT_NAME), FOREIGN KEY (PROCESS_ID) REFERENCES PROCESS(PROCESS_ID) ON DELETE CASCADE ); @@ -229,6 +232,7 @@ CREATE TABLE PROCESS_OUTPUT LOCATION varchar(255), SEARCH_QUERY varchar(255), OUTPUT_STREAMING SMALLINT, + STORAGE_RESOURCE_ID varchar(255), PRIMARY KEY(PROCESS_ID,OUTPUT_NAME), FOREIGN KEY (PROCESS_ID) REFERENCES PROCESS(PROCESS_ID) ON DELETE CASCADE ); http://git-wip-us.apache.org/repos/asf/airavata/blob/24531956/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql ---------------------------------------------------------------------- diff --git a/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql b/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql index 2a2ba01..aef0b89 100644 --- a/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql +++ b/modules/registry/registry-core/src/main/resources/expcatalog-mysql.sql @@ -98,6 +98,7 @@ CREATE TABLE EXPERIMENT_INPUT IS_REQUIRED tinyint(1), REQUIRED_TO_ADDED_TO_CMD tinyint(1), DATA_STAGED tinyint(1), + STORAGE_RESOURCE_ID varchar(255), PRIMARY KEY(EXPERIMENT_ID,INPUT_NAME), FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE ); @@ -115,6 +116,7 @@ CREATE TABLE EXPERIMENT_OUTPUT LOCATION varchar(255), SEARCH_QUERY varchar(255), OUTPUT_STREAMING SMALLINT, + STORAGE_RESOURCE_ID varchar(255), PRIMARY KEY(EXPERIMENT_ID,OUTPUT_NAME), FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE ); @@ -216,6 +218,7 @@ CREATE TABLE PROCESS_INPUT IS_REQUIRED tinyint(1), REQUIRED_TO_ADDED_TO_CMD tinyint(1), DATA_STAGED tinyint(1), + STORAGE_RESOURCE_ID varchar(255), PRIMARY KEY(PROCESS_ID,INPUT_NAME), FOREIGN KEY (PROCESS_ID) REFERENCES PROCESS(PROCESS_ID) ON DELETE CASCADE ); @@ -233,6 +236,7 @@ CREATE TABLE PROCESS_OUTPUT LOCATION varchar(255), SEARCH_QUERY varchar(255), OUTPUT_STREAMING SMALLINT, + STORAGE_RESOURCE_ID varchar(255), PRIMARY KEY(PROCESS_ID,OUTPUT_NAME), FOREIGN KEY (PROCESS_ID) REFERENCES PROCESS(PROCESS_ID) ON DELETE CASCADE ); http://git-wip-us.apache.org/repos/asf/airavata/blob/24531956/thrift-interface-descriptions/data-models/app-catalog-models/application_io_models.thrift ---------------------------------------------------------------------- diff --git a/thrift-interface-descriptions/data-models/app-catalog-models/application_io_models.thrift b/thrift-interface-descriptions/data-models/app-catalog-models/application_io_models.thrift index 667a3e7..5098735 100644 --- a/thrift-interface-descriptions/data-models/app-catalog-models/application_io_models.thrift +++ b/thrift-interface-descriptions/data-models/app-catalog-models/application_io_models.thrift @@ -75,7 +75,8 @@ struct InputDataObjectType { 8: optional i32 inputOrder, 9: optional bool isRequired, 10: optional bool requiredToAddedToCommandLine, - 11: optional bool dataStaged + 11: optional bool dataStaged, + 12: optional string storageResourceId } /** @@ -114,5 +115,6 @@ struct OutputDataObjectType { 7: optional bool dataMovement, 8: optional string location, 9: optional string searchQuery, - 10: optional bool outputStreaming + 10: optional bool outputStreaming, + 11: optional string storageResourceId, } \ No newline at end of file
