airavata-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From scnakand...@apache.org
Subject [04/14] airavata git commit: adding metadata support for resources
Date Fri, 11 Dec 2015 05:18:00 GMT
adding metadata support for resources


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

Branch: refs/heads/master
Commit: ed3d892c0b43b7abba36b36edf74200a8c9137a0
Parents: 52ccf87
Author: scnakandala <supun.nakandala@gmail.com>
Authored: Thu Dec 10 19:16:57 2015 -0500
Committer: scnakandala <supun.nakandala@gmail.com>
Committed: Thu Dec 10 19:16:58 2015 -0500

----------------------------------------------------------------------
 .../java/org/apache/airavata/api/Airavata.java  |   2 +-
 .../lib/airavata/data_resource_models_types.cpp | 312 ++++++++++--
 .../lib/airavata/data_resource_models_types.h   |  74 ++-
 .../lib/Airavata/Model/Data/Resource/Types.php  | 253 +++++++++-
 .../airavata/model/data/resource/ttypes.py      | 148 +++++-
 .../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 | 444 +++++++++++++++-
 .../model/data/resource/DataResourceModel.java  | 328 +++++++++++-
 .../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     |   2 +-
 .../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 +-
 .../airavata/data/manager/DataManager.java      |  22 -
 .../data/manager/DataManagerConstants.java      |   5 -
 .../airavata/data/manager/DataManagerImpl.java  |  58 +--
 .../data/manager/utils/DataTransferUtils.java   | 142 ------
 .../data/manager/utils/ssh/SSHApiException.java |  35 --
 .../utils/ssh/SSHAuthenticationUtils.java       |  45 --
 .../manager/utils/ssh/SSHCommandOutput.java     |  55 --
 .../manager/utils/ssh/SSHKeyAuthentication.java |  83 ---
 .../manager/utils/ssh/SSHStandardOutReader.java |  86 ----
 .../data/manager/utils/ssh/SSHUserInfo.java     |  70 ---
 .../data/manager/utils/ssh/SSHUtils.java        | 500 -------------------
 .../data/manager/DataManagerFactoryTest.java    |   4 +-
 .../data/manager/DataManagerImplTest.java       |  72 +--
 .../core/data/catalog/impl/DataCatalogImpl.java |   6 +
 .../data/catalog/model/DataReplicaLocation.java |  31 ++
 .../data/catalog/model/DataReplicaMetaData.java |  77 +++
 .../catalog/model/DataReplicaMetaData_PK.java   |  59 +++
 .../core/data/catalog/model/DataResource.java   |  12 +-
 .../catalog/model/DataResourceMetaData.java     |  80 +++
 .../catalog/model/DataResourceMetaData_PK.java  |  59 +++
 .../utils/ThriftDataModelConversion.java        |  75 +++
 .../src/main/resources/META-INF/persistence.xml |   2 +
 .../src/main/resources/datacatalog-derby.sql    |  19 +
 .../src/main/resources/datacatalog-mysql.sql    |  72 +++
 .../airavata/data/catalog/DataCatalogTest.java  |  26 +-
 .../src/test/resources/appcatalog-derby.sql     | 497 ------------------
 .../src/test/resources/datacatalog-derby.sql    |  54 --
 .../src/test/resources/expcatalog-derby.sql     | 361 -------------
 .../airavata-api/data_resource_models.thrift    |  21 +-
 111 files changed, 2061 insertions(+), 2278 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/ed3d892c/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 cb6ef1e..a332490 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.2)", date = "2015-12-8")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-12-10")
 public class Airavata {
 
   public interface Iface {

http://git-wip-us.apache.org/repos/asf/airavata/blob/ed3d892c/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_resource_models_types.cpp
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_resource_models_types.cpp b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_resource_models_types.cpp
index 5ea6e34..863c082 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_resource_models_types.cpp
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_resource_models_types.cpp
@@ -30,6 +30,30 @@
 
 namespace apache { namespace airavata { namespace model { namespace data { namespace resource {
 
+int _kReplicaLocationCategoryValues[] = {
+  ReplicaLocationCategory::GATEWAY_DATA_STORE,
+  ReplicaLocationCategory::COMPUTE_RESOURCE,
+  ReplicaLocationCategory::LONG_TERM_STORAGE_RESOURCE,
+  ReplicaLocationCategory::OTHER
+};
+const char* _kReplicaLocationCategoryNames[] = {
+  "GATEWAY_DATA_STORE",
+  "COMPUTE_RESOURCE",
+  "LONG_TERM_STORAGE_RESOURCE",
+  "OTHER"
+};
+const std::map<int, const char*> _ReplicaLocationCategory_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(4, _kReplicaLocationCategoryValues, _kReplicaLocationCategoryNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
+int _kReplicaPersistentTypeValues[] = {
+  ReplicaPersistentType::TRANSIENT,
+  ReplicaPersistentType::PERSISTENT
+};
+const char* _kReplicaPersistentTypeNames[] = {
+  "TRANSIENT",
+  "PERSISTENT"
+};
+const std::map<int, const char*> _ReplicaPersistentType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(2, _kReplicaPersistentTypeValues, _kReplicaPersistentTypeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+
 
 DataResourceModel::~DataResourceModel() throw() {
 }
@@ -70,8 +94,18 @@ void DataResourceModel::__set_lastModifiedTime(const int64_t val) {
 __isset.lastModifiedTime = true;
 }
 
-const char* DataResourceModel::ascii_fingerprint = "F4F870AD81FF6118FD1ADC4F20AC188B";
-const uint8_t DataResourceModel::binary_fingerprint[16] = {0xF4,0xF8,0x70,0xAD,0x81,0xFF,0x61,0x18,0xFD,0x1A,0xDC,0x4F,0x20,0xAC,0x18,0x8B};
+void DataResourceModel::__set_resourceMetadata(const std::map<std::string, std::string> & val) {
+  this->resourceMetadata = val;
+__isset.resourceMetadata = true;
+}
+
+void DataResourceModel::__set_dataReplicaLocations(const std::vector<DataReplicaLocationModel> & val) {
+  this->dataReplicaLocations = val;
+__isset.dataReplicaLocations = true;
+}
+
+const char* DataResourceModel::ascii_fingerprint = "1320CB0B65DC2E766D01B7D3255179F7";
+const uint8_t DataResourceModel::binary_fingerprint[16] = {0x13,0x20,0xCB,0x0B,0x65,0xDC,0x2E,0x76,0x6D,0x01,0xB7,0xD3,0x25,0x51,0x79,0xF7};
 
 uint32_t DataResourceModel::read(::apache::thrift::protocol::TProtocol* iprot) {
 
@@ -149,6 +183,49 @@ uint32_t DataResourceModel::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
+      case 8:
+        if (ftype == ::apache::thrift::protocol::T_MAP) {
+          {
+            this->resourceMetadata.clear();
+            uint32_t _size0;
+            ::apache::thrift::protocol::TType _ktype1;
+            ::apache::thrift::protocol::TType _vtype2;
+            xfer += iprot->readMapBegin(_ktype1, _vtype2, _size0);
+            uint32_t _i4;
+            for (_i4 = 0; _i4 < _size0; ++_i4)
+            {
+              std::string _key5;
+              xfer += iprot->readString(_key5);
+              std::string& _val6 = this->resourceMetadata[_key5];
+              xfer += iprot->readString(_val6);
+            }
+            xfer += iprot->readMapEnd();
+          }
+          this->__isset.resourceMetadata = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 9:
+        if (ftype == ::apache::thrift::protocol::T_LIST) {
+          {
+            this->dataReplicaLocations.clear();
+            uint32_t _size7;
+            ::apache::thrift::protocol::TType _etype10;
+            xfer += iprot->readListBegin(_etype10, _size7);
+            this->dataReplicaLocations.resize(_size7);
+            uint32_t _i11;
+            for (_i11 = 0; _i11 < _size7; ++_i11)
+            {
+              xfer += this->dataReplicaLocations[_i11].read(iprot);
+            }
+            xfer += iprot->readListEnd();
+          }
+          this->__isset.dataReplicaLocations = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -201,6 +278,33 @@ uint32_t DataResourceModel::write(::apache::thrift::protocol::TProtocol* oprot)
     xfer += oprot->writeI64(this->lastModifiedTime);
     xfer += oprot->writeFieldEnd();
   }
+  if (this->__isset.resourceMetadata) {
+    xfer += oprot->writeFieldBegin("resourceMetadata", ::apache::thrift::protocol::T_MAP, 8);
+    {
+      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 _iter12;
+      for (_iter12 = this->resourceMetadata.begin(); _iter12 != this->resourceMetadata.end(); ++_iter12)
+      {
+        xfer += oprot->writeString(_iter12->first);
+        xfer += oprot->writeString(_iter12->second);
+      }
+      xfer += oprot->writeMapEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.dataReplicaLocations) {
+    xfer += oprot->writeFieldBegin("dataReplicaLocations", ::apache::thrift::protocol::T_LIST, 9);
+    {
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->dataReplicaLocations.size()));
+      std::vector<DataReplicaLocationModel> ::const_iterator _iter13;
+      for (_iter13 = this->dataReplicaLocations.begin(); _iter13 != this->dataReplicaLocations.end(); ++_iter13)
+      {
+        xfer += (*_iter13).write(oprot);
+      }
+      xfer += oprot->writeListEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
   oprot->decrementRecursionDepth();
@@ -216,28 +320,34 @@ void swap(DataResourceModel &a, DataResourceModel &b) {
   swap(a.resourceSize, b.resourceSize);
   swap(a.creationTime, b.creationTime);
   swap(a.lastModifiedTime, b.lastModifiedTime);
+  swap(a.resourceMetadata, b.resourceMetadata);
+  swap(a.dataReplicaLocations, b.dataReplicaLocations);
   swap(a.__isset, b.__isset);
 }
 
-DataResourceModel::DataResourceModel(const DataResourceModel& other0) {
-  resourceId = other0.resourceId;
-  resourceName = other0.resourceName;
-  resourceDescription = other0.resourceDescription;
-  ownerName = other0.ownerName;
-  resourceSize = other0.resourceSize;
-  creationTime = other0.creationTime;
-  lastModifiedTime = other0.lastModifiedTime;
-  __isset = other0.__isset;
-}
-DataResourceModel& DataResourceModel::operator=(const DataResourceModel& other1) {
-  resourceId = other1.resourceId;
-  resourceName = other1.resourceName;
-  resourceDescription = other1.resourceDescription;
-  ownerName = other1.ownerName;
-  resourceSize = other1.resourceSize;
-  creationTime = other1.creationTime;
-  lastModifiedTime = other1.lastModifiedTime;
-  __isset = other1.__isset;
+DataResourceModel::DataResourceModel(const DataResourceModel& other14) {
+  resourceId = other14.resourceId;
+  resourceName = other14.resourceName;
+  resourceDescription = other14.resourceDescription;
+  ownerName = other14.ownerName;
+  resourceSize = other14.resourceSize;
+  creationTime = other14.creationTime;
+  lastModifiedTime = other14.lastModifiedTime;
+  resourceMetadata = other14.resourceMetadata;
+  dataReplicaLocations = other14.dataReplicaLocations;
+  __isset = other14.__isset;
+}
+DataResourceModel& DataResourceModel::operator=(const DataResourceModel& other15) {
+  resourceId = other15.resourceId;
+  resourceName = other15.resourceName;
+  resourceDescription = other15.resourceDescription;
+  ownerName = other15.ownerName;
+  resourceSize = other15.resourceSize;
+  creationTime = other15.creationTime;
+  lastModifiedTime = other15.lastModifiedTime;
+  resourceMetadata = other15.resourceMetadata;
+  dataReplicaLocations = other15.dataReplicaLocations;
+  __isset = other15.__isset;
   return *this;
 }
 std::ostream& operator<<(std::ostream& out, const DataResourceModel& obj) {
@@ -250,6 +360,8 @@ std::ostream& operator<<(std::ostream& out, const DataResourceModel& obj) {
   out << ", " << "resourceSize="; (obj.__isset.resourceSize ? (out << to_string(obj.resourceSize)) : (out << "<null>"));
   out << ", " << "creationTime="; (obj.__isset.creationTime ? (out << to_string(obj.creationTime)) : (out << "<null>"));
   out << ", " << "lastModifiedTime="; (obj.__isset.lastModifiedTime ? (out << to_string(obj.lastModifiedTime)) : (out << "<null>"));
+  out << ", " << "resourceMetadata="; (obj.__isset.resourceMetadata ? (out << to_string(obj.resourceMetadata)) : (out << "<null>"));
+  out << ", " << "dataReplicaLocations="; (obj.__isset.dataReplicaLocations ? (out << to_string(obj.dataReplicaLocations)) : (out << "<null>"));
   out << ")";
   return out;
 }
@@ -289,13 +401,28 @@ void DataReplicaLocationModel::__set_lastModifiedTime(const int64_t val) {
 __isset.lastModifiedTime = true;
 }
 
+void DataReplicaLocationModel::__set_replicaLocationCategory(const ReplicaLocationCategory::type val) {
+  this->replicaLocationCategory = val;
+__isset.replicaLocationCategory = true;
+}
+
+void DataReplicaLocationModel::__set_replicaPersistentType(const ReplicaPersistentType::type val) {
+  this->replicaPersistentType = val;
+__isset.replicaPersistentType = true;
+}
+
 void DataReplicaLocationModel::__set_dataLocations(const std::vector<std::string> & val) {
   this->dataLocations = val;
 __isset.dataLocations = true;
 }
 
-const char* DataReplicaLocationModel::ascii_fingerprint = "1619AEF299C273167E541E0F4A915D54";
-const uint8_t DataReplicaLocationModel::binary_fingerprint[16] = {0x16,0x19,0xAE,0xF2,0x99,0xC2,0x73,0x16,0x7E,0x54,0x1E,0x0F,0x4A,0x91,0x5D,0x54};
+void DataReplicaLocationModel::__set_replicaMetadata(const std::map<std::string, std::string> & val) {
+  this->replicaMetadata = val;
+__isset.replicaMetadata = true;
+}
+
+const char* DataReplicaLocationModel::ascii_fingerprint = "781A1748A91BB45A79F33F79DC9474F1";
+const uint8_t DataReplicaLocationModel::binary_fingerprint[16] = {0x78,0x1A,0x17,0x48,0xA9,0x1B,0xB4,0x5A,0x79,0xF3,0x3F,0x79,0xDC,0x94,0x74,0xF1};
 
 uint32_t DataReplicaLocationModel::read(::apache::thrift::protocol::TProtocol* iprot) {
 
@@ -366,17 +493,37 @@ uint32_t DataReplicaLocationModel::read(::apache::thrift::protocol::TProtocol* i
         }
         break;
       case 7:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast16;
+          xfer += iprot->readI32(ecast16);
+          this->replicaLocationCategory = (ReplicaLocationCategory::type)ecast16;
+          this->__isset.replicaLocationCategory = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 8:
+        if (ftype == ::apache::thrift::protocol::T_I32) {
+          int32_t ecast17;
+          xfer += iprot->readI32(ecast17);
+          this->replicaPersistentType = (ReplicaPersistentType::type)ecast17;
+          this->__isset.replicaPersistentType = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 9:
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->dataLocations.clear();
-            uint32_t _size2;
-            ::apache::thrift::protocol::TType _etype5;
-            xfer += iprot->readListBegin(_etype5, _size2);
-            this->dataLocations.resize(_size2);
-            uint32_t _i6;
-            for (_i6 = 0; _i6 < _size2; ++_i6)
+            uint32_t _size18;
+            ::apache::thrift::protocol::TType _etype21;
+            xfer += iprot->readListBegin(_etype21, _size18);
+            this->dataLocations.resize(_size18);
+            uint32_t _i22;
+            for (_i22 = 0; _i22 < _size18; ++_i22)
             {
-              xfer += iprot->readString(this->dataLocations[_i6]);
+              xfer += iprot->readString(this->dataLocations[_i22]);
             }
             xfer += iprot->readListEnd();
           }
@@ -385,6 +532,29 @@ uint32_t DataReplicaLocationModel::read(::apache::thrift::protocol::TProtocol* i
           xfer += iprot->skip(ftype);
         }
         break;
+      case 10:
+        if (ftype == ::apache::thrift::protocol::T_MAP) {
+          {
+            this->replicaMetadata.clear();
+            uint32_t _size23;
+            ::apache::thrift::protocol::TType _ktype24;
+            ::apache::thrift::protocol::TType _vtype25;
+            xfer += iprot->readMapBegin(_ktype24, _vtype25, _size23);
+            uint32_t _i27;
+            for (_i27 = 0; _i27 < _size23; ++_i27)
+            {
+              std::string _key28;
+              xfer += iprot->readString(_key28);
+              std::string& _val29 = this->replicaMetadata[_key28];
+              xfer += iprot->readString(_val29);
+            }
+            xfer += iprot->readMapEnd();
+          }
+          this->__isset.replicaMetadata = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
       default:
         xfer += iprot->skip(ftype);
         break;
@@ -432,19 +602,43 @@ uint32_t DataReplicaLocationModel::write(::apache::thrift::protocol::TProtocol*
     xfer += oprot->writeI64(this->lastModifiedTime);
     xfer += oprot->writeFieldEnd();
   }
+  if (this->__isset.replicaLocationCategory) {
+    xfer += oprot->writeFieldBegin("replicaLocationCategory", ::apache::thrift::protocol::T_I32, 7);
+    xfer += oprot->writeI32((int32_t)this->replicaLocationCategory);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.replicaPersistentType) {
+    xfer += oprot->writeFieldBegin("replicaPersistentType", ::apache::thrift::protocol::T_I32, 8);
+    xfer += oprot->writeI32((int32_t)this->replicaPersistentType);
+    xfer += oprot->writeFieldEnd();
+  }
   if (this->__isset.dataLocations) {
-    xfer += oprot->writeFieldBegin("dataLocations", ::apache::thrift::protocol::T_LIST, 7);
+    xfer += oprot->writeFieldBegin("dataLocations", ::apache::thrift::protocol::T_LIST, 9);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->dataLocations.size()));
-      std::vector<std::string> ::const_iterator _iter7;
-      for (_iter7 = this->dataLocations.begin(); _iter7 != this->dataLocations.end(); ++_iter7)
+      std::vector<std::string> ::const_iterator _iter30;
+      for (_iter30 = this->dataLocations.begin(); _iter30 != this->dataLocations.end(); ++_iter30)
       {
-        xfer += oprot->writeString((*_iter7));
+        xfer += oprot->writeString((*_iter30));
       }
       xfer += oprot->writeListEnd();
     }
     xfer += oprot->writeFieldEnd();
   }
+  if (this->__isset.replicaMetadata) {
+    xfer += oprot->writeFieldBegin("replicaMetadata", ::apache::thrift::protocol::T_MAP, 10);
+    {
+      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 _iter31;
+      for (_iter31 = this->replicaMetadata.begin(); _iter31 != this->replicaMetadata.end(); ++_iter31)
+      {
+        xfer += oprot->writeString(_iter31->first);
+        xfer += oprot->writeString(_iter31->second);
+      }
+      xfer += oprot->writeMapEnd();
+    }
+    xfer += oprot->writeFieldEnd();
+  }
   xfer += oprot->writeFieldStop();
   xfer += oprot->writeStructEnd();
   oprot->decrementRecursionDepth();
@@ -459,29 +653,38 @@ void swap(DataReplicaLocationModel &a, DataReplicaLocationModel &b) {
   swap(a.replicaDescription, b.replicaDescription);
   swap(a.creationTime, b.creationTime);
   swap(a.lastModifiedTime, b.lastModifiedTime);
+  swap(a.replicaLocationCategory, b.replicaLocationCategory);
+  swap(a.replicaPersistentType, b.replicaPersistentType);
   swap(a.dataLocations, b.dataLocations);
+  swap(a.replicaMetadata, b.replicaMetadata);
   swap(a.__isset, b.__isset);
 }
 
-DataReplicaLocationModel::DataReplicaLocationModel(const DataReplicaLocationModel& other8) {
-  replicaId = other8.replicaId;
-  resourceId = other8.resourceId;
-  replicaName = other8.replicaName;
-  replicaDescription = other8.replicaDescription;
-  creationTime = other8.creationTime;
-  lastModifiedTime = other8.lastModifiedTime;
-  dataLocations = other8.dataLocations;
-  __isset = other8.__isset;
-}
-DataReplicaLocationModel& DataReplicaLocationModel::operator=(const DataReplicaLocationModel& other9) {
-  replicaId = other9.replicaId;
-  resourceId = other9.resourceId;
-  replicaName = other9.replicaName;
-  replicaDescription = other9.replicaDescription;
-  creationTime = other9.creationTime;
-  lastModifiedTime = other9.lastModifiedTime;
-  dataLocations = other9.dataLocations;
-  __isset = other9.__isset;
+DataReplicaLocationModel::DataReplicaLocationModel(const DataReplicaLocationModel& other32) {
+  replicaId = other32.replicaId;
+  resourceId = other32.resourceId;
+  replicaName = other32.replicaName;
+  replicaDescription = other32.replicaDescription;
+  creationTime = other32.creationTime;
+  lastModifiedTime = other32.lastModifiedTime;
+  replicaLocationCategory = other32.replicaLocationCategory;
+  replicaPersistentType = other32.replicaPersistentType;
+  dataLocations = other32.dataLocations;
+  replicaMetadata = other32.replicaMetadata;
+  __isset = other32.__isset;
+}
+DataReplicaLocationModel& DataReplicaLocationModel::operator=(const DataReplicaLocationModel& other33) {
+  replicaId = other33.replicaId;
+  resourceId = other33.resourceId;
+  replicaName = other33.replicaName;
+  replicaDescription = other33.replicaDescription;
+  creationTime = other33.creationTime;
+  lastModifiedTime = other33.lastModifiedTime;
+  replicaLocationCategory = other33.replicaLocationCategory;
+  replicaPersistentType = other33.replicaPersistentType;
+  dataLocations = other33.dataLocations;
+  replicaMetadata = other33.replicaMetadata;
+  __isset = other33.__isset;
   return *this;
 }
 std::ostream& operator<<(std::ostream& out, const DataReplicaLocationModel& obj) {
@@ -493,7 +696,10 @@ std::ostream& operator<<(std::ostream& out, const DataReplicaLocationModel& obj)
   out << ", " << "replicaDescription="; (obj.__isset.replicaDescription ? (out << to_string(obj.replicaDescription)) : (out << "<null>"));
   out << ", " << "creationTime="; (obj.__isset.creationTime ? (out << to_string(obj.creationTime)) : (out << "<null>"));
   out << ", " << "lastModifiedTime="; (obj.__isset.lastModifiedTime ? (out << to_string(obj.lastModifiedTime)) : (out << "<null>"));
+  out << ", " << "replicaLocationCategory="; (obj.__isset.replicaLocationCategory ? (out << to_string(obj.replicaLocationCategory)) : (out << "<null>"));
+  out << ", " << "replicaPersistentType="; (obj.__isset.replicaPersistentType ? (out << to_string(obj.replicaPersistentType)) : (out << "<null>"));
   out << ", " << "dataLocations="; (obj.__isset.dataLocations ? (out << to_string(obj.dataLocations)) : (out << "<null>"));
+  out << ", " << "replicaMetadata="; (obj.__isset.replicaMetadata ? (out << to_string(obj.replicaMetadata)) : (out << "<null>"));
   out << ")";
   return out;
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/ed3d892c/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_resource_models_types.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_resource_models_types.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_resource_models_types.h
index 73d9938..c2f018c 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_resource_models_types.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/data_resource_models_types.h
@@ -36,12 +36,32 @@
 
 namespace apache { namespace airavata { namespace model { namespace data { namespace resource {
 
+struct ReplicaLocationCategory {
+  enum type {
+    GATEWAY_DATA_STORE = 0,
+    COMPUTE_RESOURCE = 1,
+    LONG_TERM_STORAGE_RESOURCE = 2,
+    OTHER = 3
+  };
+};
+
+extern const std::map<int, const char*> _ReplicaLocationCategory_VALUES_TO_NAMES;
+
+struct ReplicaPersistentType {
+  enum type {
+    TRANSIENT = 0,
+    PERSISTENT = 1
+  };
+};
+
+extern const std::map<int, const char*> _ReplicaPersistentType_VALUES_TO_NAMES;
+
 class DataResourceModel;
 
 class DataReplicaLocationModel;
 
 typedef struct _DataResourceModel__isset {
-  _DataResourceModel__isset() : resourceId(false), resourceName(false), resourceDescription(false), ownerName(false), resourceSize(false), creationTime(false), lastModifiedTime(false) {}
+  _DataResourceModel__isset() : resourceId(false), resourceName(false), resourceDescription(false), ownerName(false), resourceSize(false), creationTime(false), lastModifiedTime(false), resourceMetadata(false), dataReplicaLocations(false) {}
   bool resourceId :1;
   bool resourceName :1;
   bool resourceDescription :1;
@@ -49,13 +69,15 @@ typedef struct _DataResourceModel__isset {
   bool resourceSize :1;
   bool creationTime :1;
   bool lastModifiedTime :1;
+  bool resourceMetadata :1;
+  bool dataReplicaLocations :1;
 } _DataResourceModel__isset;
 
 class DataResourceModel {
  public:
 
-  static const char* ascii_fingerprint; // = "F4F870AD81FF6118FD1ADC4F20AC188B";
-  static const uint8_t binary_fingerprint[16]; // = {0xF4,0xF8,0x70,0xAD,0x81,0xFF,0x61,0x18,0xFD,0x1A,0xDC,0x4F,0x20,0xAC,0x18,0x8B};
+  static const char* ascii_fingerprint; // = "1320CB0B65DC2E766D01B7D3255179F7";
+  static const uint8_t binary_fingerprint[16]; // = {0x13,0x20,0xCB,0x0B,0x65,0xDC,0x2E,0x76,0x6D,0x01,0xB7,0xD3,0x25,0x51,0x79,0xF7};
 
   DataResourceModel(const DataResourceModel&);
   DataResourceModel& operator=(const DataResourceModel&);
@@ -70,6 +92,8 @@ class DataResourceModel {
   int32_t resourceSize;
   int64_t creationTime;
   int64_t lastModifiedTime;
+  std::map<std::string, std::string>  resourceMetadata;
+  std::vector<DataReplicaLocationModel>  dataReplicaLocations;
 
   _DataResourceModel__isset __isset;
 
@@ -87,6 +111,10 @@ class DataResourceModel {
 
   void __set_lastModifiedTime(const int64_t val);
 
+  void __set_resourceMetadata(const std::map<std::string, std::string> & val);
+
+  void __set_dataReplicaLocations(const std::vector<DataReplicaLocationModel> & val);
+
   bool operator == (const DataResourceModel & rhs) const
   {
     if (__isset.resourceId != rhs.__isset.resourceId)
@@ -117,6 +145,14 @@ class DataResourceModel {
       return false;
     else if (__isset.lastModifiedTime && !(lastModifiedTime == rhs.lastModifiedTime))
       return false;
+    if (__isset.resourceMetadata != rhs.__isset.resourceMetadata)
+      return false;
+    else if (__isset.resourceMetadata && !(resourceMetadata == rhs.resourceMetadata))
+      return false;
+    if (__isset.dataReplicaLocations != rhs.__isset.dataReplicaLocations)
+      return false;
+    else if (__isset.dataReplicaLocations && !(dataReplicaLocations == rhs.dataReplicaLocations))
+      return false;
     return true;
   }
   bool operator != (const DataResourceModel &rhs) const {
@@ -134,25 +170,28 @@ class DataResourceModel {
 void swap(DataResourceModel &a, DataResourceModel &b);
 
 typedef struct _DataReplicaLocationModel__isset {
-  _DataReplicaLocationModel__isset() : replicaId(false), resourceId(false), replicaName(false), replicaDescription(false), creationTime(false), lastModifiedTime(false), dataLocations(false) {}
+  _DataReplicaLocationModel__isset() : replicaId(false), resourceId(false), replicaName(false), replicaDescription(false), creationTime(false), lastModifiedTime(false), replicaLocationCategory(false), replicaPersistentType(false), dataLocations(false), replicaMetadata(false) {}
   bool replicaId :1;
   bool resourceId :1;
   bool replicaName :1;
   bool replicaDescription :1;
   bool creationTime :1;
   bool lastModifiedTime :1;
+  bool replicaLocationCategory :1;
+  bool replicaPersistentType :1;
   bool dataLocations :1;
+  bool replicaMetadata :1;
 } _DataReplicaLocationModel__isset;
 
 class DataReplicaLocationModel {
  public:
 
-  static const char* ascii_fingerprint; // = "1619AEF299C273167E541E0F4A915D54";
-  static const uint8_t binary_fingerprint[16]; // = {0x16,0x19,0xAE,0xF2,0x99,0xC2,0x73,0x16,0x7E,0x54,0x1E,0x0F,0x4A,0x91,0x5D,0x54};
+  static const char* ascii_fingerprint; // = "781A1748A91BB45A79F33F79DC9474F1";
+  static const uint8_t binary_fingerprint[16]; // = {0x78,0x1A,0x17,0x48,0xA9,0x1B,0xB4,0x5A,0x79,0xF3,0x3F,0x79,0xDC,0x94,0x74,0xF1};
 
   DataReplicaLocationModel(const DataReplicaLocationModel&);
   DataReplicaLocationModel& operator=(const DataReplicaLocationModel&);
-  DataReplicaLocationModel() : replicaId(), resourceId(), replicaName(), replicaDescription(), creationTime(0), lastModifiedTime(0) {
+  DataReplicaLocationModel() : replicaId(), resourceId(), replicaName(), replicaDescription(), creationTime(0), lastModifiedTime(0), replicaLocationCategory((ReplicaLocationCategory::type)0), replicaPersistentType((ReplicaPersistentType::type)0) {
   }
 
   virtual ~DataReplicaLocationModel() throw();
@@ -162,7 +201,10 @@ class DataReplicaLocationModel {
   std::string replicaDescription;
   int64_t creationTime;
   int64_t lastModifiedTime;
+  ReplicaLocationCategory::type replicaLocationCategory;
+  ReplicaPersistentType::type replicaPersistentType;
   std::vector<std::string>  dataLocations;
+  std::map<std::string, std::string>  replicaMetadata;
 
   _DataReplicaLocationModel__isset __isset;
 
@@ -178,8 +220,14 @@ class DataReplicaLocationModel {
 
   void __set_lastModifiedTime(const int64_t val);
 
+  void __set_replicaLocationCategory(const ReplicaLocationCategory::type val);
+
+  void __set_replicaPersistentType(const ReplicaPersistentType::type val);
+
   void __set_dataLocations(const std::vector<std::string> & val);
 
+  void __set_replicaMetadata(const std::map<std::string, std::string> & val);
+
   bool operator == (const DataReplicaLocationModel & rhs) const
   {
     if (__isset.replicaId != rhs.__isset.replicaId)
@@ -206,10 +254,22 @@ class DataReplicaLocationModel {
       return false;
     else if (__isset.lastModifiedTime && !(lastModifiedTime == rhs.lastModifiedTime))
       return false;
+    if (__isset.replicaLocationCategory != rhs.__isset.replicaLocationCategory)
+      return false;
+    else if (__isset.replicaLocationCategory && !(replicaLocationCategory == rhs.replicaLocationCategory))
+      return false;
+    if (__isset.replicaPersistentType != rhs.__isset.replicaPersistentType)
+      return false;
+    else if (__isset.replicaPersistentType && !(replicaPersistentType == rhs.replicaPersistentType))
+      return false;
     if (__isset.dataLocations != rhs.__isset.dataLocations)
       return false;
     else if (__isset.dataLocations && !(dataLocations == rhs.dataLocations))
       return false;
+    if (__isset.replicaMetadata != rhs.__isset.replicaMetadata)
+      return false;
+    else if (__isset.replicaMetadata && !(replicaMetadata == rhs.replicaMetadata))
+      return false;
     return true;
   }
   bool operator != (const DataReplicaLocationModel &rhs) const {

http://git-wip-us.apache.org/repos/asf/airavata/blob/ed3d892c/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 f0cf287..b558b2c 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
@@ -17,6 +17,28 @@ use Thrift\Protocol\TBinaryProtocolAccelerated;
 use Thrift\Exception\TApplicationException;
 
 
+final class ReplicaLocationCategory {
+  const GATEWAY_DATA_STORE = 0;
+  const COMPUTE_RESOURCE = 1;
+  const LONG_TERM_STORAGE_RESOURCE = 2;
+  const OTHER = 3;
+  static public $__names = array(
+    0 => 'GATEWAY_DATA_STORE',
+    1 => 'COMPUTE_RESOURCE',
+    2 => 'LONG_TERM_STORAGE_RESOURCE',
+    3 => 'OTHER',
+  );
+}
+
+final class ReplicaPersistentType {
+  const TRANSIENT = 0;
+  const PERSISTENT = 1;
+  static public $__names = array(
+    0 => 'TRANSIENT',
+    1 => 'PERSISTENT',
+  );
+}
+
 class DataResourceModel {
   static $_TSPEC;
 
@@ -48,6 +70,14 @@ class DataResourceModel {
    * @var int
    */
   public $lastModifiedTime = null;
+  /**
+   * @var array
+   */
+  public $resourceMetadata = null;
+  /**
+   * @var \Airavata\Model\Data\Resource\DataReplicaLocationModel[]
+   */
+  public $dataReplicaLocations = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -80,6 +110,27 @@ class DataResourceModel {
           'var' => 'lastModifiedTime',
           'type' => TType::I64,
           ),
+        8 => array(
+          'var' => 'resourceMetadata',
+          'type' => TType::MAP,
+          'ktype' => TType::STRING,
+          'vtype' => TType::STRING,
+          'key' => array(
+            'type' => TType::STRING,
+          ),
+          'val' => array(
+            'type' => TType::STRING,
+            ),
+          ),
+        9 => array(
+          'var' => 'dataReplicaLocations',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\Data\Resource\DataReplicaLocationModel',
+            ),
+          ),
         );
     }
     if (is_array($vals)) {
@@ -104,6 +155,12 @@ class DataResourceModel {
       if (isset($vals['lastModifiedTime'])) {
         $this->lastModifiedTime = $vals['lastModifiedTime'];
       }
+      if (isset($vals['resourceMetadata'])) {
+        $this->resourceMetadata = $vals['resourceMetadata'];
+      }
+      if (isset($vals['dataReplicaLocations'])) {
+        $this->dataReplicaLocations = $vals['dataReplicaLocations'];
+      }
     }
   }
 
@@ -175,6 +232,44 @@ class DataResourceModel {
             $xfer += $input->skip($ftype);
           }
           break;
+        case 8:
+          if ($ftype == TType::MAP) {
+            $this->resourceMetadata = array();
+            $_size0 = 0;
+            $_ktype1 = 0;
+            $_vtype2 = 0;
+            $xfer += $input->readMapBegin($_ktype1, $_vtype2, $_size0);
+            for ($_i4 = 0; $_i4 < $_size0; ++$_i4)
+            {
+              $key5 = '';
+              $val6 = '';
+              $xfer += $input->readString($key5);
+              $xfer += $input->readString($val6);
+              $this->resourceMetadata[$key5] = $val6;
+            }
+            $xfer += $input->readMapEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 9:
+          if ($ftype == TType::LST) {
+            $this->dataReplicaLocations = array();
+            $_size7 = 0;
+            $_etype10 = 0;
+            $xfer += $input->readListBegin($_etype10, $_size7);
+            for ($_i11 = 0; $_i11 < $_size7; ++$_i11)
+            {
+              $elem12 = null;
+              $elem12 = new \Airavata\Model\Data\Resource\DataReplicaLocationModel();
+              $xfer += $elem12->read($input);
+              $this->dataReplicaLocations []= $elem12;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -223,6 +318,41 @@ class DataResourceModel {
       $xfer += $output->writeI64($this->lastModifiedTime);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->resourceMetadata !== null) {
+      if (!is_array($this->resourceMetadata)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('resourceMetadata', TType::MAP, 8);
+      {
+        $output->writeMapBegin(TType::STRING, TType::STRING, count($this->resourceMetadata));
+        {
+          foreach ($this->resourceMetadata as $kiter13 => $viter14)
+          {
+            $xfer += $output->writeString($kiter13);
+            $xfer += $output->writeString($viter14);
+          }
+        }
+        $output->writeMapEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->dataReplicaLocations !== null) {
+      if (!is_array($this->dataReplicaLocations)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('dataReplicaLocations', TType::LST, 9);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->dataReplicaLocations));
+        {
+          foreach ($this->dataReplicaLocations as $iter15)
+          {
+            $xfer += $iter15->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;
@@ -258,9 +388,21 @@ class DataReplicaLocationModel {
    */
   public $lastModifiedTime = null;
   /**
+   * @var int
+   */
+  public $replicaLocationCategory = null;
+  /**
+   * @var int
+   */
+  public $replicaPersistentType = null;
+  /**
    * @var string[]
    */
   public $dataLocations = null;
+  /**
+   * @var array
+   */
+  public $replicaMetadata = null;
 
   public function __construct($vals=null) {
     if (!isset(self::$_TSPEC)) {
@@ -290,6 +432,14 @@ class DataReplicaLocationModel {
           'type' => TType::I64,
           ),
         7 => array(
+          'var' => 'replicaLocationCategory',
+          'type' => TType::I32,
+          ),
+        8 => array(
+          'var' => 'replicaPersistentType',
+          'type' => TType::I32,
+          ),
+        9 => array(
           'var' => 'dataLocations',
           'type' => TType::LST,
           'etype' => TType::STRING,
@@ -297,6 +447,18 @@ class DataReplicaLocationModel {
             'type' => TType::STRING,
             ),
           ),
+        10 => array(
+          'var' => 'replicaMetadata',
+          'type' => TType::MAP,
+          'ktype' => TType::STRING,
+          'vtype' => TType::STRING,
+          'key' => array(
+            'type' => TType::STRING,
+          ),
+          'val' => array(
+            'type' => TType::STRING,
+            ),
+          ),
         );
     }
     if (is_array($vals)) {
@@ -318,9 +480,18 @@ class DataReplicaLocationModel {
       if (isset($vals['lastModifiedTime'])) {
         $this->lastModifiedTime = $vals['lastModifiedTime'];
       }
+      if (isset($vals['replicaLocationCategory'])) {
+        $this->replicaLocationCategory = $vals['replicaLocationCategory'];
+      }
+      if (isset($vals['replicaPersistentType'])) {
+        $this->replicaPersistentType = $vals['replicaPersistentType'];
+      }
       if (isset($vals['dataLocations'])) {
         $this->dataLocations = $vals['dataLocations'];
       }
+      if (isset($vals['replicaMetadata'])) {
+        $this->replicaMetadata = $vals['replicaMetadata'];
+      }
     }
   }
 
@@ -386,22 +557,56 @@ class DataReplicaLocationModel {
           }
           break;
         case 7:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->replicaLocationCategory);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 8:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->replicaPersistentType);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 9:
           if ($ftype == TType::LST) {
             $this->dataLocations = array();
-            $_size0 = 0;
-            $_etype3 = 0;
-            $xfer += $input->readListBegin($_etype3, $_size0);
-            for ($_i4 = 0; $_i4 < $_size0; ++$_i4)
+            $_size16 = 0;
+            $_etype19 = 0;
+            $xfer += $input->readListBegin($_etype19, $_size16);
+            for ($_i20 = 0; $_i20 < $_size16; ++$_i20)
             {
-              $elem5 = null;
-              $xfer += $input->readString($elem5);
-              $this->dataLocations []= $elem5;
+              $elem21 = null;
+              $xfer += $input->readString($elem21);
+              $this->dataLocations []= $elem21;
             }
             $xfer += $input->readListEnd();
           } else {
             $xfer += $input->skip($ftype);
           }
           break;
+        case 10:
+          if ($ftype == TType::MAP) {
+            $this->replicaMetadata = array();
+            $_size22 = 0;
+            $_ktype23 = 0;
+            $_vtype24 = 0;
+            $xfer += $input->readMapBegin($_ktype23, $_vtype24, $_size22);
+            for ($_i26 = 0; $_i26 < $_size22; ++$_i26)
+            {
+              $key27 = '';
+              $val28 = '';
+              $xfer += $input->readString($key27);
+              $xfer += $input->readString($val28);
+              $this->replicaMetadata[$key27] = $val28;
+            }
+            $xfer += $input->readMapEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
         default:
           $xfer += $input->skip($ftype);
           break;
@@ -445,23 +650,51 @@ class DataReplicaLocationModel {
       $xfer += $output->writeI64($this->lastModifiedTime);
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->replicaLocationCategory !== null) {
+      $xfer += $output->writeFieldBegin('replicaLocationCategory', TType::I32, 7);
+      $xfer += $output->writeI32($this->replicaLocationCategory);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->replicaPersistentType !== null) {
+      $xfer += $output->writeFieldBegin('replicaPersistentType', TType::I32, 8);
+      $xfer += $output->writeI32($this->replicaPersistentType);
+      $xfer += $output->writeFieldEnd();
+    }
     if ($this->dataLocations !== null) {
       if (!is_array($this->dataLocations)) {
         throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
       }
-      $xfer += $output->writeFieldBegin('dataLocations', TType::LST, 7);
+      $xfer += $output->writeFieldBegin('dataLocations', TType::LST, 9);
       {
         $output->writeListBegin(TType::STRING, count($this->dataLocations));
         {
-          foreach ($this->dataLocations as $iter6)
+          foreach ($this->dataLocations as $iter29)
           {
-            $xfer += $output->writeString($iter6);
+            $xfer += $output->writeString($iter29);
           }
         }
         $output->writeListEnd();
       }
       $xfer += $output->writeFieldEnd();
     }
+    if ($this->replicaMetadata !== null) {
+      if (!is_array($this->replicaMetadata)) {
+        throw new TProtocolException('Bad type in structure.', TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('replicaMetadata', TType::MAP, 10);
+      {
+        $output->writeMapBegin(TType::STRING, TType::STRING, count($this->replicaMetadata));
+        {
+          foreach ($this->replicaMetadata as $kiter30 => $viter31)
+          {
+            $xfer += $output->writeString($kiter30);
+            $xfer += $output->writeString($viter31);
+          }
+        }
+        $output->writeMapEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
     $xfer += $output->writeFieldStop();
     $xfer += $output->writeStructEnd();
     return $xfer;

http://git-wip-us.apache.org/repos/asf/airavata/blob/ed3d892c/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 0055991..d261956 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
@@ -16,6 +16,40 @@ except:
   fastbinary = None
 
 
+class ReplicaLocationCategory:
+  GATEWAY_DATA_STORE = 0
+  COMPUTE_RESOURCE = 1
+  LONG_TERM_STORAGE_RESOURCE = 2
+  OTHER = 3
+
+  _VALUES_TO_NAMES = {
+    0: "GATEWAY_DATA_STORE",
+    1: "COMPUTE_RESOURCE",
+    2: "LONG_TERM_STORAGE_RESOURCE",
+    3: "OTHER",
+  }
+
+  _NAMES_TO_VALUES = {
+    "GATEWAY_DATA_STORE": 0,
+    "COMPUTE_RESOURCE": 1,
+    "LONG_TERM_STORAGE_RESOURCE": 2,
+    "OTHER": 3,
+  }
+
+class ReplicaPersistentType:
+  TRANSIENT = 0
+  PERSISTENT = 1
+
+  _VALUES_TO_NAMES = {
+    0: "TRANSIENT",
+    1: "PERSISTENT",
+  }
+
+  _NAMES_TO_VALUES = {
+    "TRANSIENT": 0,
+    "PERSISTENT": 1,
+  }
+
 
 class DataResourceModel:
   """
@@ -27,6 +61,8 @@ class DataResourceModel:
    - resourceSize
    - creationTime
    - lastModifiedTime
+   - resourceMetadata
+   - dataReplicaLocations
   """
 
   thrift_spec = (
@@ -38,9 +74,11 @@ class DataResourceModel:
     (5, TType.I32, 'resourceSize', None, None, ), # 5
     (6, TType.I64, 'creationTime', None, None, ), # 6
     (7, TType.I64, 'lastModifiedTime', None, None, ), # 7
+    (8, TType.MAP, 'resourceMetadata', (TType.STRING,None,TType.STRING,None), None, ), # 8
+    (9, TType.LIST, 'dataReplicaLocations', (TType.STRUCT,(DataReplicaLocationModel, DataReplicaLocationModel.thrift_spec)), None, ), # 9
   )
 
-  def __init__(self, resourceId=None, resourceName=None, resourceDescription=None, ownerName=None, resourceSize=None, creationTime=None, lastModifiedTime=None,):
+  def __init__(self, resourceId=None, resourceName=None, resourceDescription=None, ownerName=None, resourceSize=None, creationTime=None, lastModifiedTime=None, resourceMetadata=None, dataReplicaLocations=None,):
     self.resourceId = resourceId
     self.resourceName = resourceName
     self.resourceDescription = resourceDescription
@@ -48,6 +86,8 @@ class DataResourceModel:
     self.resourceSize = resourceSize
     self.creationTime = creationTime
     self.lastModifiedTime = lastModifiedTime
+    self.resourceMetadata = resourceMetadata
+    self.dataReplicaLocations = dataReplicaLocations
 
   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:
@@ -93,6 +133,28 @@ class DataResourceModel:
           self.lastModifiedTime = iprot.readI64();
         else:
           iprot.skip(ftype)
+      elif fid == 8:
+        if ftype == TType.MAP:
+          self.resourceMetadata = {}
+          (_ktype1, _vtype2, _size0 ) = iprot.readMapBegin()
+          for _i4 in xrange(_size0):
+            _key5 = iprot.readString();
+            _val6 = iprot.readString();
+            self.resourceMetadata[_key5] = _val6
+          iprot.readMapEnd()
+        else:
+          iprot.skip(ftype)
+      elif fid == 9:
+        if ftype == TType.LIST:
+          self.dataReplicaLocations = []
+          (_etype10, _size7) = iprot.readListBegin()
+          for _i11 in xrange(_size7):
+            _elem12 = DataReplicaLocationModel()
+            _elem12.read(iprot)
+            self.dataReplicaLocations.append(_elem12)
+          iprot.readListEnd()
+        else:
+          iprot.skip(ftype)
       else:
         iprot.skip(ftype)
       iprot.readFieldEnd()
@@ -131,6 +193,21 @@ class DataResourceModel:
       oprot.writeFieldBegin('lastModifiedTime', TType.I64, 7)
       oprot.writeI64(self.lastModifiedTime)
       oprot.writeFieldEnd()
+    if self.resourceMetadata is not None:
+      oprot.writeFieldBegin('resourceMetadata', TType.MAP, 8)
+      oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.resourceMetadata))
+      for kiter13,viter14 in self.resourceMetadata.items():
+        oprot.writeString(kiter13)
+        oprot.writeString(viter14)
+      oprot.writeMapEnd()
+      oprot.writeFieldEnd()
+    if self.dataReplicaLocations is not None:
+      oprot.writeFieldBegin('dataReplicaLocations', TType.LIST, 9)
+      oprot.writeListBegin(TType.STRUCT, len(self.dataReplicaLocations))
+      for iter15 in self.dataReplicaLocations:
+        iter15.write(oprot)
+      oprot.writeListEnd()
+      oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
 
@@ -147,6 +224,8 @@ class DataResourceModel:
     value = (value * 31) ^ hash(self.resourceSize)
     value = (value * 31) ^ hash(self.creationTime)
     value = (value * 31) ^ hash(self.lastModifiedTime)
+    value = (value * 31) ^ hash(self.resourceMetadata)
+    value = (value * 31) ^ hash(self.dataReplicaLocations)
     return value
 
   def __repr__(self):
@@ -169,7 +248,10 @@ class DataReplicaLocationModel:
    - replicaDescription
    - creationTime
    - lastModifiedTime
+   - replicaLocationCategory
+   - replicaPersistentType
    - dataLocations
+   - replicaMetadata
   """
 
   thrift_spec = (
@@ -180,17 +262,23 @@ class DataReplicaLocationModel:
     (4, TType.STRING, 'replicaDescription', None, None, ), # 4
     (5, TType.I64, 'creationTime', None, None, ), # 5
     (6, TType.I64, 'lastModifiedTime', None, None, ), # 6
-    (7, TType.LIST, 'dataLocations', (TType.STRING,None), None, ), # 7
+    (7, TType.I32, 'replicaLocationCategory', None, None, ), # 7
+    (8, TType.I32, 'replicaPersistentType', None, None, ), # 8
+    (9, TType.LIST, 'dataLocations', (TType.STRING,None), None, ), # 9
+    (10, TType.MAP, 'replicaMetadata', (TType.STRING,None,TType.STRING,None), None, ), # 10
   )
 
-  def __init__(self, replicaId=None, resourceId=None, replicaName=None, replicaDescription=None, creationTime=None, lastModifiedTime=None, dataLocations=None,):
+  def __init__(self, replicaId=None, resourceId=None, replicaName=None, replicaDescription=None, creationTime=None, lastModifiedTime=None, replicaLocationCategory=None, replicaPersistentType=None, dataLocations=None, replicaMetadata=None,):
     self.replicaId = replicaId
     self.resourceId = resourceId
     self.replicaName = replicaName
     self.replicaDescription = replicaDescription
     self.creationTime = creationTime
     self.lastModifiedTime = lastModifiedTime
+    self.replicaLocationCategory = replicaLocationCategory
+    self.replicaPersistentType = replicaPersistentType
     self.dataLocations = dataLocations
+    self.replicaMetadata = replicaMetadata
 
   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:
@@ -232,15 +320,36 @@ class DataReplicaLocationModel:
         else:
           iprot.skip(ftype)
       elif fid == 7:
+        if ftype == TType.I32:
+          self.replicaLocationCategory = iprot.readI32();
+        else:
+          iprot.skip(ftype)
+      elif fid == 8:
+        if ftype == TType.I32:
+          self.replicaPersistentType = iprot.readI32();
+        else:
+          iprot.skip(ftype)
+      elif fid == 9:
         if ftype == TType.LIST:
           self.dataLocations = []
-          (_etype3, _size0) = iprot.readListBegin()
-          for _i4 in xrange(_size0):
-            _elem5 = iprot.readString();
-            self.dataLocations.append(_elem5)
+          (_etype19, _size16) = iprot.readListBegin()
+          for _i20 in xrange(_size16):
+            _elem21 = iprot.readString();
+            self.dataLocations.append(_elem21)
           iprot.readListEnd()
         else:
           iprot.skip(ftype)
+      elif fid == 10:
+        if ftype == TType.MAP:
+          self.replicaMetadata = {}
+          (_ktype23, _vtype24, _size22 ) = iprot.readMapBegin()
+          for _i26 in xrange(_size22):
+            _key27 = iprot.readString();
+            _val28 = iprot.readString();
+            self.replicaMetadata[_key27] = _val28
+          iprot.readMapEnd()
+        else:
+          iprot.skip(ftype)
       else:
         iprot.skip(ftype)
       iprot.readFieldEnd()
@@ -275,13 +384,29 @@ class DataReplicaLocationModel:
       oprot.writeFieldBegin('lastModifiedTime', TType.I64, 6)
       oprot.writeI64(self.lastModifiedTime)
       oprot.writeFieldEnd()
+    if self.replicaLocationCategory is not None:
+      oprot.writeFieldBegin('replicaLocationCategory', TType.I32, 7)
+      oprot.writeI32(self.replicaLocationCategory)
+      oprot.writeFieldEnd()
+    if self.replicaPersistentType is not None:
+      oprot.writeFieldBegin('replicaPersistentType', TType.I32, 8)
+      oprot.writeI32(self.replicaPersistentType)
+      oprot.writeFieldEnd()
     if self.dataLocations is not None:
-      oprot.writeFieldBegin('dataLocations', TType.LIST, 7)
+      oprot.writeFieldBegin('dataLocations', TType.LIST, 9)
       oprot.writeListBegin(TType.STRING, len(self.dataLocations))
-      for iter6 in self.dataLocations:
-        oprot.writeString(iter6)
+      for iter29 in self.dataLocations:
+        oprot.writeString(iter29)
       oprot.writeListEnd()
       oprot.writeFieldEnd()
+    if self.replicaMetadata is not None:
+      oprot.writeFieldBegin('replicaMetadata', TType.MAP, 10)
+      oprot.writeMapBegin(TType.STRING, TType.STRING, len(self.replicaMetadata))
+      for kiter30,viter31 in self.replicaMetadata.items():
+        oprot.writeString(kiter30)
+        oprot.writeString(viter31)
+      oprot.writeMapEnd()
+      oprot.writeFieldEnd()
     oprot.writeFieldStop()
     oprot.writeStructEnd()
 
@@ -297,7 +422,10 @@ class DataReplicaLocationModel:
     value = (value * 31) ^ hash(self.replicaDescription)
     value = (value * 31) ^ hash(self.creationTime)
     value = (value * 31) ^ hash(self.lastModifiedTime)
+    value = (value * 31) ^ hash(self.replicaLocationCategory)
+    value = (value * 31) ^ hash(self.replicaPersistentType)
     value = (value * 31) ^ hash(self.dataLocations)
+    value = (value * 31) ^ hash(self.replicaMetadata)
     return value
 
   def __repr__(self):

http://git-wip-us.apache.org/repos/asf/airavata/blob/ed3d892c/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 6c2f9ee..058bf42 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.2)", date = "2015-12-8")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-12-10")
 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/ed3d892c/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 64a3fb5..e09511a 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.2)", date = "2015-12-8")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-12-10")
 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/ed3d892c/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 b631365..bd2da06 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.2)", date = "2015-12-8")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-12-10")
 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/ed3d892c/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 6687f56..db06119 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.2)", date = "2015-12-8")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-12-10")
 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/ed3d892c/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 5adb8d0..ca2afbd 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.2)", date = "2015-12-8")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-12-10")
 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/ed3d892c/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 83a09ad..efc3cf9 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.2)", date = "2015-12-8")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-12-10")
 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/ed3d892c/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 1c67335..017f0ec 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.2)", date = "2015-12-8")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-12-10")
 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/ed3d892c/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 d7b84b5..c7b0b57 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.2)", date = "2015-12-8")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-12-10")
 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/ed3d892c/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 496119f..6c64621 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.2)", date = "2015-12-8")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-12-10")
 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/ed3d892c/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 c9eb615..bee267d 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.2)", date = "2015-12-8")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-12-10")
 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/ed3d892c/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 878c782..9338468 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.2)", date = "2015-12-8")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-12-10")
 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");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/ed3d892c/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java
index 60360ad..fc722e5 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/LOCALSubmission.java
@@ -60,7 +60,7 @@ import org.slf4j.LoggerFactory;
  * sshPort:
  *  If a non-default port needs to used, specify it.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-12-8")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-12-10")
 public class LOCALSubmission implements org.apache.thrift.TBase<LOCALSubmission, LOCALSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<LOCALSubmission> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("LOCALSubmission");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/ed3d892c/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java
index f564952..1c2b7f1 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/ResourceJobManager.java
@@ -68,7 +68,7 @@ import org.slf4j.LoggerFactory;
  *  An enumeration of commonly used manager commands.
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-12-8")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-12-10")
 public class ResourceJobManager implements org.apache.thrift.TBase<ResourceJobManager, ResourceJobManager._Fields>, java.io.Serializable, Cloneable, Comparable<ResourceJobManager> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ResourceJobManager");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/ed3d892c/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java
index 35f409e..7112a1d 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/SSHJobSubmission.java
@@ -67,7 +67,7 @@ import org.slf4j.LoggerFactory;
  *    the same. Example: *@*.example.com or *@example.com
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-12-8")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-12-10")
 public class SSHJobSubmission implements org.apache.thrift.TBase<SSHJobSubmission, SSHJobSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<SSHJobSubmission> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("SSHJobSubmission");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/ed3d892c/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java
index d5e94fa..7bfbd51 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/computeresource/UnicoreJobSubmission.java
@@ -59,7 +59,7 @@ import org.slf4j.LoggerFactory;
  * authenticationMode
  *  The authenticationMode defines the way certificate is fetched.
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-12-8")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-12-10")
 public class UnicoreJobSubmission implements org.apache.thrift.TBase<UnicoreJobSubmission, UnicoreJobSubmission._Fields>, java.io.Serializable, Cloneable, Comparable<UnicoreJobSubmission> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("UnicoreJobSubmission");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/ed3d892c/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java
index 6115665..e4dab32 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/ComputeResourcePreference.java
@@ -85,7 +85,7 @@ import org.slf4j.LoggerFactory;
  *   default credential store.
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-12-8")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-12-10")
 public class ComputeResourcePreference implements org.apache.thrift.TBase<ComputeResourcePreference, ComputeResourcePreference._Fields>, java.io.Serializable, Cloneable, Comparable<ComputeResourcePreference> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ComputeResourcePreference");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/ed3d892c/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java
index edd28de..734860a 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/GatewayResourceProfile.java
@@ -64,7 +64,7 @@ import org.slf4j.LoggerFactory;
  *  List of resource preferences for each of the registered compute resources.
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-12-8")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-12-10")
 public class GatewayResourceProfile implements org.apache.thrift.TBase<GatewayResourceProfile, GatewayResourceProfile._Fields>, java.io.Serializable, Cloneable, Comparable<GatewayResourceProfile> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("GatewayResourceProfile");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/ed3d892c/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/StoragePreference.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/StoragePreference.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/StoragePreference.java
index 57ffdc5..646d0c0 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/StoragePreference.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/gatewayprofile/StoragePreference.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.2)", date = "2015-12-8")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-12-10")
 public class StoragePreference implements org.apache.thrift.TBase<StoragePreference, StoragePreference._Fields>, java.io.Serializable, Cloneable, Comparable<StoragePreference> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("StoragePreference");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/ed3d892c/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/storageresource/StorageResourceDescription.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/storageresource/StorageResourceDescription.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/storageresource/StorageResourceDescription.java
index 2978081..2f5f77a 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/storageresource/StorageResourceDescription.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/appcatalog/storageresource/StorageResourceDescription.java
@@ -68,7 +68,7 @@ import org.slf4j.LoggerFactory;
  * 
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-12-8")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-12-10")
 public class StorageResourceDescription implements org.apache.thrift.TBase<StorageResourceDescription, StorageResourceDescription._Fields>, java.io.Serializable, Cloneable, Comparable<StorageResourceDescription> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("StorageResourceDescription");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/ed3d892c/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 c05bfd2..8a848d8 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
@@ -77,7 +77,7 @@ import org.slf4j.LoggerFactory;
  *   Any metadat. This is typically ignore by Airavata and is used by gateways for application configuration.
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-12-8")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-12-10")
 public class InputDataObjectType implements org.apache.thrift.TBase<InputDataObjectType, InputDataObjectType._Fields>, java.io.Serializable, Cloneable, Comparable<InputDataObjectType> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("InputDataObjectType");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/ed3d892c/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 3f2cc07..c55f990 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
@@ -77,7 +77,7 @@ import org.slf4j.LoggerFactory;
  *   Any metadat. This is typically ignore by Airavata and is used by gateways for application configuration.
  * 
  */
-@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-12-8")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.2)", date = "2015-12-10")
 public class OutputDataObjectType implements org.apache.thrift.TBase<OutputDataObjectType, OutputDataObjectType._Fields>, java.io.Serializable, Cloneable, Comparable<OutputDataObjectType> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("OutputDataObjectType");
 


Mime
View raw message