airavata-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From scnakand...@apache.org
Subject [06/51] [abbrv] airavata git commit: data manager WIP
Date Wed, 23 Dec 2015 06:53:11 GMT
data manager WIP


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

Branch: refs/heads/develop
Commit: e1a0772f3e989a12febfecd951ca381349bfd5e4
Parents: 47ae5b3
Author: scnakandala <supun.nakandala@gmail.com>
Authored: Tue Dec 22 13:57:39 2015 -0500
Committer: scnakandala <supun.nakandala@gmail.com>
Committed: Tue Dec 22 13:57:40 2015 -0500

----------------------------------------------------------------------
 .../java/org/apache/airavata/api/Airavata.java  |   2 +-
 .../airavata/replica_catalog_models_types.cpp   | 122 ++++-
 .../lib/airavata/replica_catalog_models_types.h |  32 +-
 .../lib/airavata/security_model_types.cpp       |  17 +-
 .../lib/airavata/security_model_types.h         |   7 +-
 .../lib/Airavata/Model/Data/Resource/Types.php  | 151 ++++--
 .../airavata/model/data/resource/ttypes.py      | 129 +++--
 .../apache/airavata/model/security/ttypes.py    |   2 +
 .../org/apache/airavata/model/Workflow.java     |   2 +-
 .../ApplicationDeploymentDescription.java       |   2 +-
 .../appdeployment/ApplicationModule.java        |   2 +-
 .../appcatalog/appdeployment/CommandObject.java |   2 +-
 .../appcatalog/appdeployment/SetEnvPaths.java   |   2 +-
 .../ApplicationInterfaceDescription.java        |   2 +-
 .../appcatalog/computeresource/BatchQueue.java  |   2 +-
 .../computeresource/CloudJobSubmission.java     |   2 +-
 .../ComputeResourceDescription.java             |   2 +-
 .../computeresource/GlobusJobSubmission.java    |   2 +-
 .../computeresource/JobSubmissionInterface.java |   2 +-
 .../computeresource/LOCALSubmission.java        |   2 +-
 .../computeresource/ResourceJobManager.java     |   2 +-
 .../computeresource/SSHJobSubmission.java       |   2 +-
 .../computeresource/UnicoreJobSubmission.java   |   2 +-
 .../ComputeResourcePreference.java              |   2 +-
 .../gatewayprofile/GatewayResourceProfile.java  |   2 +-
 .../gatewayprofile/StoragePreference.java       |   2 +-
 .../StorageResourceDescription.java             |   2 +-
 .../application/io/InputDataObjectType.java     |   2 +-
 .../application/io/OutputDataObjectType.java    |   2 +-
 .../airavata/model/commons/ErrorModel.java      |   2 +-
 .../model/commons/ValidationResults.java        |   2 +-
 .../airavata/model/commons/ValidatorResult.java |   2 +-
 .../data/movement/DataMovementInterface.java    |   2 +-
 .../data/movement/GridFTPDataMovement.java      |   2 +-
 .../model/data/movement/LOCALDataMovement.java  |   2 +-
 .../model/data/movement/SCPDataMovement.java    |   2 +-
 .../data/movement/UnicoreDataMovement.java      |   2 +-
 .../data/resource/DataReplicaLocationModel.java | 208 ++++++--
 .../model/data/resource/DataResourceModel.java  | 302 +++++++++--
 .../model/error/AiravataClientException.java    |   2 +-
 .../model/error/AiravataSystemException.java    |   2 +-
 .../model/error/AuthenticationException.java    |   2 +-
 .../model/error/AuthorizationException.java     |   2 +-
 .../error/ExperimentNotFoundException.java      |   2 +-
 .../model/error/InvalidRequestException.java    |   2 +-
 .../model/error/LaunchValidationException.java  |   2 +-
 .../model/error/ProjectNotFoundException.java   |   2 +-
 .../airavata/model/error/TimedOutException.java |   2 +-
 .../airavata/model/error/ValidationResults.java |   2 +-
 .../airavata/model/error/ValidatorResult.java   |   2 +-
 .../model/experiment/ExperimentModel.java       |   2 +-
 .../model/experiment/ExperimentStatistics.java  |   2 +-
 .../experiment/ExperimentSummaryModel.java      |   2 +-
 .../experiment/UserConfigurationDataModel.java  |   2 +-
 .../org/apache/airavata/model/job/JobModel.java |   2 +-
 .../event/ExperimentStatusChangeEvent.java      |   2 +-
 .../model/messaging/event/JobIdentifier.java    |   2 +-
 .../messaging/event/JobStatusChangeEvent.java   |   2 +-
 .../event/JobStatusChangeRequestEvent.java      |   2 +-
 .../airavata/model/messaging/event/Message.java |   2 +-
 .../messaging/event/ProcessIdentifier.java      |   2 +-
 .../event/ProcessStatusChangeEvent.java         |   2 +-
 .../event/ProcessStatusChangeRequestEvent.java  |   2 +-
 .../messaging/event/ProcessSubmitEvent.java     |   2 +-
 .../messaging/event/ProcessTerminateEvent.java  |   2 +-
 .../model/messaging/event/TaskIdentifier.java   |   2 +-
 .../messaging/event/TaskOutputChangeEvent.java  |   2 +-
 .../messaging/event/TaskStatusChangeEvent.java  |   2 +-
 .../event/TaskStatusChangeRequestEvent.java     |   2 +-
 .../airavata/model/process/ProcessModel.java    |   2 +-
 .../ComputationalResourceSchedulingModel.java   |   2 +-
 .../airavata/model/security/AuthzToken.java     |  60 +--
 .../airavata/model/status/ExperimentStatus.java |   2 +-
 .../apache/airavata/model/status/JobStatus.java |   2 +-
 .../airavata/model/status/ProcessStatus.java    |   2 +-
 .../airavata/model/status/TaskStatus.java       |   2 +-
 .../model/task/DataStagingTaskModel.java        |   2 +-
 .../model/task/EnvironmentSetupTaskModel.java   |   2 +-
 .../model/task/JobSubmissionTaskModel.java      |   2 +-
 .../airavata/model/task/MonitorTaskModel.java   |   2 +-
 .../apache/airavata/model/task/TaskModel.java   |   2 +-
 .../airavata/model/workspace/Gateway.java       |   2 +-
 .../apache/airavata/model/workspace/Group.java  |   2 +-
 .../airavata/model/workspace/Project.java       |   2 +-
 .../apache/airavata/model/workspace/User.java   |   2 +-
 modules/data-manager/data-manager-core/pom.xml  |  61 ---
 .../data/manager/core/DataManagerFactory.java   |  34 --
 .../data/manager/core/DataManagerImpl.java      | 444 ----------------
 .../data/manager/core/ssh/CommandOutput.java    |  34 --
 .../data/manager/core/ssh/SSHApiException.java  |  33 --
 .../data/manager/core/ssh/SSHUtils.java         | 506 -------------------
 .../manager/core/ssh/StandardOutReader.java     |  86 ----
 .../manager/core/DataManagerFactoryTest.java    |  45 --
 .../data/manager/core/DataManagerImplTest.java  | 208 --------
 .../data/manager/core/utils/AppCatInit.java     | 320 ------------
 .../data/manager/core/utils/DataCatInit.java    | 315 ------------
 modules/data-manager/data-manager-cpi/pom.xml   |  30 --
 .../airavata/data/manager/cpi/DataManager.java  | 121 -----
 .../data/manager/cpi/DataManagerConstants.java  |  28 -
 .../data/manager/cpi/DataManagerException.java  |  35 --
 modules/data-manager/pom.xml                    |  54 --
 modules/file-manager/data-manager-core/pom.xml  |  61 +++
 .../data/manager/core/DataManagerFactory.java   |  34 ++
 .../data/manager/core/DataManagerImpl.java      | 444 ++++++++++++++++
 .../data/manager/core/ssh/CommandOutput.java    |  34 ++
 .../data/manager/core/ssh/SSHApiException.java  |  33 ++
 .../data/manager/core/ssh/SSHUtils.java         | 506 +++++++++++++++++++
 .../manager/core/ssh/StandardOutReader.java     |  86 ++++
 .../manager/core/DataManagerFactoryTest.java    |  45 ++
 .../data/manager/core/DataManagerImplTest.java  | 208 ++++++++
 .../data/manager/core/utils/AppCatInit.java     | 320 ++++++++++++
 .../data/manager/core/utils/DataCatInit.java    | 315 ++++++++++++
 modules/file-manager/data-manager-cpi/pom.xml   |  30 ++
 .../airavata/data/manager/cpi/DataManager.java  | 121 +++++
 .../data/manager/cpi/DataManagerConstants.java  |  28 +
 .../data/manager/cpi/DataManagerException.java  |  35 ++
 .../data/manager/cpi/FileTransferService.java   |  40 ++
 modules/file-manager/pom.xml                    |  54 ++
 pom.xml                                         |   2 +-
 .../airavata-apis/airavata_api.thrift           |   2 +-
 .../data-models/airavata_data_models.thrift     |   3 +-
 .../replica_catalog_models.thrift               |  74 ---
 .../data-manager-models/file_models.thrift      |  41 ++
 .../data-manager-models/metadata_models.thrift  |  19 +
 .../data-manager-models/replica_models.thrift   |  77 +++
 125 files changed, 3383 insertions(+), 2763 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/e1a0772f/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
index f536a49..816a39f 100644
--- a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
+++ b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-21")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
 public class Airavata {
 
   public interface Iface {

http://git-wip-us.apache.org/repos/asf/airavata/blob/e1a0772f/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/replica_catalog_models_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/replica_catalog_models_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/replica_catalog_models_types.cpp
index 5f634dc..aa4741b 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/replica_catalog_models_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/replica_catalog_models_types.cpp
@@ -99,6 +99,11 @@ void DataResourceModel::__set_ownerName(const std::string& val) {
 __isset.ownerName = true;
 }
 
+void DataResourceModel::__set_sha256Checksum(const std::string& val) {
+  this->sha256Checksum = val;
+__isset.sha256Checksum = true;
+}
+
 void DataResourceModel::__set_dataResourceType(const DataResourceType::type val) {
   this->dataResourceType = val;
 __isset.dataResourceType = true;
@@ -109,6 +114,11 @@ void DataResourceModel::__set_resourceSize(const int32_t val) {
 __isset.resourceSize = true;
 }
 
+void DataResourceModel::__set_nativeFormat(const std::string& val) {
+  this->nativeFormat = val;
+__isset.nativeFormat = true;
+}
+
 void DataResourceModel::__set_creationTime(const int64_t val) {
   this->creationTime = val;
 __isset.creationTime = true;
@@ -204,6 +214,14 @@ uint32_t DataResourceModel::read(::apache::thrift::protocol::TProtocol* iprot) {
         }
         break;
       case 7:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->sha256Checksum);
+          this->__isset.sha256Checksum = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 8:
         if (ftype == ::apache::thrift::protocol::T_I32) {
           int32_t ecast0;
           xfer += iprot->readI32(ecast0);
@@ -213,7 +231,7 @@ uint32_t DataResourceModel::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 8:
+      case 9:
         if (ftype == ::apache::thrift::protocol::T_I32) {
           xfer += iprot->readI32(this->resourceSize);
           this->__isset.resourceSize = true;
@@ -221,7 +239,15 @@ uint32_t DataResourceModel::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 9:
+      case 10:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->nativeFormat);
+          this->__isset.nativeFormat = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 11:
         if (ftype == ::apache::thrift::protocol::T_I64) {
           xfer += iprot->readI64(this->creationTime);
           this->__isset.creationTime = true;
@@ -229,7 +255,7 @@ uint32_t DataResourceModel::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 10:
+      case 12:
         if (ftype == ::apache::thrift::protocol::T_I64) {
           xfer += iprot->readI64(this->lastModifiedTime);
           this->__isset.lastModifiedTime = true;
@@ -237,7 +263,7 @@ uint32_t DataResourceModel::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 11:
+      case 13:
         if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
             this->resourceMetadata.clear();
@@ -260,7 +286,7 @@ uint32_t DataResourceModel::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 12:
+      case 14:
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->replicaLocations.clear();
@@ -280,7 +306,7 @@ uint32_t DataResourceModel::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 13:
+      case 15:
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->childResources.clear();
@@ -347,28 +373,38 @@ uint32_t DataResourceModel::write(::apache::thrift::protocol::TProtocol* oprot)
     xfer += oprot->writeString(this->ownerName);
     xfer += oprot->writeFieldEnd();
   }
+  if (this->__isset.sha256Checksum) {
+    xfer += oprot->writeFieldBegin("sha256Checksum", ::apache::thrift::protocol::T_STRING, 7);
+    xfer += oprot->writeString(this->sha256Checksum);
+    xfer += oprot->writeFieldEnd();
+  }
   if (this->__isset.dataResourceType) {
-    xfer += oprot->writeFieldBegin("dataResourceType", ::apache::thrift::protocol::T_I32, 7);
+    xfer += oprot->writeFieldBegin("dataResourceType", ::apache::thrift::protocol::T_I32, 8);
     xfer += oprot->writeI32((int32_t)this->dataResourceType);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.resourceSize) {
-    xfer += oprot->writeFieldBegin("resourceSize", ::apache::thrift::protocol::T_I32, 8);
+    xfer += oprot->writeFieldBegin("resourceSize", ::apache::thrift::protocol::T_I32, 9);
     xfer += oprot->writeI32(this->resourceSize);
     xfer += oprot->writeFieldEnd();
   }
+  if (this->__isset.nativeFormat) {
+    xfer += oprot->writeFieldBegin("nativeFormat", ::apache::thrift::protocol::T_STRING, 10);
+    xfer += oprot->writeString(this->nativeFormat);
+    xfer += oprot->writeFieldEnd();
+  }
   if (this->__isset.creationTime) {
-    xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 9);
+    xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 11);
     xfer += oprot->writeI64(this->creationTime);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.lastModifiedTime) {
-    xfer += oprot->writeFieldBegin("lastModifiedTime", ::apache::thrift::protocol::T_I64, 10);
+    xfer += oprot->writeFieldBegin("lastModifiedTime", ::apache::thrift::protocol::T_I64, 12);
     xfer += oprot->writeI64(this->lastModifiedTime);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.resourceMetadata) {
-    xfer += oprot->writeFieldBegin("resourceMetadata", ::apache::thrift::protocol::T_MAP, 11);
+    xfer += oprot->writeFieldBegin("resourceMetadata", ::apache::thrift::protocol::T_MAP, 13);
     {
       xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->resourceMetadata.size()));
       std::map<std::string, std::string> ::const_iterator _iter18;
@@ -382,7 +418,7 @@ uint32_t DataResourceModel::write(::apache::thrift::protocol::TProtocol* oprot)
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.replicaLocations) {
-    xfer += oprot->writeFieldBegin("replicaLocations", ::apache::thrift::protocol::T_LIST, 12);
+    xfer += oprot->writeFieldBegin("replicaLocations", ::apache::thrift::protocol::T_LIST, 14);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->replicaLocations.size()));
       std::vector<DataReplicaLocationModel> ::const_iterator _iter19;
@@ -395,7 +431,7 @@ uint32_t DataResourceModel::write(::apache::thrift::protocol::TProtocol* oprot)
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.childResources) {
-    xfer += oprot->writeFieldBegin("childResources", ::apache::thrift::protocol::T_LIST, 13);
+    xfer += oprot->writeFieldBegin("childResources", ::apache::thrift::protocol::T_LIST, 15);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->childResources.size()));
       std::vector<DataResourceModel> ::const_iterator _iter20;
@@ -420,8 +456,10 @@ void swap(DataResourceModel &a, DataResourceModel &b) {
   swap(a.resourceName, b.resourceName);
   swap(a.resourceDescription, b.resourceDescription);
   swap(a.ownerName, b.ownerName);
+  swap(a.sha256Checksum, b.sha256Checksum);
   swap(a.dataResourceType, b.dataResourceType);
   swap(a.resourceSize, b.resourceSize);
+  swap(a.nativeFormat, b.nativeFormat);
   swap(a.creationTime, b.creationTime);
   swap(a.lastModifiedTime, b.lastModifiedTime);
   swap(a.resourceMetadata, b.resourceMetadata);
@@ -437,8 +475,10 @@ DataResourceModel::DataResourceModel(const DataResourceModel& other21) {
   resourceName = other21.resourceName;
   resourceDescription = other21.resourceDescription;
   ownerName = other21.ownerName;
+  sha256Checksum = other21.sha256Checksum;
   dataResourceType = other21.dataResourceType;
   resourceSize = other21.resourceSize;
+  nativeFormat = other21.nativeFormat;
   creationTime = other21.creationTime;
   lastModifiedTime = other21.lastModifiedTime;
   resourceMetadata = other21.resourceMetadata;
@@ -453,8 +493,10 @@ DataResourceModel& DataResourceModel::operator=(const DataResourceModel& other22
   resourceName = other22.resourceName;
   resourceDescription = other22.resourceDescription;
   ownerName = other22.ownerName;
+  sha256Checksum = other22.sha256Checksum;
   dataResourceType = other22.dataResourceType;
   resourceSize = other22.resourceSize;
+  nativeFormat = other22.nativeFormat;
   creationTime = other22.creationTime;
   lastModifiedTime = other22.lastModifiedTime;
   resourceMetadata = other22.resourceMetadata;
@@ -472,8 +514,10 @@ void DataResourceModel::printTo(std::ostream& out) const {
   out << ", " << "resourceName="; (__isset.resourceName ? (out << to_string(resourceName)) : (out << "<null>"));
   out << ", " << "resourceDescription="; (__isset.resourceDescription ? (out << to_string(resourceDescription)) : (out << "<null>"));
   out << ", " << "ownerName="; (__isset.ownerName ? (out << to_string(ownerName)) : (out << "<null>"));
+  out << ", " << "sha256Checksum="; (__isset.sha256Checksum ? (out << to_string(sha256Checksum)) : (out << "<null>"));
   out << ", " << "dataResourceType="; (__isset.dataResourceType ? (out << to_string(dataResourceType)) : (out << "<null>"));
   out << ", " << "resourceSize="; (__isset.resourceSize ? (out << to_string(resourceSize)) : (out << "<null>"));
+  out << ", " << "nativeFormat="; (__isset.nativeFormat ? (out << to_string(nativeFormat)) : (out << "<null>"));
   out << ", " << "creationTime="; (__isset.creationTime ? (out << to_string(creationTime)) : (out << "<null>"));
   out << ", " << "lastModifiedTime="; (__isset.lastModifiedTime ? (out << to_string(lastModifiedTime)) : (out << "<null>"));
   out << ", " << "resourceMetadata="; (__isset.resourceMetadata ? (out << to_string(resourceMetadata)) : (out << "<null>"));
@@ -507,6 +551,11 @@ void DataReplicaLocationModel::__set_replicaDescription(const std::string& val)
 __isset.replicaDescription = true;
 }
 
+void DataReplicaLocationModel::__set_sourceReplicaId(const std::string& val) {
+  this->sourceReplicaId = val;
+__isset.sourceReplicaId = true;
+}
+
 void DataReplicaLocationModel::__set_creationTime(const int64_t val) {
   this->creationTime = val;
 __isset.creationTime = true;
@@ -601,6 +650,14 @@ uint32_t DataReplicaLocationModel::read(::apache::thrift::protocol::TProtocol* i
         }
         break;
       case 5:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->sourceReplicaId);
+          this->__isset.sourceReplicaId = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 6:
         if (ftype == ::apache::thrift::protocol::T_I64) {
           xfer += iprot->readI64(this->creationTime);
           this->__isset.creationTime = true;
@@ -608,7 +665,7 @@ uint32_t DataReplicaLocationModel::read(::apache::thrift::protocol::TProtocol* i
           xfer += iprot->skip(ftype);
         }
         break;
-      case 6:
+      case 7:
         if (ftype == ::apache::thrift::protocol::T_I64) {
           xfer += iprot->readI64(this->lastModifiedTime);
           this->__isset.lastModifiedTime = true;
@@ -616,7 +673,7 @@ uint32_t DataReplicaLocationModel::read(::apache::thrift::protocol::TProtocol* i
           xfer += iprot->skip(ftype);
         }
         break;
-      case 7:
+      case 8:
         if (ftype == ::apache::thrift::protocol::T_I64) {
           xfer += iprot->readI64(this->validUntilTime);
           this->__isset.validUntilTime = true;
@@ -624,7 +681,7 @@ uint32_t DataReplicaLocationModel::read(::apache::thrift::protocol::TProtocol* i
           xfer += iprot->skip(ftype);
         }
         break;
-      case 8:
+      case 9:
         if (ftype == ::apache::thrift::protocol::T_I32) {
           int32_t ecast23;
           xfer += iprot->readI32(ecast23);
@@ -634,7 +691,7 @@ uint32_t DataReplicaLocationModel::read(::apache::thrift::protocol::TProtocol* i
           xfer += iprot->skip(ftype);
         }
         break;
-      case 9:
+      case 10:
         if (ftype == ::apache::thrift::protocol::T_I32) {
           int32_t ecast24;
           xfer += iprot->readI32(ecast24);
@@ -644,7 +701,7 @@ uint32_t DataReplicaLocationModel::read(::apache::thrift::protocol::TProtocol* i
           xfer += iprot->skip(ftype);
         }
         break;
-      case 10:
+      case 11:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->storageResourceId);
           this->__isset.storageResourceId = true;
@@ -652,7 +709,7 @@ uint32_t DataReplicaLocationModel::read(::apache::thrift::protocol::TProtocol* i
           xfer += iprot->skip(ftype);
         }
         break;
-      case 11:
+      case 12:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->fileAbsolutePath);
           this->__isset.fileAbsolutePath = true;
@@ -660,7 +717,7 @@ uint32_t DataReplicaLocationModel::read(::apache::thrift::protocol::TProtocol* i
           xfer += iprot->skip(ftype);
         }
         break;
-      case 12:
+      case 13:
         if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
             this->replicaMetadata.clear();
@@ -720,43 +777,48 @@ uint32_t DataReplicaLocationModel::write(::apache::thrift::protocol::TProtocol*
     xfer += oprot->writeString(this->replicaDescription);
     xfer += oprot->writeFieldEnd();
   }
+  if (this->__isset.sourceReplicaId) {
+    xfer += oprot->writeFieldBegin("sourceReplicaId", ::apache::thrift::protocol::T_STRING, 5);
+    xfer += oprot->writeString(this->sourceReplicaId);
+    xfer += oprot->writeFieldEnd();
+  }
   if (this->__isset.creationTime) {
-    xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 5);
+    xfer += oprot->writeFieldBegin("creationTime", ::apache::thrift::protocol::T_I64, 6);
     xfer += oprot->writeI64(this->creationTime);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.lastModifiedTime) {
-    xfer += oprot->writeFieldBegin("lastModifiedTime", ::apache::thrift::protocol::T_I64, 6);
+    xfer += oprot->writeFieldBegin("lastModifiedTime", ::apache::thrift::protocol::T_I64, 7);
     xfer += oprot->writeI64(this->lastModifiedTime);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.validUntilTime) {
-    xfer += oprot->writeFieldBegin("validUntilTime", ::apache::thrift::protocol::T_I64, 7);
+    xfer += oprot->writeFieldBegin("validUntilTime", ::apache::thrift::protocol::T_I64, 8);
     xfer += oprot->writeI64(this->validUntilTime);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.replicaLocationCategory) {
-    xfer += oprot->writeFieldBegin("replicaLocationCategory", ::apache::thrift::protocol::T_I32, 8);
+    xfer += oprot->writeFieldBegin("replicaLocationCategory", ::apache::thrift::protocol::T_I32, 9);
     xfer += oprot->writeI32((int32_t)this->replicaLocationCategory);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.replicaPersistentType) {
-    xfer += oprot->writeFieldBegin("replicaPersistentType", ::apache::thrift::protocol::T_I32, 9);
+    xfer += oprot->writeFieldBegin("replicaPersistentType", ::apache::thrift::protocol::T_I32, 10);
     xfer += oprot->writeI32((int32_t)this->replicaPersistentType);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.storageResourceId) {
-    xfer += oprot->writeFieldBegin("storageResourceId", ::apache::thrift::protocol::T_STRING, 10);
+    xfer += oprot->writeFieldBegin("storageResourceId", ::apache::thrift::protocol::T_STRING, 11);
     xfer += oprot->writeString(this->storageResourceId);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.fileAbsolutePath) {
-    xfer += oprot->writeFieldBegin("fileAbsolutePath", ::apache::thrift::protocol::T_STRING, 11);
+    xfer += oprot->writeFieldBegin("fileAbsolutePath", ::apache::thrift::protocol::T_STRING, 12);
     xfer += oprot->writeString(this->fileAbsolutePath);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.replicaMetadata) {
-    xfer += oprot->writeFieldBegin("replicaMetadata", ::apache::thrift::protocol::T_MAP, 12);
+    xfer += oprot->writeFieldBegin("replicaMetadata", ::apache::thrift::protocol::T_MAP, 13);
     {
       xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->replicaMetadata.size()));
       std::map<std::string, std::string> ::const_iterator _iter32;
@@ -780,6 +842,7 @@ void swap(DataReplicaLocationModel &a, DataReplicaLocationModel &b) {
   swap(a.resourceId, b.resourceId);
   swap(a.replicaName, b.replicaName);
   swap(a.replicaDescription, b.replicaDescription);
+  swap(a.sourceReplicaId, b.sourceReplicaId);
   swap(a.creationTime, b.creationTime);
   swap(a.lastModifiedTime, b.lastModifiedTime);
   swap(a.validUntilTime, b.validUntilTime);
@@ -796,6 +859,7 @@ DataReplicaLocationModel::DataReplicaLocationModel(const DataReplicaLocationMode
   resourceId = other33.resourceId;
   replicaName = other33.replicaName;
   replicaDescription = other33.replicaDescription;
+  sourceReplicaId = other33.sourceReplicaId;
   creationTime = other33.creationTime;
   lastModifiedTime = other33.lastModifiedTime;
   validUntilTime = other33.validUntilTime;
@@ -811,6 +875,7 @@ DataReplicaLocationModel& DataReplicaLocationModel::operator=(const DataReplicaL
   resourceId = other34.resourceId;
   replicaName = other34.replicaName;
   replicaDescription = other34.replicaDescription;
+  sourceReplicaId = other34.sourceReplicaId;
   creationTime = other34.creationTime;
   lastModifiedTime = other34.lastModifiedTime;
   validUntilTime = other34.validUntilTime;
@@ -829,6 +894,7 @@ void DataReplicaLocationModel::printTo(std::ostream& out) const {
   out << ", " << "resourceId="; (__isset.resourceId ? (out << to_string(resourceId)) : (out << "<null>"));
   out << ", " << "replicaName="; (__isset.replicaName ? (out << to_string(replicaName)) : (out << "<null>"));
   out << ", " << "replicaDescription="; (__isset.replicaDescription ? (out << to_string(replicaDescription)) : (out << "<null>"));
+  out << ", " << "sourceReplicaId="; (__isset.sourceReplicaId ? (out << to_string(sourceReplicaId)) : (out << "<null>"));
   out << ", " << "creationTime="; (__isset.creationTime ? (out << to_string(creationTime)) : (out << "<null>"));
   out << ", " << "lastModifiedTime="; (__isset.lastModifiedTime ? (out << to_string(lastModifiedTime)) : (out << "<null>"));
   out << ", " << "validUntilTime="; (__isset.validUntilTime ? (out << to_string(validUntilTime)) : (out << "<null>"));

http://git-wip-us.apache.org/repos/asf/airavata/blob/e1a0772f/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/replica_catalog_models_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/replica_catalog_models_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/replica_catalog_models_types.h
index 7816d82..604baa5 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/replica_catalog_models_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/replica_catalog_models_types.h
@@ -71,15 +71,17 @@ class DataResourceModel;
 class DataReplicaLocationModel;
 
 typedef struct _DataResourceModel__isset {
-  _DataResourceModel__isset() : resourceId(false), gatewayId(false), parentResourceId(false), resourceName(false), resourceDescription(false), ownerName(false), dataResourceType(false), resourceSize(false), creationTime(false), lastModifiedTime(false), resourceMetadata(false), replicaLocations(false), childResources(false) {}
+  _DataResourceModel__isset() : resourceId(false), gatewayId(false), parentResourceId(false), resourceName(false), resourceDescription(false), ownerName(false), sha256Checksum(false), dataResourceType(false), resourceSize(false), nativeFormat(false), creationTime(false), lastModifiedTime(false), resourceMetadata(false), replicaLocations(false), childResources(false) {}
   bool resourceId :1;
   bool gatewayId :1;
   bool parentResourceId :1;
   bool resourceName :1;
   bool resourceDescription :1;
   bool ownerName :1;
+  bool sha256Checksum :1;
   bool dataResourceType :1;
   bool resourceSize :1;
+  bool nativeFormat :1;
   bool creationTime :1;
   bool lastModifiedTime :1;
   bool resourceMetadata :1;
@@ -92,7 +94,7 @@ class DataResourceModel {
 
   DataResourceModel(const DataResourceModel&);
   DataResourceModel& operator=(const DataResourceModel&);
-  DataResourceModel() : resourceId(), gatewayId(), parentResourceId(), resourceName(), resourceDescription(), ownerName(), dataResourceType((DataResourceType::type)0), resourceSize(0), creationTime(0), lastModifiedTime(0) {
+  DataResourceModel() : resourceId(), gatewayId(), parentResourceId(), resourceName(), resourceDescription(), ownerName(), sha256Checksum(), dataResourceType((DataResourceType::type)0), resourceSize(0), nativeFormat(), creationTime(0), lastModifiedTime(0) {
   }
 
   virtual ~DataResourceModel() throw();
@@ -102,8 +104,10 @@ class DataResourceModel {
   std::string resourceName;
   std::string resourceDescription;
   std::string ownerName;
+  std::string sha256Checksum;
   DataResourceType::type dataResourceType;
   int32_t resourceSize;
+  std::string nativeFormat;
   int64_t creationTime;
   int64_t lastModifiedTime;
   std::map<std::string, std::string>  resourceMetadata;
@@ -124,10 +128,14 @@ class DataResourceModel {
 
   void __set_ownerName(const std::string& val);
 
+  void __set_sha256Checksum(const std::string& val);
+
   void __set_dataResourceType(const DataResourceType::type val);
 
   void __set_resourceSize(const int32_t val);
 
+  void __set_nativeFormat(const std::string& val);
+
   void __set_creationTime(const int64_t val);
 
   void __set_lastModifiedTime(const int64_t val);
@@ -164,6 +172,10 @@ class DataResourceModel {
       return false;
     else if (__isset.ownerName && !(ownerName == rhs.ownerName))
       return false;
+    if (__isset.sha256Checksum != rhs.__isset.sha256Checksum)
+      return false;
+    else if (__isset.sha256Checksum && !(sha256Checksum == rhs.sha256Checksum))
+      return false;
     if (__isset.dataResourceType != rhs.__isset.dataResourceType)
       return false;
     else if (__isset.dataResourceType && !(dataResourceType == rhs.dataResourceType))
@@ -172,6 +184,10 @@ class DataResourceModel {
       return false;
     else if (__isset.resourceSize && !(resourceSize == rhs.resourceSize))
       return false;
+    if (__isset.nativeFormat != rhs.__isset.nativeFormat)
+      return false;
+    else if (__isset.nativeFormat && !(nativeFormat == rhs.nativeFormat))
+      return false;
     if (__isset.creationTime != rhs.__isset.creationTime)
       return false;
     else if (__isset.creationTime && !(creationTime == rhs.creationTime))
@@ -215,11 +231,12 @@ inline std::ostream& operator<<(std::ostream& out, const DataResourceModel& obj)
 }
 
 typedef struct _DataReplicaLocationModel__isset {
-  _DataReplicaLocationModel__isset() : replicaId(false), resourceId(false), replicaName(false), replicaDescription(false), creationTime(false), lastModifiedTime(false), validUntilTime(false), replicaLocationCategory(false), replicaPersistentType(false), storageResourceId(false), fileAbsolutePath(false), replicaMetadata(false) {}
+  _DataReplicaLocationModel__isset() : replicaId(false), resourceId(false), replicaName(false), replicaDescription(false), sourceReplicaId(false), creationTime(false), lastModifiedTime(false), validUntilTime(false), replicaLocationCategory(false), replicaPersistentType(false), storageResourceId(false), fileAbsolutePath(false), replicaMetadata(false) {}
   bool replicaId :1;
   bool resourceId :1;
   bool replicaName :1;
   bool replicaDescription :1;
+  bool sourceReplicaId :1;
   bool creationTime :1;
   bool lastModifiedTime :1;
   bool validUntilTime :1;
@@ -235,7 +252,7 @@ class DataReplicaLocationModel {
 
   DataReplicaLocationModel(const DataReplicaLocationModel&);
   DataReplicaLocationModel& operator=(const DataReplicaLocationModel&);
-  DataReplicaLocationModel() : replicaId(), resourceId(), replicaName(), replicaDescription(), creationTime(0), lastModifiedTime(0), validUntilTime(0), replicaLocationCategory((ReplicaLocationCategory::type)0), replicaPersistentType((ReplicaPersistentType::type)0), storageResourceId(), fileAbsolutePath() {
+  DataReplicaLocationModel() : replicaId(), resourceId(), replicaName(), replicaDescription(), sourceReplicaId(), creationTime(0), lastModifiedTime(0), validUntilTime(0), replicaLocationCategory((ReplicaLocationCategory::type)0), replicaPersistentType((ReplicaPersistentType::type)0), storageResourceId(), fileAbsolutePath() {
   }
 
   virtual ~DataReplicaLocationModel() throw();
@@ -243,6 +260,7 @@ class DataReplicaLocationModel {
   std::string resourceId;
   std::string replicaName;
   std::string replicaDescription;
+  std::string sourceReplicaId;
   int64_t creationTime;
   int64_t lastModifiedTime;
   int64_t validUntilTime;
@@ -262,6 +280,8 @@ class DataReplicaLocationModel {
 
   void __set_replicaDescription(const std::string& val);
 
+  void __set_sourceReplicaId(const std::string& val);
+
   void __set_creationTime(const int64_t val);
 
   void __set_lastModifiedTime(const int64_t val);
@@ -296,6 +316,10 @@ class DataReplicaLocationModel {
       return false;
     else if (__isset.replicaDescription && !(replicaDescription == rhs.replicaDescription))
       return false;
+    if (__isset.sourceReplicaId != rhs.__isset.sourceReplicaId)
+      return false;
+    else if (__isset.sourceReplicaId && !(sourceReplicaId == rhs.sourceReplicaId))
+      return false;
     if (__isset.creationTime != rhs.__isset.creationTime)
       return false;
     else if (__isset.creationTime && !(creationTime == rhs.creationTime))

http://git-wip-us.apache.org/repos/asf/airavata/blob/e1a0772f/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/security_model_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/security_model_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/security_model_types.cpp
index b902d08..dbcfb76 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/security_model_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/security_model_types.cpp
@@ -37,7 +37,6 @@ AuthzToken::~AuthzToken() throw() {
 
 void AuthzToken::__set_accessToken(const std::string& val) {
   this->accessToken = val;
-__isset.accessToken = true;
 }
 
 void AuthzToken::__set_claimsMap(const std::map<std::string, std::string> & val) {
@@ -57,6 +56,7 @@ uint32_t AuthzToken::read(::apache::thrift::protocol::TProtocol* iprot) {
 
   using ::apache::thrift::protocol::TProtocolException;
 
+  bool isset_accessToken = false;
 
   while (true)
   {
@@ -69,7 +69,7 @@ uint32_t AuthzToken::read(::apache::thrift::protocol::TProtocol* iprot) {
       case 1:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->accessToken);
-          this->__isset.accessToken = true;
+          isset_accessToken = true;
         } else {
           xfer += iprot->skip(ftype);
         }
@@ -106,6 +106,8 @@ uint32_t AuthzToken::read(::apache::thrift::protocol::TProtocol* iprot) {
 
   xfer += iprot->readStructEnd();
 
+  if (!isset_accessToken)
+    throw TProtocolException(TProtocolException::INVALID_DATA);
   return xfer;
 }
 
@@ -114,11 +116,10 @@ uint32_t AuthzToken::write(::apache::thrift::protocol::TProtocol* oprot) const {
   apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
   xfer += oprot->writeStructBegin("AuthzToken");
 
-  if (this->__isset.accessToken) {
-    xfer += oprot->writeFieldBegin("accessToken", ::apache::thrift::protocol::T_STRING, 1);
-    xfer += oprot->writeString(this->accessToken);
-    xfer += oprot->writeFieldEnd();
-  }
+  xfer += oprot->writeFieldBegin("accessToken", ::apache::thrift::protocol::T_STRING, 1);
+  xfer += oprot->writeString(this->accessToken);
+  xfer += oprot->writeFieldEnd();
+
   if (this->__isset.claimsMap) {
     xfer += oprot->writeFieldBegin("claimsMap", ::apache::thrift::protocol::T_MAP, 2);
     {
@@ -159,7 +160,7 @@ AuthzToken& AuthzToken::operator=(const AuthzToken& other9) {
 void AuthzToken::printTo(std::ostream& out) const {
   using ::apache::thrift::to_string;
   out << "AuthzToken(";
-  out << "accessToken="; (__isset.accessToken ? (out << to_string(accessToken)) : (out << "<null>"));
+  out << "accessToken=" << to_string(accessToken);
   out << ", " << "claimsMap="; (__isset.claimsMap ? (out << to_string(claimsMap)) : (out << "<null>"));
   out << ")";
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/e1a0772f/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/security_model_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/security_model_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/security_model_types.h
index 6ebeb42..7519d4d 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/security_model_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/security_model_types.h
@@ -39,8 +39,7 @@ namespace apache { namespace airavata { namespace model { namespace security {
 class AuthzToken;
 
 typedef struct _AuthzToken__isset {
-  _AuthzToken__isset() : accessToken(false), claimsMap(false) {}
-  bool accessToken :1;
+  _AuthzToken__isset() : claimsMap(false) {}
   bool claimsMap :1;
 } _AuthzToken__isset;
 
@@ -64,9 +63,7 @@ class AuthzToken {
 
   bool operator == (const AuthzToken & rhs) const
   {
-    if (__isset.accessToken != rhs.__isset.accessToken)
-      return false;
-    else if (__isset.accessToken && !(accessToken == rhs.accessToken))
+    if (!(accessToken == rhs.accessToken))
       return false;
     if (__isset.claimsMap != rhs.__isset.claimsMap)
       return false;

http://git-wip-us.apache.org/repos/asf/airavata/blob/e1a0772f/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Data/Resource/Types.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Data/Resource/Types.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Data/Resource/Types.php
index cd5542a..6e87bf5 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Data/Resource/Types.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/Data/Resource/Types.php
@@ -76,6 +76,10 @@ class DataResourceModel {
    */
   public $ownerName = null;
   /**
+   * @var string
+   */
+  public $sha256Checksum = null;
+  /**
    * @var int
    */
   public $dataResourceType = null;
@@ -84,6 +88,10 @@ class DataResourceModel {
    */
   public $resourceSize = null;
   /**
+   * @var string
+   */
+  public $nativeFormat = null;
+  /**
    * @var int
    */
   public $creationTime = null;
@@ -132,22 +140,30 @@ class DataResourceModel {
           'type' => TType::STRING,
           ),
         7 => array(
+          'var' => 'sha256Checksum',
+          'type' => TType::STRING,
+          ),
+        8 => array(
           'var' => 'dataResourceType',
           'type' => TType::I32,
           ),
-        8 => array(
+        9 => array(
           'var' => 'resourceSize',
           'type' => TType::I32,
           ),
-        9 => array(
+        10 => array(
+          'var' => 'nativeFormat',
+          'type' => TType::STRING,
+          ),
+        11 => array(
           'var' => 'creationTime',
           'type' => TType::I64,
           ),
-        10 => array(
+        12 => array(
           'var' => 'lastModifiedTime',
           'type' => TType::I64,
           ),
-        11 => array(
+        13 => array(
           'var' => 'resourceMetadata',
           'type' => TType::MAP,
           'ktype' => TType::STRING,
@@ -159,7 +175,7 @@ class DataResourceModel {
             'type' => TType::STRING,
             ),
           ),
-        12 => array(
+        14 => array(
           'var' => 'replicaLocations',
           'type' => TType::LST,
           'etype' => TType::STRUCT,
@@ -168,7 +184,7 @@ class DataResourceModel {
             'class' => '\Airavata\Model\Data\Resource\DataReplicaLocationModel',
             ),
           ),
-        13 => array(
+        15 => array(
           'var' => 'childResources',
           'type' => TType::LST,
           'etype' => TType::STRUCT,
@@ -198,12 +214,18 @@ class DataResourceModel {
       if (isset($vals['ownerName'])) {
         $this->ownerName = $vals['ownerName'];
       }
+      if (isset($vals['sha256Checksum'])) {
+        $this->sha256Checksum = $vals['sha256Checksum'];
+      }
       if (isset($vals['dataResourceType'])) {
         $this->dataResourceType = $vals['dataResourceType'];
       }
       if (isset($vals['resourceSize'])) {
         $this->resourceSize = $vals['resourceSize'];
       }
+      if (isset($vals['nativeFormat'])) {
+        $this->nativeFormat = $vals['nativeFormat'];
+      }
       if (isset($vals['creationTime'])) {
         $this->creationTime = $vals['creationTime'];
       }
@@ -284,34 +306,48 @@ class DataResourceModel {
           }
           break;
         case 7:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->sha256Checksum);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 8:
           if ($ftype == TType::I32) {
             $xfer += $input->readI32($this->dataResourceType);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 8:
+        case 9:
           if ($ftype == TType::I32) {
             $xfer += $input->readI32($this->resourceSize);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 9:
+        case 10:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->nativeFormat);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 11:
           if ($ftype == TType::I64) {
             $xfer += $input->readI64($this->creationTime);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 10:
+        case 12:
           if ($ftype == TType::I64) {
             $xfer += $input->readI64($this->lastModifiedTime);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 11:
+        case 13:
           if ($ftype == TType::MAP) {
             $this->resourceMetadata = array();
             $_size0 = 0;
@@ -331,7 +367,7 @@ class DataResourceModel {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 12:
+        case 14:
           if ($ftype == TType::LST) {
             $this->replicaLocations = array();
             $_size7 = 0;
@@ -349,7 +385,7 @@ class DataResourceModel {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 13:
+        case 15:
           if ($ftype == TType::LST) {
             $this->childResources = array();
             $_size13 = 0;
@@ -410,23 +446,33 @@ class DataResourceModel {
       $xfer += $output->writeString($this->ownerName);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->sha256Checksum !== null) {
+      $xfer += $output->writeFieldBegin('sha256Checksum', TType::STRING, 7);
+      $xfer += $output->writeString($this->sha256Checksum);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->dataResourceType !== null) {
-      $xfer += $output->writeFieldBegin('dataResourceType', TType::I32, 7);
+      $xfer += $output->writeFieldBegin('dataResourceType', TType::I32, 8);
       $xfer += $output->writeI32($this->dataResourceType);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->resourceSize !== null) {
-      $xfer += $output->writeFieldBegin('resourceSize', TType::I32, 8);
+      $xfer += $output->writeFieldBegin('resourceSize', TType::I32, 9);
       $xfer += $output->writeI32($this->resourceSize);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->nativeFormat !== null) {
+      $xfer += $output->writeFieldBegin('nativeFormat', TType::STRING, 10);
+      $xfer += $output->writeString($this->nativeFormat);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->creationTime !== null) {
-      $xfer += $output->writeFieldBegin('creationTime', TType::I64, 9);
+      $xfer += $output->writeFieldBegin('creationTime', TType::I64, 11);
       $xfer += $output->writeI64($this->creationTime);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->lastModifiedTime !== null) {
-      $xfer += $output->writeFieldBegin('lastModifiedTime', TType::I64, 10);
+      $xfer += $output->writeFieldBegin('lastModifiedTime', TType::I64, 12);
       $xfer += $output->writeI64($this->lastModifiedTime);
       $xfer += $output->writeFieldEnd();
     }
@@ -434,7 +480,7 @@ class DataResourceModel {
       if (!is_array($this->resourceMetadata)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('resourceMetadata', TType::MAP, 11);
+      $xfer += $output->writeFieldBegin('resourceMetadata', TType::MAP, 13);
       {
         $output->writeMapBegin(TType::STRING, TType::STRING, count($this->resourceMetadata));
         {
@@ -452,7 +498,7 @@ class DataResourceModel {
       if (!is_array($this->replicaLocations)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('replicaLocations', TType::LST, 12);
+      $xfer += $output->writeFieldBegin('replicaLocations', TType::LST, 14);
       {
         $output->writeListBegin(TType::STRUCT, count($this->replicaLocations));
         {
@@ -469,7 +515,7 @@ class DataResourceModel {
       if (!is_array($this->childResources)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('childResources', TType::LST, 13);
+      $xfer += $output->writeFieldBegin('childResources', TType::LST, 15);
       {
         $output->writeListBegin(TType::STRUCT, count($this->childResources));
         {
@@ -509,6 +555,10 @@ class DataReplicaLocationModel {
    */
   public $replicaDescription = null;
   /**
+   * @var string
+   */
+  public $sourceReplicaId = null;
+  /**
    * @var int
    */
   public $creationTime = null;
@@ -561,34 +611,38 @@ class DataReplicaLocationModel {
           'type' => TType::STRING,
           ),
         5 => array(
+          'var' => 'sourceReplicaId',
+          'type' => TType::STRING,
+          ),
+        6 => array(
           'var' => 'creationTime',
           'type' => TType::I64,
           ),
-        6 => array(
+        7 => array(
           'var' => 'lastModifiedTime',
           'type' => TType::I64,
           ),
-        7 => array(
+        8 => array(
           'var' => 'validUntilTime',
           'type' => TType::I64,
           ),
-        8 => array(
+        9 => array(
           'var' => 'replicaLocationCategory',
           'type' => TType::I32,
           ),
-        9 => array(
+        10 => array(
           'var' => 'replicaPersistentType',
           'type' => TType::I32,
           ),
-        10 => array(
+        11 => array(
           'var' => 'storageResourceId',
           'type' => TType::STRING,
           ),
-        11 => array(
+        12 => array(
           'var' => 'fileAbsolutePath',
           'type' => TType::STRING,
           ),
-        12 => array(
+        13 => array(
           'var' => 'replicaMetadata',
           'type' => TType::MAP,
           'ktype' => TType::STRING,
@@ -615,6 +669,9 @@ class DataReplicaLocationModel {
       if (isset($vals['replicaDescription'])) {
         $this->replicaDescription = $vals['replicaDescription'];
       }
+      if (isset($vals['sourceReplicaId'])) {
+        $this->sourceReplicaId = $vals['sourceReplicaId'];
+      }
       if (isset($vals['creationTime'])) {
         $this->creationTime = $vals['creationTime'];
       }
@@ -690,55 +747,62 @@ class DataReplicaLocationModel {
           }
           break;
         case 5:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->sourceReplicaId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
           if ($ftype == TType::I64) {
             $xfer += $input->readI64($this->creationTime);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 6:
+        case 7:
           if ($ftype == TType::I64) {
             $xfer += $input->readI64($this->lastModifiedTime);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 7:
+        case 8:
           if ($ftype == TType::I64) {
             $xfer += $input->readI64($this->validUntilTime);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 8:
+        case 9:
           if ($ftype == TType::I32) {
             $xfer += $input->readI32($this->replicaLocationCategory);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 9:
+        case 10:
           if ($ftype == TType::I32) {
             $xfer += $input->readI32($this->replicaPersistentType);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 10:
+        case 11:
           if ($ftype == TType::STRING) {
             $xfer += $input->readString($this->storageResourceId);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 11:
+        case 12:
           if ($ftype == TType::STRING) {
             $xfer += $input->readString($this->fileAbsolutePath);
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
-        case 12:
+        case 13:
           if ($ftype == TType::MAP) {
             $this->replicaMetadata = array();
             $_size23 = 0;
@@ -791,38 +855,43 @@ class DataReplicaLocationModel {
       $xfer += $output->writeString($this->replicaDescription);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->sourceReplicaId !== null) {
+      $xfer += $output->writeFieldBegin('sourceReplicaId', TType::STRING, 5);
+      $xfer += $output->writeString($this->sourceReplicaId);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->creationTime !== null) {
-      $xfer += $output->writeFieldBegin('creationTime', TType::I64, 5);
+      $xfer += $output->writeFieldBegin('creationTime', TType::I64, 6);
       $xfer += $output->writeI64($this->creationTime);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->lastModifiedTime !== null) {
-      $xfer += $output->writeFieldBegin('lastModifiedTime', TType::I64, 6);
+      $xfer += $output->writeFieldBegin('lastModifiedTime', TType::I64, 7);
       $xfer += $output->writeI64($this->lastModifiedTime);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->validUntilTime !== null) {
-      $xfer += $output->writeFieldBegin('validUntilTime', TType::I64, 7);
+      $xfer += $output->writeFieldBegin('validUntilTime', TType::I64, 8);
       $xfer += $output->writeI64($this->validUntilTime);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->replicaLocationCategory !== null) {
-      $xfer += $output->writeFieldBegin('replicaLocationCategory', TType::I32, 8);
+      $xfer += $output->writeFieldBegin('replicaLocationCategory', TType::I32, 9);
       $xfer += $output->writeI32($this->replicaLocationCategory);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->replicaPersistentType !== null) {
-      $xfer += $output->writeFieldBegin('replicaPersistentType', TType::I32, 9);
+      $xfer += $output->writeFieldBegin('replicaPersistentType', TType::I32, 10);
       $xfer += $output->writeI32($this->replicaPersistentType);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->storageResourceId !== null) {
-      $xfer += $output->writeFieldBegin('storageResourceId', TType::STRING, 10);
+      $xfer += $output->writeFieldBegin('storageResourceId', TType::STRING, 11);
       $xfer += $output->writeString($this->storageResourceId);
       $xfer += $output->writeFieldEnd();
     }
     if ($this->fileAbsolutePath !== null) {
-      $xfer += $output->writeFieldBegin('fileAbsolutePath', TType::STRING, 11);
+      $xfer += $output->writeFieldBegin('fileAbsolutePath', TType::STRING, 12);
       $xfer += $output->writeString($this->fileAbsolutePath);
       $xfer += $output->writeFieldEnd();
     }
@@ -830,7 +899,7 @@ class DataReplicaLocationModel {
       if (!is_array($this->replicaMetadata)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('replicaMetadata', TType::MAP, 12);
+      $xfer += $output->writeFieldBegin('replicaMetadata', TType::MAP, 13);
       {
         $output->writeMapBegin(TType::STRING, TType::STRING, count($this->replicaMetadata));
         {

http://git-wip-us.apache.org/repos/asf/airavata/blob/e1a0772f/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/data/resource/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/data/resource/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/data/resource/ttypes.py
index 7c4a551..58b9cff 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/data/resource/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/data/resource/ttypes.py
@@ -76,8 +76,10 @@ class DataResourceModel:
    - resourceName
    - resourceDescription
    - ownerName
+   - sha256Checksum
    - dataResourceType
    - resourceSize
+   - nativeFormat
    - creationTime
    - lastModifiedTime
    - resourceMetadata
@@ -93,24 +95,28 @@ class DataResourceModel:
     (4, TType.STRING, 'resourceName', None, None, ), # 4
     (5, TType.STRING, 'resourceDescription', None, None, ), # 5
     (6, TType.STRING, 'ownerName', None, None, ), # 6
-    (7, TType.I32, 'dataResourceType', None, None, ), # 7
-    (8, TType.I32, 'resourceSize', None, None, ), # 8
-    (9, TType.I64, 'creationTime', None, None, ), # 9
-    (10, TType.I64, 'lastModifiedTime', None, None, ), # 10
-    (11, TType.MAP, 'resourceMetadata', (TType.STRING,None,TType.STRING,None), None, ), # 11
-    (12, TType.LIST, 'replicaLocations', (TType.STRUCT,(DataReplicaLocationModel, DataReplicaLocationModel.thrift_spec)), None, ), # 12
-    (13, TType.LIST, 'childResources', (TType.STRUCT,(DataResourceModel, DataResourceModel.thrift_spec)), None, ), # 13
+    (7, TType.STRING, 'sha256Checksum', None, None, ), # 7
+    (8, TType.I32, 'dataResourceType', None, None, ), # 8
+    (9, TType.I32, 'resourceSize', None, None, ), # 9
+    (10, TType.STRING, 'nativeFormat', None, None, ), # 10
+    (11, TType.I64, 'creationTime', None, None, ), # 11
+    (12, TType.I64, 'lastModifiedTime', None, None, ), # 12
+    (13, TType.MAP, 'resourceMetadata', (TType.STRING,None,TType.STRING,None), None, ), # 13
+    (14, TType.LIST, 'replicaLocations', (TType.STRUCT,(DataReplicaLocationModel, DataReplicaLocationModel.thrift_spec)), None, ), # 14
+    (15, TType.LIST, 'childResources', (TType.STRUCT,(DataResourceModel, DataResourceModel.thrift_spec)), None, ), # 15
   )
 
-  def __init__(self, resourceId=None, gatewayId=None, parentResourceId=None, resourceName=None, resourceDescription=None, ownerName=None, dataResourceType=None, resourceSize=None, creationTime=None, lastModifiedTime=None, resourceMetadata=None, replicaLocations=None, childResources=None,):
+  def __init__(self, resourceId=None, gatewayId=None, parentResourceId=None, resourceName=None, resourceDescription=None, ownerName=None, sha256Checksum=None, dataResourceType=None, resourceSize=None, nativeFormat=None, creationTime=None, lastModifiedTime=None, resourceMetadata=None, replicaLocations=None, childResources=None,):
     self.resourceId = resourceId
     self.gatewayId = gatewayId
     self.parentResourceId = parentResourceId
     self.resourceName = resourceName
     self.resourceDescription = resourceDescription
     self.ownerName = ownerName
+    self.sha256Checksum = sha256Checksum
     self.dataResourceType = dataResourceType
     self.resourceSize = resourceSize
+    self.nativeFormat = nativeFormat
     self.creationTime = creationTime
     self.lastModifiedTime = lastModifiedTime
     self.resourceMetadata = resourceMetadata
@@ -157,26 +163,36 @@ class DataResourceModel:
         else:
           iprot.skip(ftype)
       elif fid == 7:
+        if ftype == TType.STRING:
+          self.sha256Checksum = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 8:
         if ftype == TType.I32:
           self.dataResourceType = iprot.readI32()
         else:
           iprot.skip(ftype)
-      elif fid == 8:
+      elif fid == 9:
         if ftype == TType.I32:
           self.resourceSize = iprot.readI32()
         else:
           iprot.skip(ftype)
-      elif fid == 9:
+      elif fid == 10:
+        if ftype == TType.STRING:
+          self.nativeFormat = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 11:
         if ftype == TType.I64:
           self.creationTime = iprot.readI64()
         else:
           iprot.skip(ftype)
-      elif fid == 10:
+      elif fid == 12:
         if ftype == TType.I64:
           self.lastModifiedTime = iprot.readI64()
         else:
           iprot.skip(ftype)
-      elif fid == 11:
+      elif fid == 13:
         if ftype == TType.MAP:
           self.resourceMetadata = {}
           (_ktype1, _vtype2, _size0 ) = iprot.readMapBegin()
@@ -187,7 +203,7 @@ class DataResourceModel:
           iprot.readMapEnd()
         else:
           iprot.skip(ftype)
-      elif fid == 12:
+      elif fid == 14:
         if ftype == TType.LIST:
           self.replicaLocations = []
           (_etype10, _size7) = iprot.readListBegin()
@@ -198,7 +214,7 @@ class DataResourceModel:
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
-      elif fid == 13:
+      elif fid == 15:
         if ftype == TType.LIST:
           self.childResources = []
           (_etype16, _size13) = iprot.readListBegin()
@@ -243,24 +259,32 @@ class DataResourceModel:
       oprot.writeFieldBegin('ownerName', TType.STRING, 6)
       oprot.writeString(self.ownerName)
       oprot.writeFieldEnd()
+    if self.sha256Checksum is not None:
+      oprot.writeFieldBegin('sha256Checksum', TType.STRING, 7)
+      oprot.writeString(self.sha256Checksum)
+      oprot.writeFieldEnd()
     if self.dataResourceType is not None:
-      oprot.writeFieldBegin('dataResourceType', TType.I32, 7)
+      oprot.writeFieldBegin('dataResourceType', TType.I32, 8)
       oprot.writeI32(self.dataResourceType)
       oprot.writeFieldEnd()
     if self.resourceSize is not None:
-      oprot.writeFieldBegin('resourceSize', TType.I32, 8)
+      oprot.writeFieldBegin('resourceSize', TType.I32, 9)
       oprot.writeI32(self.resourceSize)
       oprot.writeFieldEnd()
+    if self.nativeFormat is not None:
+      oprot.writeFieldBegin('nativeFormat', TType.STRING, 10)
+      oprot.writeString(self.nativeFormat)
+      oprot.writeFieldEnd()
     if self.creationTime is not None:
-      oprot.writeFieldBegin('creationTime', TType.I64, 9)
+      oprot.writeFieldBegin('creationTime', TType.I64, 11)
       oprot.writeI64(self.creationTime)
       oprot.writeFieldEnd()
     if self.lastModifiedTime is not None:
-      oprot.writeFieldBegin('lastModifiedTime', TType.I64, 10)
+      oprot.writeFieldBegin('lastModifiedTime', TType.I64, 12)
       oprot.writeI64(self.lastModifiedTime)
       oprot.writeFieldEnd()
     if self.resourceMetadata is not None:
-      oprot.writeFieldBegin('resourceMetadata', TType.MAP, 11)
+      oprot.writeFieldBegin('resourceMetadata', TType.MAP, 13)
       oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.resourceMetadata))
       for kiter19,viter20 in self.resourceMetadata.items():
         oprot.writeString(kiter19)
@@ -268,14 +292,14 @@ class DataResourceModel:
       oprot.writeMapEnd()
       oprot.writeFieldEnd()
     if self.replicaLocations is not None:
-      oprot.writeFieldBegin('replicaLocations', TType.LIST, 12)
+      oprot.writeFieldBegin('replicaLocations', TType.LIST, 14)
       oprot.writeListBegin(TType.STRUCT, len(self.replicaLocations))
       for iter21 in self.replicaLocations:
         iter21.write(oprot)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
     if self.childResources is not None:
-      oprot.writeFieldBegin('childResources', TType.LIST, 13)
+      oprot.writeFieldBegin('childResources', TType.LIST, 15)
       oprot.writeListBegin(TType.STRUCT, len(self.childResources))
       for iter22 in self.childResources:
         iter22.write(oprot)
@@ -296,8 +320,10 @@ class DataResourceModel:
     value = (value * 31) ^ hash(self.resourceName)
     value = (value * 31) ^ hash(self.resourceDescription)
     value = (value * 31) ^ hash(self.ownerName)
+    value = (value * 31) ^ hash(self.sha256Checksum)
     value = (value * 31) ^ hash(self.dataResourceType)
     value = (value * 31) ^ hash(self.resourceSize)
+    value = (value * 31) ^ hash(self.nativeFormat)
     value = (value * 31) ^ hash(self.creationTime)
     value = (value * 31) ^ hash(self.lastModifiedTime)
     value = (value * 31) ^ hash(self.resourceMetadata)
@@ -323,6 +349,7 @@ class DataReplicaLocationModel:
    - resourceId
    - replicaName
    - replicaDescription
+   - sourceReplicaId
    - creationTime
    - lastModifiedTime
    - validUntilTime
@@ -339,21 +366,23 @@ class DataReplicaLocationModel:
     (2, TType.STRING, 'resourceId', None, None, ), # 2
     (3, TType.STRING, 'replicaName', None, None, ), # 3
     (4, TType.STRING, 'replicaDescription', None, None, ), # 4
-    (5, TType.I64, 'creationTime', None, None, ), # 5
-    (6, TType.I64, 'lastModifiedTime', None, None, ), # 6
-    (7, TType.I64, 'validUntilTime', None, None, ), # 7
-    (8, TType.I32, 'replicaLocationCategory', None, None, ), # 8
-    (9, TType.I32, 'replicaPersistentType', None, None, ), # 9
-    (10, TType.STRING, 'storageResourceId', None, None, ), # 10
-    (11, TType.STRING, 'fileAbsolutePath', None, None, ), # 11
-    (12, TType.MAP, 'replicaMetadata', (TType.STRING,None,TType.STRING,None), None, ), # 12
+    (5, TType.STRING, 'sourceReplicaId', None, None, ), # 5
+    (6, TType.I64, 'creationTime', None, None, ), # 6
+    (7, TType.I64, 'lastModifiedTime', None, None, ), # 7
+    (8, TType.I64, 'validUntilTime', None, None, ), # 8
+    (9, TType.I32, 'replicaLocationCategory', None, None, ), # 9
+    (10, TType.I32, 'replicaPersistentType', None, None, ), # 10
+    (11, TType.STRING, 'storageResourceId', None, None, ), # 11
+    (12, TType.STRING, 'fileAbsolutePath', None, None, ), # 12
+    (13, TType.MAP, 'replicaMetadata', (TType.STRING,None,TType.STRING,None), None, ), # 13
   )
 
-  def __init__(self, replicaId=None, resourceId=None, replicaName=None, replicaDescription=None, creationTime=None, lastModifiedTime=None, validUntilTime=None, replicaLocationCategory=None, replicaPersistentType=None, storageResourceId=None, fileAbsolutePath=None, replicaMetadata=None,):
+  def __init__(self, replicaId=None, resourceId=None, replicaName=None, replicaDescription=None, sourceReplicaId=None, creationTime=None, lastModifiedTime=None, validUntilTime=None, replicaLocationCategory=None, replicaPersistentType=None, storageResourceId=None, fileAbsolutePath=None, replicaMetadata=None,):
     self.replicaId = replicaId
     self.resourceId = resourceId
     self.replicaName = replicaName
     self.replicaDescription = replicaDescription
+    self.sourceReplicaId = sourceReplicaId
     self.creationTime = creationTime
     self.lastModifiedTime = lastModifiedTime
     self.validUntilTime = validUntilTime
@@ -393,41 +422,46 @@ class DataReplicaLocationModel:
         else:
           iprot.skip(ftype)
       elif fid == 5:
+        if ftype == TType.STRING:
+          self.sourceReplicaId = iprot.readString()
+        else:
+          iprot.skip(ftype)
+      elif fid == 6:
         if ftype == TType.I64:
           self.creationTime = iprot.readI64()
         else:
           iprot.skip(ftype)
-      elif fid == 6:
+      elif fid == 7:
         if ftype == TType.I64:
           self.lastModifiedTime = iprot.readI64()
         else:
           iprot.skip(ftype)
-      elif fid == 7:
+      elif fid == 8:
         if ftype == TType.I64:
           self.validUntilTime = iprot.readI64()
         else:
           iprot.skip(ftype)
-      elif fid == 8:
+      elif fid == 9:
         if ftype == TType.I32:
           self.replicaLocationCategory = iprot.readI32()
         else:
           iprot.skip(ftype)
-      elif fid == 9:
+      elif fid == 10:
         if ftype == TType.I32:
           self.replicaPersistentType = iprot.readI32()
         else:
           iprot.skip(ftype)
-      elif fid == 10:
+      elif fid == 11:
         if ftype == TType.STRING:
           self.storageResourceId = iprot.readString()
         else:
           iprot.skip(ftype)
-      elif fid == 11:
+      elif fid == 12:
         if ftype == TType.STRING:
           self.fileAbsolutePath = iprot.readString()
         else:
           iprot.skip(ftype)
-      elif fid == 12:
+      elif fid == 13:
         if ftype == TType.MAP:
           self.replicaMetadata = {}
           (_ktype24, _vtype25, _size23 ) = iprot.readMapBegin()
@@ -464,36 +498,40 @@ class DataReplicaLocationModel:
       oprot.writeFieldBegin('replicaDescription', TType.STRING, 4)
       oprot.writeString(self.replicaDescription)
       oprot.writeFieldEnd()
+    if self.sourceReplicaId is not None:
+      oprot.writeFieldBegin('sourceReplicaId', TType.STRING, 5)
+      oprot.writeString(self.sourceReplicaId)
+      oprot.writeFieldEnd()
     if self.creationTime is not None:
-      oprot.writeFieldBegin('creationTime', TType.I64, 5)
+      oprot.writeFieldBegin('creationTime', TType.I64, 6)
       oprot.writeI64(self.creationTime)
       oprot.writeFieldEnd()
     if self.lastModifiedTime is not None:
-      oprot.writeFieldBegin('lastModifiedTime', TType.I64, 6)
+      oprot.writeFieldBegin('lastModifiedTime', TType.I64, 7)
       oprot.writeI64(self.lastModifiedTime)
       oprot.writeFieldEnd()
     if self.validUntilTime is not None:
-      oprot.writeFieldBegin('validUntilTime', TType.I64, 7)
+      oprot.writeFieldBegin('validUntilTime', TType.I64, 8)
       oprot.writeI64(self.validUntilTime)
       oprot.writeFieldEnd()
     if self.replicaLocationCategory is not None:
-      oprot.writeFieldBegin('replicaLocationCategory', TType.I32, 8)
+      oprot.writeFieldBegin('replicaLocationCategory', TType.I32, 9)
       oprot.writeI32(self.replicaLocationCategory)
       oprot.writeFieldEnd()
     if self.replicaPersistentType is not None:
-      oprot.writeFieldBegin('replicaPersistentType', TType.I32, 9)
+      oprot.writeFieldBegin('replicaPersistentType', TType.I32, 10)
       oprot.writeI32(self.replicaPersistentType)
       oprot.writeFieldEnd()
     if self.storageResourceId is not None:
-      oprot.writeFieldBegin('storageResourceId', TType.STRING, 10)
+      oprot.writeFieldBegin('storageResourceId', TType.STRING, 11)
       oprot.writeString(self.storageResourceId)
       oprot.writeFieldEnd()
     if self.fileAbsolutePath is not None:
-      oprot.writeFieldBegin('fileAbsolutePath', TType.STRING, 11)
+      oprot.writeFieldBegin('fileAbsolutePath', TType.STRING, 12)
       oprot.writeString(self.fileAbsolutePath)
       oprot.writeFieldEnd()
     if self.replicaMetadata is not None:
-      oprot.writeFieldBegin('replicaMetadata', TType.MAP, 12)
+      oprot.writeFieldBegin('replicaMetadata', TType.MAP, 13)
       oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.replicaMetadata))
       for kiter30,viter31 in self.replicaMetadata.items():
         oprot.writeString(kiter30)
@@ -513,6 +551,7 @@ class DataReplicaLocationModel:
     value = (value * 31) ^ hash(self.resourceId)
     value = (value * 31) ^ hash(self.replicaName)
     value = (value * 31) ^ hash(self.replicaDescription)
+    value = (value * 31) ^ hash(self.sourceReplicaId)
     value = (value * 31) ^ hash(self.creationTime)
     value = (value * 31) ^ hash(self.lastModifiedTime)
     value = (value * 31) ^ hash(self.validUntilTime)

http://git-wip-us.apache.org/repos/asf/airavata/blob/e1a0772f/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/security/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/security/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/security/ttypes.py
index 92f607f..74c50e7 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/security/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/security/ttypes.py
@@ -85,6 +85,8 @@ class AuthzToken:
     oprot.writeStructEnd()
 
   def validate(self):
+    if self.accessToken is None:
+      raise TProtocol.TProtocolException(message='Required field accessToken is unset!')
     return
 
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e1a0772f/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/Workflow.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/Workflow.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/Workflow.java
index c2103b1..43e34ce 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/Workflow.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/Workflow.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-21")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
 public class Workflow implements org.apache.thrift.TBase<Workflow, Workflow._Fields>, java.io.Serializable, Cloneable, Comparable<Workflow> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("Workflow");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e1a0772f/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
index da88bf7..e07b157 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationDeploymentDescription.java
@@ -77,7 +77,7 @@ import org.slf4j.LoggerFactory;
  *  assigns to the environment variable "NAME" the value
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-21")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
 public class ApplicationDeploymentDescription implements org.apache.thrift.TBase<ApplicationDeploymentDescription, ApplicationDeploymentDescription._Fields>, java.io.Serializable, Cloneable, Comparable<ApplicationDeploymentDescription> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ApplicationDeploymentDescription");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e1a0772f/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java
index 67754a3..d070673 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/ApplicationModule.java
@@ -66,7 +66,7 @@ import org.slf4j.LoggerFactory;
  *    Descriprion of the Module
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-21")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
 public class ApplicationModule implements org.apache.thrift.TBase<ApplicationModule, ApplicationModule._Fields>, java.io.Serializable, Cloneable, Comparable<ApplicationModule> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ApplicationModule");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e1a0772f/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/CommandObject.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/CommandObject.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/CommandObject.java
index 669d2a0..71da883 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/CommandObject.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/CommandObject.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
  * commandOrder:
  *   Order of the command in the multiple command situation
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-21")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
 public class CommandObject implements org.apache.thrift.TBase<CommandObject, CommandObject._Fields>, java.io.Serializable, Cloneable, Comparable<CommandObject> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("CommandObject");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e1a0772f/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java
index 840f054..0e10c9d 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appdeployment/SetEnvPaths.java
@@ -63,7 +63,7 @@ import org.slf4j.LoggerFactory;
  * envPathOrder:
  *   The order of the setting of the env variables when there are multiple env variables
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-21")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
 public class SetEnvPaths implements org.apache.thrift.TBase<SetEnvPaths, SetEnvPaths._Fields>, java.io.Serializable, Cloneable, Comparable<SetEnvPaths> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SetEnvPaths");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e1a0772f/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java
index 73784f3..d82ebf2 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/appinterface/ApplicationInterfaceDescription.java
@@ -64,7 +64,7 @@ import org.slf4j.LoggerFactory;
  *   Outputs generated from the application
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-21")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
 public class ApplicationInterfaceDescription implements org.apache.thrift.TBase<ApplicationInterfaceDescription, ApplicationInterfaceDescription._Fields>, java.io.Serializable, Cloneable, Comparable<ApplicationInterfaceDescription> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ApplicationInterfaceDescription");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e1a0772f/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
index 03f29bb..9c0b346 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/BatchQueue.java
@@ -57,7 +57,7 @@ import org.slf4j.LoggerFactory;
  * maxRunTime:
  *  Maximum allowed run time in hours.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-21")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
 public class BatchQueue implements org.apache.thrift.TBase<BatchQueue, BatchQueue._Fields>, java.io.Serializable, Cloneable, Comparable<BatchQueue> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("BatchQueue");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e1a0772f/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java
index a9dd1ce..eae625c 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/CloudJobSubmission.java
@@ -56,7 +56,7 @@ import org.slf4j.LoggerFactory;
  * 
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-21")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
 public class CloudJobSubmission implements org.apache.thrift.TBase<CloudJobSubmission, CloudJobSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<CloudJobSubmission> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("CloudJobSubmission");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e1a0772f/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
index 07a5f03..9a9ee2f 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ComputeResourceDescription.java
@@ -80,7 +80,7 @@ import org.slf4j.LoggerFactory;
  *  Map of file systems type and the path.
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-21")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
 public class ComputeResourceDescription implements org.apache.thrift.TBase<ComputeResourceDescription, ComputeResourceDescription._Fields>, java.io.Serializable, Cloneable, Comparable<ComputeResourceDescription> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ComputeResourceDescription");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e1a0772f/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java
index cde1b40..0e39cad 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/GlobusJobSubmission.java
@@ -51,7 +51,7 @@ import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 @SuppressWarnings({"cast", "rawtypes", "serial", "unchecked"})
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-21")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
 public class GlobusJobSubmission implements org.apache.thrift.TBase<GlobusJobSubmission, GlobusJobSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<GlobusJobSubmission> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GlobusJobSubmission");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e1a0772f/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java
index 94376ab..8a776de 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/JobSubmissionInterface.java
@@ -61,7 +61,7 @@ import org.slf4j.LoggerFactory;
  *   Lower the numerical number, higher the priority
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-21")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2015-12-22")
 public class JobSubmissionInterface implements org.apache.thrift.TBase<JobSubmissionInterface, JobSubmissionInterface._Fields>, java.io.Serializable, Cloneable, Comparable<JobSubmissionInterface> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("JobSubmissionInterface");
 


Mime
View raw message