You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sc...@apache.org on 2016/03/24 16:25:35 UTC

[09/10] airavata git commit: renaming data-catalog to replica catalog

http://git-wip-us.apache.org/repos/asf/airavata/blob/04f6f593/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..ed2e025 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
@@ -28,7 +28,7 @@
 
 #include <thrift/TToString.h>
 
-namespace apache { namespace airavata { namespace model { namespace data { namespace resource {
+namespace apache { namespace airavata { namespace model { namespace data { namespace replica {
 
 int _kReplicaLocationCategoryValues[] = {
   ReplicaLocationCategory::GATEWAY_DATA_STORE,
@@ -54,87 +54,94 @@ const char* _kReplicaPersistentTypeNames[] = {
 };
 const std::map<int, const char*> _ReplicaPersistentType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(2, _kReplicaPersistentTypeValues, _kReplicaPersistentTypeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
 
-int _kDataResourceTypeValues[] = {
-  DataResourceType::COLLECTION,
-  DataResourceType::FILE
+int _kDataProductTypeValues[] = {
+  DataProductType::DIR,
+  DataProductType::FILE,
+  DataProductType::COLLECTION
 };
-const char* _kDataResourceTypeNames[] = {
-  "COLLECTION",
-  "FILE"
+const char* _kDataProductTypeNames[] = {
+  "DIR",
+  "FILE",
+  "COLLECTION"
 };
-const std::map<int, const char*> _DataResourceType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(2, _kDataResourceTypeValues, _kDataResourceTypeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
+const std::map<int, const char*> _DataProductType_VALUES_TO_NAMES(::apache::thrift::TEnumIterator(3, _kDataProductTypeValues, _kDataProductTypeNames), ::apache::thrift::TEnumIterator(-1, NULL, NULL));
 
 
-DataResourceModel::~DataResourceModel() throw() {
+DataProductModel::~DataProductModel() throw() {
 }
 
 
-void DataResourceModel::__set_resourceId(const std::string& val) {
-  this->resourceId = val;
-__isset.resourceId = true;
+void DataProductModel::__set_productUri(const std::string& val) {
+  this->productUri = val;
+__isset.productUri = true;
 }
 
-void DataResourceModel::__set_gatewayId(const std::string& val) {
+void DataProductModel::__set_gatewayId(const std::string& val) {
   this->gatewayId = val;
 __isset.gatewayId = true;
 }
 
-void DataResourceModel::__set_parentResourceId(const std::string& val) {
-  this->parentResourceId = val;
-__isset.parentResourceId = true;
+void DataProductModel::__set_parentProductUri(const std::string& val) {
+  this->parentProductUri = val;
+__isset.parentProductUri = true;
 }
 
-void DataResourceModel::__set_resourceName(const std::string& val) {
-  this->resourceName = val;
-__isset.resourceName = true;
+void DataProductModel::__set_logicalPath(const std::string& val) {
+  this->logicalPath = val;
+__isset.logicalPath = true;
 }
 
-void DataResourceModel::__set_resourceDescription(const std::string& val) {
-  this->resourceDescription = val;
-__isset.resourceDescription = true;
+void DataProductModel::__set_productName(const std::string& val) {
+  this->productName = val;
+__isset.productName = true;
 }
 
-void DataResourceModel::__set_ownerName(const std::string& val) {
+void DataProductModel::__set_productDescription(const std::string& val) {
+  this->productDescription = val;
+__isset.productDescription = true;
+}
+
+void DataProductModel::__set_ownerName(const std::string& val) {
   this->ownerName = val;
 __isset.ownerName = true;
 }
 
-void DataResourceModel::__set_dataResourceType(const DataResourceType::type val) {
-  this->dataResourceType = val;
-__isset.dataResourceType = true;
+void DataProductModel::__set_dataProductType(const DataProductType::type val) {
+  this->dataProductType = val;
+__isset.dataProductType = true;
 }
 
-void DataResourceModel::__set_resourceSize(const int32_t val) {
-  this->resourceSize = val;
-__isset.resourceSize = true;
+void DataProductModel::__set_productSize(const int32_t val) {
+  this->productSize = val;
+__isset.productSize = true;
 }
 
-void DataResourceModel::__set_creationTime(const int64_t val) {
+void DataProductModel::__set_creationTime(const int64_t val) {
   this->creationTime = val;
 __isset.creationTime = true;
 }
 
-void DataResourceModel::__set_lastModifiedTime(const int64_t val) {
+void DataProductModel::__set_lastModifiedTime(const int64_t val) {
   this->lastModifiedTime = val;
 __isset.lastModifiedTime = true;
 }
 
-void DataResourceModel::__set_resourceMetadata(const std::map<std::string, std::string> & val) {
-  this->resourceMetadata = val;
-__isset.resourceMetadata = true;
+void DataProductModel::__set_productMetadata(const std::map<std::string, std::string> & val) {
+  this->productMetadata = val;
+__isset.productMetadata = true;
 }
 
-void DataResourceModel::__set_replicaLocations(const std::vector<DataReplicaLocationModel> & val) {
+void DataProductModel::__set_replicaLocations(const std::vector<DataReplicaLocationModel> & val) {
   this->replicaLocations = val;
 __isset.replicaLocations = true;
 }
 
-void DataResourceModel::__set_childResources(const std::vector<DataResourceModel> & val) {
-  this->childResources = val;
-__isset.childResources = true;
+void DataProductModel::__set_childProducts(const std::vector<DataProductModel> & val) {
+  this->childProducts = val;
+__isset.childProducts = true;
 }
 
-uint32_t DataResourceModel::read(::apache::thrift::protocol::TProtocol* iprot) {
+uint32_t DataProductModel::read(::apache::thrift::protocol::TProtocol* iprot) {
 
   apache::thrift::protocol::TInputRecursionTracker tracker(*iprot);
   uint32_t xfer = 0;
@@ -157,8 +164,8 @@ uint32_t DataResourceModel::read(::apache::thrift::protocol::TProtocol* iprot) {
     {
       case 1:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->resourceId);
-          this->__isset.resourceId = true;
+          xfer += iprot->readString(this->productUri);
+          this->__isset.productUri = true;
         } else {
           xfer += iprot->skip(ftype);
         }
@@ -173,55 +180,63 @@ uint32_t DataResourceModel::read(::apache::thrift::protocol::TProtocol* iprot) {
         break;
       case 3:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->parentResourceId);
-          this->__isset.parentResourceId = true;
+          xfer += iprot->readString(this->parentProductUri);
+          this->__isset.parentProductUri = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
       case 4:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->resourceName);
-          this->__isset.resourceName = true;
+          xfer += iprot->readString(this->logicalPath);
+          this->__isset.logicalPath = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
       case 5:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->resourceDescription);
-          this->__isset.resourceDescription = true;
+          xfer += iprot->readString(this->productName);
+          this->__isset.productName = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
       case 6:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
+          xfer += iprot->readString(this->productDescription);
+          this->__isset.productDescription = true;
+        } else {
+          xfer += iprot->skip(ftype);
+        }
+        break;
+      case 7:
+        if (ftype == ::apache::thrift::protocol::T_STRING) {
           xfer += iprot->readString(this->ownerName);
           this->__isset.ownerName = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 7:
+      case 8:
         if (ftype == ::apache::thrift::protocol::T_I32) {
           int32_t ecast0;
           xfer += iprot->readI32(ecast0);
-          this->dataResourceType = (DataResourceType::type)ecast0;
-          this->__isset.dataResourceType = true;
+          this->dataProductType = (DataProductType::type)ecast0;
+          this->__isset.dataProductType = true;
         } else {
           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;
+          xfer += iprot->readI32(this->productSize);
+          this->__isset.productSize = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 9:
+      case 10:
         if (ftype == ::apache::thrift::protocol::T_I64) {
           xfer += iprot->readI64(this->creationTime);
           this->__isset.creationTime = true;
@@ -229,7 +244,7 @@ uint32_t DataResourceModel::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 10:
+      case 11:
         if (ftype == ::apache::thrift::protocol::T_I64) {
           xfer += iprot->readI64(this->lastModifiedTime);
           this->__isset.lastModifiedTime = true;
@@ -237,10 +252,10 @@ uint32_t DataResourceModel::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 11:
+      case 12:
         if (ftype == ::apache::thrift::protocol::T_MAP) {
           {
-            this->resourceMetadata.clear();
+            this->productMetadata.clear();
             uint32_t _size1;
             ::apache::thrift::protocol::TType _ktype2;
             ::apache::thrift::protocol::TType _vtype3;
@@ -250,17 +265,17 @@ uint32_t DataResourceModel::read(::apache::thrift::protocol::TProtocol* iprot) {
             {
               std::string _key6;
               xfer += iprot->readString(_key6);
-              std::string& _val7 = this->resourceMetadata[_key6];
+              std::string& _val7 = this->productMetadata[_key6];
               xfer += iprot->readString(_val7);
             }
             xfer += iprot->readMapEnd();
           }
-          this->__isset.resourceMetadata = true;
+          this->__isset.productMetadata = true;
         } else {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 12:
+      case 13:
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
             this->replicaLocations.clear();
@@ -280,22 +295,22 @@ uint32_t DataResourceModel::read(::apache::thrift::protocol::TProtocol* iprot) {
           xfer += iprot->skip(ftype);
         }
         break;
-      case 13:
+      case 14:
         if (ftype == ::apache::thrift::protocol::T_LIST) {
           {
-            this->childResources.clear();
+            this->childProducts.clear();
             uint32_t _size13;
             ::apache::thrift::protocol::TType _etype16;
             xfer += iprot->readListBegin(_etype16, _size13);
-            this->childResources.resize(_size13);
+            this->childProducts.resize(_size13);
             uint32_t _i17;
             for (_i17 = 0; _i17 < _size13; ++_i17)
             {
-              xfer += this->childResources[_i17].read(iprot);
+              xfer += this->childProducts[_i17].read(iprot);
             }
             xfer += iprot->readListEnd();
           }
-          this->__isset.childResources = true;
+          this->__isset.childProducts = true;
         } else {
           xfer += iprot->skip(ftype);
         }
@@ -312,14 +327,14 @@ uint32_t DataResourceModel::read(::apache::thrift::protocol::TProtocol* iprot) {
   return xfer;
 }
 
-uint32_t DataResourceModel::write(::apache::thrift::protocol::TProtocol* oprot) const {
+uint32_t DataProductModel::write(::apache::thrift::protocol::TProtocol* oprot) const {
   uint32_t xfer = 0;
   apache::thrift::protocol::TOutputRecursionTracker tracker(*oprot);
-  xfer += oprot->writeStructBegin("DataResourceModel");
+  xfer += oprot->writeStructBegin("DataProductModel");
 
-  if (this->__isset.resourceId) {
-    xfer += oprot->writeFieldBegin("resourceId", ::apache::thrift::protocol::T_STRING, 1);
-    xfer += oprot->writeString(this->resourceId);
+  if (this->__isset.productUri) {
+    xfer += oprot->writeFieldBegin("productUri", ::apache::thrift::protocol::T_STRING, 1);
+    xfer += oprot->writeString(this->productUri);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.gatewayId) {
@@ -327,52 +342,57 @@ uint32_t DataResourceModel::write(::apache::thrift::protocol::TProtocol* oprot)
     xfer += oprot->writeString(this->gatewayId);
     xfer += oprot->writeFieldEnd();
   }
-  if (this->__isset.parentResourceId) {
-    xfer += oprot->writeFieldBegin("parentResourceId", ::apache::thrift::protocol::T_STRING, 3);
-    xfer += oprot->writeString(this->parentResourceId);
+  if (this->__isset.parentProductUri) {
+    xfer += oprot->writeFieldBegin("parentProductUri", ::apache::thrift::protocol::T_STRING, 3);
+    xfer += oprot->writeString(this->parentProductUri);
+    xfer += oprot->writeFieldEnd();
+  }
+  if (this->__isset.logicalPath) {
+    xfer += oprot->writeFieldBegin("logicalPath", ::apache::thrift::protocol::T_STRING, 4);
+    xfer += oprot->writeString(this->logicalPath);
     xfer += oprot->writeFieldEnd();
   }
-  if (this->__isset.resourceName) {
-    xfer += oprot->writeFieldBegin("resourceName", ::apache::thrift::protocol::T_STRING, 4);
-    xfer += oprot->writeString(this->resourceName);
+  if (this->__isset.productName) {
+    xfer += oprot->writeFieldBegin("productName", ::apache::thrift::protocol::T_STRING, 5);
+    xfer += oprot->writeString(this->productName);
     xfer += oprot->writeFieldEnd();
   }
-  if (this->__isset.resourceDescription) {
-    xfer += oprot->writeFieldBegin("resourceDescription", ::apache::thrift::protocol::T_STRING, 5);
-    xfer += oprot->writeString(this->resourceDescription);
+  if (this->__isset.productDescription) {
+    xfer += oprot->writeFieldBegin("productDescription", ::apache::thrift::protocol::T_STRING, 6);
+    xfer += oprot->writeString(this->productDescription);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.ownerName) {
-    xfer += oprot->writeFieldBegin("ownerName", ::apache::thrift::protocol::T_STRING, 6);
+    xfer += oprot->writeFieldBegin("ownerName", ::apache::thrift::protocol::T_STRING, 7);
     xfer += oprot->writeString(this->ownerName);
     xfer += oprot->writeFieldEnd();
   }
-  if (this->__isset.dataResourceType) {
-    xfer += oprot->writeFieldBegin("dataResourceType", ::apache::thrift::protocol::T_I32, 7);
-    xfer += oprot->writeI32((int32_t)this->dataResourceType);
+  if (this->__isset.dataProductType) {
+    xfer += oprot->writeFieldBegin("dataProductType", ::apache::thrift::protocol::T_I32, 8);
+    xfer += oprot->writeI32((int32_t)this->dataProductType);
     xfer += oprot->writeFieldEnd();
   }
-  if (this->__isset.resourceSize) {
-    xfer += oprot->writeFieldBegin("resourceSize", ::apache::thrift::protocol::T_I32, 8);
-    xfer += oprot->writeI32(this->resourceSize);
+  if (this->__isset.productSize) {
+    xfer += oprot->writeFieldBegin("productSize", ::apache::thrift::protocol::T_I32, 9);
+    xfer += oprot->writeI32(this->productSize);
     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, 10);
     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, 11);
     xfer += oprot->writeI64(this->lastModifiedTime);
     xfer += oprot->writeFieldEnd();
   }
-  if (this->__isset.resourceMetadata) {
-    xfer += oprot->writeFieldBegin("resourceMetadata", ::apache::thrift::protocol::T_MAP, 11);
+  if (this->__isset.productMetadata) {
+    xfer += oprot->writeFieldBegin("productMetadata", ::apache::thrift::protocol::T_MAP, 12);
     {
-      xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->resourceMetadata.size()));
+      xfer += oprot->writeMapBegin(::apache::thrift::protocol::T_STRING, ::apache::thrift::protocol::T_STRING, static_cast<uint32_t>(this->productMetadata.size()));
       std::map<std::string, std::string> ::const_iterator _iter18;
-      for (_iter18 = this->resourceMetadata.begin(); _iter18 != this->resourceMetadata.end(); ++_iter18)
+      for (_iter18 = this->productMetadata.begin(); _iter18 != this->productMetadata.end(); ++_iter18)
       {
         xfer += oprot->writeString(_iter18->first);
         xfer += oprot->writeString(_iter18->second);
@@ -382,7 +402,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, 13);
     {
       xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->replicaLocations.size()));
       std::vector<DataReplicaLocationModel> ::const_iterator _iter19;
@@ -394,12 +414,12 @@ 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);
+  if (this->__isset.childProducts) {
+    xfer += oprot->writeFieldBegin("childProducts", ::apache::thrift::protocol::T_LIST, 14);
     {
-      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->childResources.size()));
-      std::vector<DataResourceModel> ::const_iterator _iter20;
-      for (_iter20 = this->childResources.begin(); _iter20 != this->childResources.end(); ++_iter20)
+      xfer += oprot->writeListBegin(::apache::thrift::protocol::T_STRUCT, static_cast<uint32_t>(this->childProducts.size()));
+      std::vector<DataProductModel> ::const_iterator _iter20;
+      for (_iter20 = this->childProducts.begin(); _iter20 != this->childProducts.end(); ++_iter20)
       {
         xfer += (*_iter20).write(oprot);
       }
@@ -412,73 +432,77 @@ uint32_t DataResourceModel::write(::apache::thrift::protocol::TProtocol* oprot)
   return xfer;
 }
 
-void swap(DataResourceModel &a, DataResourceModel &b) {
+void swap(DataProductModel &a, DataProductModel &b) {
   using ::std::swap;
-  swap(a.resourceId, b.resourceId);
+  swap(a.productUri, b.productUri);
   swap(a.gatewayId, b.gatewayId);
-  swap(a.parentResourceId, b.parentResourceId);
-  swap(a.resourceName, b.resourceName);
-  swap(a.resourceDescription, b.resourceDescription);
+  swap(a.parentProductUri, b.parentProductUri);
+  swap(a.logicalPath, b.logicalPath);
+  swap(a.productName, b.productName);
+  swap(a.productDescription, b.productDescription);
   swap(a.ownerName, b.ownerName);
-  swap(a.dataResourceType, b.dataResourceType);
-  swap(a.resourceSize, b.resourceSize);
+  swap(a.dataProductType, b.dataProductType);
+  swap(a.productSize, b.productSize);
   swap(a.creationTime, b.creationTime);
   swap(a.lastModifiedTime, b.lastModifiedTime);
-  swap(a.resourceMetadata, b.resourceMetadata);
+  swap(a.productMetadata, b.productMetadata);
   swap(a.replicaLocations, b.replicaLocations);
-  swap(a.childResources, b.childResources);
+  swap(a.childProducts, b.childProducts);
   swap(a.__isset, b.__isset);
 }
 
-DataResourceModel::DataResourceModel(const DataResourceModel& other21) {
-  resourceId = other21.resourceId;
+DataProductModel::DataProductModel(const DataProductModel& other21) {
+  productUri = other21.productUri;
   gatewayId = other21.gatewayId;
-  parentResourceId = other21.parentResourceId;
-  resourceName = other21.resourceName;
-  resourceDescription = other21.resourceDescription;
+  parentProductUri = other21.parentProductUri;
+  logicalPath = other21.logicalPath;
+  productName = other21.productName;
+  productDescription = other21.productDescription;
   ownerName = other21.ownerName;
-  dataResourceType = other21.dataResourceType;
-  resourceSize = other21.resourceSize;
+  dataProductType = other21.dataProductType;
+  productSize = other21.productSize;
   creationTime = other21.creationTime;
   lastModifiedTime = other21.lastModifiedTime;
-  resourceMetadata = other21.resourceMetadata;
+  productMetadata = other21.productMetadata;
   replicaLocations = other21.replicaLocations;
-  childResources = other21.childResources;
+  childProducts = other21.childProducts;
   __isset = other21.__isset;
 }
-DataResourceModel& DataResourceModel::operator=(const DataResourceModel& other22) {
-  resourceId = other22.resourceId;
+DataProductModel& DataProductModel::operator=(const DataProductModel& other22) {
+  productUri = other22.productUri;
   gatewayId = other22.gatewayId;
-  parentResourceId = other22.parentResourceId;
-  resourceName = other22.resourceName;
-  resourceDescription = other22.resourceDescription;
+  parentProductUri = other22.parentProductUri;
+  logicalPath = other22.logicalPath;
+  productName = other22.productName;
+  productDescription = other22.productDescription;
   ownerName = other22.ownerName;
-  dataResourceType = other22.dataResourceType;
-  resourceSize = other22.resourceSize;
+  dataProductType = other22.dataProductType;
+  productSize = other22.productSize;
   creationTime = other22.creationTime;
   lastModifiedTime = other22.lastModifiedTime;
-  resourceMetadata = other22.resourceMetadata;
+  productMetadata = other22.productMetadata;
   replicaLocations = other22.replicaLocations;
-  childResources = other22.childResources;
+  childProducts = other22.childProducts;
   __isset = other22.__isset;
   return *this;
 }
-void DataResourceModel::printTo(std::ostream& out) const {
+void DataProductModel::printTo(std::ostream& out) const {
   using ::apache::thrift::to_string;
-  out << "DataResourceModel(";
-  out << "resourceId="; (__isset.resourceId ? (out << to_string(resourceId)) : (out << "<null>"));
+  out << "DataProductModel(";
+  out << "productUri="; (__isset.productUri ? (out << to_string(productUri)) : (out << "<null>"));
   out << ", " << "gatewayId="; (__isset.gatewayId ? (out << to_string(gatewayId)) : (out << "<null>"));
-  out << ", " << "parentResourceId="; (__isset.parentResourceId ? (out << to_string(parentResourceId)) : (out << "<null>"));
-  out << ", " << "resourceName="; (__isset.resourceName ? (out << to_string(resourceName)) : (out << "<null>"));
-  out << ", " << "resourceDescription="; (__isset.resourceDescription ? (out << to_string(resourceDescription)) : (out << "<null>"));
+  out << ", " << "parentProductUri="; (__isset.parentProductUri ? (out << to_string(parentProductUri)) : (out << "<null>"));
+  out << ", " << "logicalPath="; (__isset.logicalPath ? (out << to_string(logicalPath)) : (out << "<null>"));
+  out << ", " << "productName="; (__isset.productName ? (out << to_string(productName)) : (out << "<null>"));
+  out << ", " << "productDescription="; (__isset.productDescription ? (out << to_string(productDescription)) : (out << "<null>"));
   out << ", " << "ownerName="; (__isset.ownerName ? (out << to_string(ownerName)) : (out << "<null>"));
-  out << ", " << "dataResourceType="; (__isset.dataResourceType ? (out << to_string(dataResourceType)) : (out << "<null>"));
-  out << ", " << "resourceSize="; (__isset.resourceSize ? (out << to_string(resourceSize)) : (out << "<null>"));
+  out << ", " << "dataProductType="; (__isset.dataProductType ? (out << to_string(dataProductType)) : (out << "<null>"));
+  out << ", " << "productSize="; (__isset.productSize ? (out << to_string(productSize)) : (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>"));
+  out << ", " << "productMetadata="; (__isset.productMetadata ? (out << to_string(productMetadata)) : (out << "<null>"));
   out << ", " << "replicaLocations="; (__isset.replicaLocations ? (out << to_string(replicaLocations)) : (out << "<null>"));
-  out << ", " << "childResources="; (__isset.childResources ? (out << to_string(childResources)) : (out << "<null>"));
+  out << ", " << "childProducts="; (__isset.childProducts ? (out << to_string(childProducts)) : (out << "<null>"));
   out << ")";
 }
 
@@ -492,9 +516,9 @@ void DataReplicaLocationModel::__set_replicaId(const std::string& val) {
 __isset.replicaId = true;
 }
 
-void DataReplicaLocationModel::__set_resourceId(const std::string& val) {
-  this->resourceId = val;
-__isset.resourceId = true;
+void DataReplicaLocationModel::__set_productUri(const std::string& val) {
+  this->productUri = val;
+__isset.productUri = true;
 }
 
 void DataReplicaLocationModel::__set_replicaName(const std::string& val) {
@@ -537,9 +561,9 @@ void DataReplicaLocationModel::__set_storageResourceId(const std::string& val) {
 __isset.storageResourceId = true;
 }
 
-void DataReplicaLocationModel::__set_fileAbsolutePath(const std::string& val) {
-  this->fileAbsolutePath = val;
-__isset.fileAbsolutePath = true;
+void DataReplicaLocationModel::__set_filePath(const std::string& val) {
+  this->filePath = val;
+__isset.filePath = true;
 }
 
 void DataReplicaLocationModel::__set_replicaMetadata(const std::map<std::string, std::string> & val) {
@@ -578,8 +602,8 @@ uint32_t DataReplicaLocationModel::read(::apache::thrift::protocol::TProtocol* i
         break;
       case 2:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->resourceId);
-          this->__isset.resourceId = true;
+          xfer += iprot->readString(this->productUri);
+          this->__isset.productUri = true;
         } else {
           xfer += iprot->skip(ftype);
         }
@@ -654,8 +678,8 @@ uint32_t DataReplicaLocationModel::read(::apache::thrift::protocol::TProtocol* i
         break;
       case 11:
         if (ftype == ::apache::thrift::protocol::T_STRING) {
-          xfer += iprot->readString(this->fileAbsolutePath);
-          this->__isset.fileAbsolutePath = true;
+          xfer += iprot->readString(this->filePath);
+          this->__isset.filePath = true;
         } else {
           xfer += iprot->skip(ftype);
         }
@@ -705,9 +729,9 @@ uint32_t DataReplicaLocationModel::write(::apache::thrift::protocol::TProtocol*
     xfer += oprot->writeString(this->replicaId);
     xfer += oprot->writeFieldEnd();
   }
-  if (this->__isset.resourceId) {
-    xfer += oprot->writeFieldBegin("resourceId", ::apache::thrift::protocol::T_STRING, 2);
-    xfer += oprot->writeString(this->resourceId);
+  if (this->__isset.productUri) {
+    xfer += oprot->writeFieldBegin("productUri", ::apache::thrift::protocol::T_STRING, 2);
+    xfer += oprot->writeString(this->productUri);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.replicaName) {
@@ -750,9 +774,9 @@ uint32_t DataReplicaLocationModel::write(::apache::thrift::protocol::TProtocol*
     xfer += oprot->writeString(this->storageResourceId);
     xfer += oprot->writeFieldEnd();
   }
-  if (this->__isset.fileAbsolutePath) {
-    xfer += oprot->writeFieldBegin("fileAbsolutePath", ::apache::thrift::protocol::T_STRING, 11);
-    xfer += oprot->writeString(this->fileAbsolutePath);
+  if (this->__isset.filePath) {
+    xfer += oprot->writeFieldBegin("filePath", ::apache::thrift::protocol::T_STRING, 11);
+    xfer += oprot->writeString(this->filePath);
     xfer += oprot->writeFieldEnd();
   }
   if (this->__isset.replicaMetadata) {
@@ -777,7 +801,7 @@ uint32_t DataReplicaLocationModel::write(::apache::thrift::protocol::TProtocol*
 void swap(DataReplicaLocationModel &a, DataReplicaLocationModel &b) {
   using ::std::swap;
   swap(a.replicaId, b.replicaId);
-  swap(a.resourceId, b.resourceId);
+  swap(a.productUri, b.productUri);
   swap(a.replicaName, b.replicaName);
   swap(a.replicaDescription, b.replicaDescription);
   swap(a.creationTime, b.creationTime);
@@ -786,14 +810,14 @@ void swap(DataReplicaLocationModel &a, DataReplicaLocationModel &b) {
   swap(a.replicaLocationCategory, b.replicaLocationCategory);
   swap(a.replicaPersistentType, b.replicaPersistentType);
   swap(a.storageResourceId, b.storageResourceId);
-  swap(a.fileAbsolutePath, b.fileAbsolutePath);
+  swap(a.filePath, b.filePath);
   swap(a.replicaMetadata, b.replicaMetadata);
   swap(a.__isset, b.__isset);
 }
 
 DataReplicaLocationModel::DataReplicaLocationModel(const DataReplicaLocationModel& other33) {
   replicaId = other33.replicaId;
-  resourceId = other33.resourceId;
+  productUri = other33.productUri;
   replicaName = other33.replicaName;
   replicaDescription = other33.replicaDescription;
   creationTime = other33.creationTime;
@@ -802,13 +826,13 @@ DataReplicaLocationModel::DataReplicaLocationModel(const DataReplicaLocationMode
   replicaLocationCategory = other33.replicaLocationCategory;
   replicaPersistentType = other33.replicaPersistentType;
   storageResourceId = other33.storageResourceId;
-  fileAbsolutePath = other33.fileAbsolutePath;
+  filePath = other33.filePath;
   replicaMetadata = other33.replicaMetadata;
   __isset = other33.__isset;
 }
 DataReplicaLocationModel& DataReplicaLocationModel::operator=(const DataReplicaLocationModel& other34) {
   replicaId = other34.replicaId;
-  resourceId = other34.resourceId;
+  productUri = other34.productUri;
   replicaName = other34.replicaName;
   replicaDescription = other34.replicaDescription;
   creationTime = other34.creationTime;
@@ -817,7 +841,7 @@ DataReplicaLocationModel& DataReplicaLocationModel::operator=(const DataReplicaL
   replicaLocationCategory = other34.replicaLocationCategory;
   replicaPersistentType = other34.replicaPersistentType;
   storageResourceId = other34.storageResourceId;
-  fileAbsolutePath = other34.fileAbsolutePath;
+  filePath = other34.filePath;
   replicaMetadata = other34.replicaMetadata;
   __isset = other34.__isset;
   return *this;
@@ -826,7 +850,7 @@ void DataReplicaLocationModel::printTo(std::ostream& out) const {
   using ::apache::thrift::to_string;
   out << "DataReplicaLocationModel(";
   out << "replicaId="; (__isset.replicaId ? (out << to_string(replicaId)) : (out << "<null>"));
-  out << ", " << "resourceId="; (__isset.resourceId ? (out << to_string(resourceId)) : (out << "<null>"));
+  out << ", " << "productUri="; (__isset.productUri ? (out << to_string(productUri)) : (out << "<null>"));
   out << ", " << "replicaName="; (__isset.replicaName ? (out << to_string(replicaName)) : (out << "<null>"));
   out << ", " << "replicaDescription="; (__isset.replicaDescription ? (out << to_string(replicaDescription)) : (out << "<null>"));
   out << ", " << "creationTime="; (__isset.creationTime ? (out << to_string(creationTime)) : (out << "<null>"));
@@ -835,7 +859,7 @@ void DataReplicaLocationModel::printTo(std::ostream& out) const {
   out << ", " << "replicaLocationCategory="; (__isset.replicaLocationCategory ? (out << to_string(replicaLocationCategory)) : (out << "<null>"));
   out << ", " << "replicaPersistentType="; (__isset.replicaPersistentType ? (out << to_string(replicaPersistentType)) : (out << "<null>"));
   out << ", " << "storageResourceId="; (__isset.storageResourceId ? (out << to_string(storageResourceId)) : (out << "<null>"));
-  out << ", " << "fileAbsolutePath="; (__isset.fileAbsolutePath ? (out << to_string(fileAbsolutePath)) : (out << "<null>"));
+  out << ", " << "filePath="; (__isset.filePath ? (out << to_string(filePath)) : (out << "<null>"));
   out << ", " << "replicaMetadata="; (__isset.replicaMetadata ? (out << to_string(replicaMetadata)) : (out << "<null>"));
   out << ")";
 }

http://git-wip-us.apache.org/repos/asf/airavata/blob/04f6f593/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..d9072c7 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
@@ -32,10 +32,9 @@
 #include <thrift/transport/TTransport.h>
 
 #include <thrift/cxxfunctional.h>
-#include "data_movement_models_types.h"
 
 
-namespace apache { namespace airavata { namespace model { namespace data { namespace resource {
+namespace apache { namespace airavata { namespace model { namespace data { namespace replica {
 
 struct ReplicaLocationCategory {
   enum type {
@@ -57,120 +56,129 @@ struct ReplicaPersistentType {
 
 extern const std::map<int, const char*> _ReplicaPersistentType_VALUES_TO_NAMES;
 
-struct DataResourceType {
+struct DataProductType {
   enum type {
-    COLLECTION = 0,
-    FILE = 1
+    DIR = 0,
+    FILE = 1,
+    COLLECTION = 2
   };
 };
 
-extern const std::map<int, const char*> _DataResourceType_VALUES_TO_NAMES;
+extern const std::map<int, const char*> _DataProductType_VALUES_TO_NAMES;
 
-class DataResourceModel;
+class DataProductModel;
 
 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) {}
-  bool resourceId :1;
+typedef struct _DataProductModel__isset {
+  _DataProductModel__isset() : productUri(false), gatewayId(false), parentProductUri(false), logicalPath(false), productName(false), productDescription(false), ownerName(false), dataProductType(false), productSize(false), creationTime(false), lastModifiedTime(false), productMetadata(false), replicaLocations(false), childProducts(false) {}
+  bool productUri :1;
   bool gatewayId :1;
-  bool parentResourceId :1;
-  bool resourceName :1;
-  bool resourceDescription :1;
+  bool parentProductUri :1;
+  bool logicalPath :1;
+  bool productName :1;
+  bool productDescription :1;
   bool ownerName :1;
-  bool dataResourceType :1;
-  bool resourceSize :1;
+  bool dataProductType :1;
+  bool productSize :1;
   bool creationTime :1;
   bool lastModifiedTime :1;
-  bool resourceMetadata :1;
+  bool productMetadata :1;
   bool replicaLocations :1;
-  bool childResources :1;
-} _DataResourceModel__isset;
+  bool childProducts :1;
+} _DataProductModel__isset;
 
-class DataResourceModel {
+class DataProductModel {
  public:
 
-  DataResourceModel(const DataResourceModel&);
-  DataResourceModel& operator=(const DataResourceModel&);
-  DataResourceModel() : resourceId(), gatewayId(), parentResourceId(), resourceName(), resourceDescription(), ownerName(), dataResourceType((DataResourceType::type)0), resourceSize(0), creationTime(0), lastModifiedTime(0) {
+  DataProductModel(const DataProductModel&);
+  DataProductModel& operator=(const DataProductModel&);
+  DataProductModel() : productUri(), gatewayId(), parentProductUri(), logicalPath(), productName(), productDescription(), ownerName(), dataProductType((DataProductType::type)0), productSize(0), creationTime(0), lastModifiedTime(0) {
   }
 
-  virtual ~DataResourceModel() throw();
-  std::string resourceId;
+  virtual ~DataProductModel() throw();
+  std::string productUri;
   std::string gatewayId;
-  std::string parentResourceId;
-  std::string resourceName;
-  std::string resourceDescription;
+  std::string parentProductUri;
+  std::string logicalPath;
+  std::string productName;
+  std::string productDescription;
   std::string ownerName;
-  DataResourceType::type dataResourceType;
-  int32_t resourceSize;
+  DataProductType::type dataProductType;
+  int32_t productSize;
   int64_t creationTime;
   int64_t lastModifiedTime;
-  std::map<std::string, std::string>  resourceMetadata;
+  std::map<std::string, std::string>  productMetadata;
   std::vector<DataReplicaLocationModel>  replicaLocations;
-  std::vector<DataResourceModel>  childResources;
+  std::vector<DataProductModel>  childProducts;
 
-  _DataResourceModel__isset __isset;
+  _DataProductModel__isset __isset;
 
-  void __set_resourceId(const std::string& val);
+  void __set_productUri(const std::string& val);
 
   void __set_gatewayId(const std::string& val);
 
-  void __set_parentResourceId(const std::string& val);
+  void __set_parentProductUri(const std::string& val);
 
-  void __set_resourceName(const std::string& val);
+  void __set_logicalPath(const std::string& val);
 
-  void __set_resourceDescription(const std::string& val);
+  void __set_productName(const std::string& val);
+
+  void __set_productDescription(const std::string& val);
 
   void __set_ownerName(const std::string& val);
 
-  void __set_dataResourceType(const DataResourceType::type val);
+  void __set_dataProductType(const DataProductType::type val);
 
-  void __set_resourceSize(const int32_t val);
+  void __set_productSize(const int32_t val);
 
   void __set_creationTime(const int64_t val);
 
   void __set_lastModifiedTime(const int64_t val);
 
-  void __set_resourceMetadata(const std::map<std::string, std::string> & val);
+  void __set_productMetadata(const std::map<std::string, std::string> & val);
 
   void __set_replicaLocations(const std::vector<DataReplicaLocationModel> & val);
 
-  void __set_childResources(const std::vector<DataResourceModel> & val);
+  void __set_childProducts(const std::vector<DataProductModel> & val);
 
-  bool operator == (const DataResourceModel & rhs) const
+  bool operator == (const DataProductModel & rhs) const
   {
-    if (__isset.resourceId != rhs.__isset.resourceId)
+    if (__isset.productUri != rhs.__isset.productUri)
       return false;
-    else if (__isset.resourceId && !(resourceId == rhs.resourceId))
+    else if (__isset.productUri && !(productUri == rhs.productUri))
       return false;
     if (__isset.gatewayId != rhs.__isset.gatewayId)
       return false;
     else if (__isset.gatewayId && !(gatewayId == rhs.gatewayId))
       return false;
-    if (__isset.parentResourceId != rhs.__isset.parentResourceId)
+    if (__isset.parentProductUri != rhs.__isset.parentProductUri)
+      return false;
+    else if (__isset.parentProductUri && !(parentProductUri == rhs.parentProductUri))
+      return false;
+    if (__isset.logicalPath != rhs.__isset.logicalPath)
       return false;
-    else if (__isset.parentResourceId && !(parentResourceId == rhs.parentResourceId))
+    else if (__isset.logicalPath && !(logicalPath == rhs.logicalPath))
       return false;
-    if (__isset.resourceName != rhs.__isset.resourceName)
+    if (__isset.productName != rhs.__isset.productName)
       return false;
-    else if (__isset.resourceName && !(resourceName == rhs.resourceName))
+    else if (__isset.productName && !(productName == rhs.productName))
       return false;
-    if (__isset.resourceDescription != rhs.__isset.resourceDescription)
+    if (__isset.productDescription != rhs.__isset.productDescription)
       return false;
-    else if (__isset.resourceDescription && !(resourceDescription == rhs.resourceDescription))
+    else if (__isset.productDescription && !(productDescription == rhs.productDescription))
       return false;
     if (__isset.ownerName != rhs.__isset.ownerName)
       return false;
     else if (__isset.ownerName && !(ownerName == rhs.ownerName))
       return false;
-    if (__isset.dataResourceType != rhs.__isset.dataResourceType)
+    if (__isset.dataProductType != rhs.__isset.dataProductType)
       return false;
-    else if (__isset.dataResourceType && !(dataResourceType == rhs.dataResourceType))
+    else if (__isset.dataProductType && !(dataProductType == rhs.dataProductType))
       return false;
-    if (__isset.resourceSize != rhs.__isset.resourceSize)
+    if (__isset.productSize != rhs.__isset.productSize)
       return false;
-    else if (__isset.resourceSize && !(resourceSize == rhs.resourceSize))
+    else if (__isset.productSize && !(productSize == rhs.productSize))
       return false;
     if (__isset.creationTime != rhs.__isset.creationTime)
       return false;
@@ -180,25 +188,25 @@ class DataResourceModel {
       return false;
     else if (__isset.lastModifiedTime && !(lastModifiedTime == rhs.lastModifiedTime))
       return false;
-    if (__isset.resourceMetadata != rhs.__isset.resourceMetadata)
+    if (__isset.productMetadata != rhs.__isset.productMetadata)
       return false;
-    else if (__isset.resourceMetadata && !(resourceMetadata == rhs.resourceMetadata))
+    else if (__isset.productMetadata && !(productMetadata == rhs.productMetadata))
       return false;
     if (__isset.replicaLocations != rhs.__isset.replicaLocations)
       return false;
     else if (__isset.replicaLocations && !(replicaLocations == rhs.replicaLocations))
       return false;
-    if (__isset.childResources != rhs.__isset.childResources)
+    if (__isset.childProducts != rhs.__isset.childProducts)
       return false;
-    else if (__isset.childResources && !(childResources == rhs.childResources))
+    else if (__isset.childProducts && !(childProducts == rhs.childProducts))
       return false;
     return true;
   }
-  bool operator != (const DataResourceModel &rhs) const {
+  bool operator != (const DataProductModel &rhs) const {
     return !(*this == rhs);
   }
 
-  bool operator < (const DataResourceModel & ) const;
+  bool operator < (const DataProductModel & ) const;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
@@ -206,18 +214,18 @@ class DataResourceModel {
   virtual void printTo(std::ostream& out) const;
 };
 
-void swap(DataResourceModel &a, DataResourceModel &b);
+void swap(DataProductModel &a, DataProductModel &b);
 
-inline std::ostream& operator<<(std::ostream& out, const DataResourceModel& obj)
+inline std::ostream& operator<<(std::ostream& out, const DataProductModel& obj)
 {
   obj.printTo(out);
   return out;
 }
 
 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), productUri(false), replicaName(false), replicaDescription(false), creationTime(false), lastModifiedTime(false), validUntilTime(false), replicaLocationCategory(false), replicaPersistentType(false), storageResourceId(false), filePath(false), replicaMetadata(false) {}
   bool replicaId :1;
-  bool resourceId :1;
+  bool productUri :1;
   bool replicaName :1;
   bool replicaDescription :1;
   bool creationTime :1;
@@ -226,7 +234,7 @@ typedef struct _DataReplicaLocationModel__isset {
   bool replicaLocationCategory :1;
   bool replicaPersistentType :1;
   bool storageResourceId :1;
-  bool fileAbsolutePath :1;
+  bool filePath :1;
   bool replicaMetadata :1;
 } _DataReplicaLocationModel__isset;
 
@@ -235,12 +243,12 @@ 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(), productUri(), replicaName(), replicaDescription(), creationTime(0), lastModifiedTime(0), validUntilTime(0), replicaLocationCategory((ReplicaLocationCategory::type)0), replicaPersistentType((ReplicaPersistentType::type)0), storageResourceId(), filePath() {
   }
 
   virtual ~DataReplicaLocationModel() throw();
   std::string replicaId;
-  std::string resourceId;
+  std::string productUri;
   std::string replicaName;
   std::string replicaDescription;
   int64_t creationTime;
@@ -249,14 +257,14 @@ class DataReplicaLocationModel {
   ReplicaLocationCategory::type replicaLocationCategory;
   ReplicaPersistentType::type replicaPersistentType;
   std::string storageResourceId;
-  std::string fileAbsolutePath;
+  std::string filePath;
   std::map<std::string, std::string>  replicaMetadata;
 
   _DataReplicaLocationModel__isset __isset;
 
   void __set_replicaId(const std::string& val);
 
-  void __set_resourceId(const std::string& val);
+  void __set_productUri(const std::string& val);
 
   void __set_replicaName(const std::string& val);
 
@@ -274,7 +282,7 @@ class DataReplicaLocationModel {
 
   void __set_storageResourceId(const std::string& val);
 
-  void __set_fileAbsolutePath(const std::string& val);
+  void __set_filePath(const std::string& val);
 
   void __set_replicaMetadata(const std::map<std::string, std::string> & val);
 
@@ -284,9 +292,9 @@ class DataReplicaLocationModel {
       return false;
     else if (__isset.replicaId && !(replicaId == rhs.replicaId))
       return false;
-    if (__isset.resourceId != rhs.__isset.resourceId)
+    if (__isset.productUri != rhs.__isset.productUri)
       return false;
-    else if (__isset.resourceId && !(resourceId == rhs.resourceId))
+    else if (__isset.productUri && !(productUri == rhs.productUri))
       return false;
     if (__isset.replicaName != rhs.__isset.replicaName)
       return false;
@@ -320,9 +328,9 @@ class DataReplicaLocationModel {
       return false;
     else if (__isset.storageResourceId && !(storageResourceId == rhs.storageResourceId))
       return false;
-    if (__isset.fileAbsolutePath != rhs.__isset.fileAbsolutePath)
+    if (__isset.filePath != rhs.__isset.filePath)
       return false;
-    else if (__isset.fileAbsolutePath && !(fileAbsolutePath == rhs.fileAbsolutePath))
+    else if (__isset.filePath && !(filePath == rhs.filePath))
       return false;
     if (__isset.replicaMetadata != rhs.__isset.replicaMetadata)
       return false;

http://git-wip-us.apache.org/repos/asf/airavata/blob/04f6f593/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
index e262b7c..d397526 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/API/Airavata.php
@@ -3426,18 +3426,18 @@ interface AiravataIf {
    * 
    * 
    * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param \Airavata\Model\Data\Product\DataProductModel $dataProductModel
+   * @param \Airavata\Model\Data\Replica\DataProductModel $dataProductModel
    * @return string
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
    * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function registerDataProduct(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Data\Product\DataProductModel $dataProductModel);
+  public function registerDataProduct(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Data\Replica\DataProductModel $dataProductModel);
   /**
    * @param \Airavata\Model\Security\AuthzToken $authzToken
    * @param string $dataProductUri
-   * @return \Airavata\Model\Data\Product\DataProductModel
+   * @return \Airavata\Model\Data\Replica\DataProductModel
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
@@ -3446,14 +3446,14 @@ interface AiravataIf {
   public function getDataProduct(\Airavata\Model\Security\AuthzToken $authzToken, $dataProductUri);
   /**
    * @param \Airavata\Model\Security\AuthzToken $authzToken
-   * @param \Airavata\Model\Data\Product\DataReplicaLocationModel $replicaLocationModel
+   * @param \Airavata\Model\Data\Replica\DataReplicaLocationModel $replicaLocationModel
    * @return string
    * @throws \Airavata\API\Error\InvalidRequestException
    * @throws \Airavata\API\Error\AiravataClientException
    * @throws \Airavata\API\Error\AiravataSystemException
    * @throws \Airavata\API\Error\AuthorizationException
    */
-  public function registerReplicaLocation(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Data\Product\DataReplicaLocationModel $replicaLocationModel);
+  public function registerReplicaLocation(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Data\Replica\DataReplicaLocationModel $replicaLocationModel);
 }
 
 class AiravataClient implements \Airavata\API\AiravataIf {
@@ -12145,13 +12145,13 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     throw new \Exception("isWorkflowExistWithName failed: unknown result");
   }
 
-  public function registerDataProduct(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Data\Product\DataProductModel $dataProductModel)
+  public function registerDataProduct(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Data\Replica\DataProductModel $dataProductModel)
   {
     $this->send_registerDataProduct($authzToken, $dataProductModel);
     return $this->recv_registerDataProduct();
   }
 
-  public function send_registerDataProduct(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Data\Product\DataProductModel $dataProductModel)
+  public function send_registerDataProduct(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Data\Replica\DataProductModel $dataProductModel)
   {
     $args = new \Airavata\API\Airavata_registerDataProduct_args();
     $args->authzToken = $authzToken;
@@ -12273,13 +12273,13 @@ class AiravataClient implements \Airavata\API\AiravataIf {
     throw new \Exception("getDataProduct failed: unknown result");
   }
 
-  public function registerReplicaLocation(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Data\Product\DataReplicaLocationModel $replicaLocationModel)
+  public function registerReplicaLocation(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Data\Replica\DataReplicaLocationModel $replicaLocationModel)
   {
     $this->send_registerReplicaLocation($authzToken, $replicaLocationModel);
     return $this->recv_registerReplicaLocation();
   }
 
-  public function send_registerReplicaLocation(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Data\Product\DataReplicaLocationModel $replicaLocationModel)
+  public function send_registerReplicaLocation(\Airavata\Model\Security\AuthzToken $authzToken, \Airavata\Model\Data\Replica\DataReplicaLocationModel $replicaLocationModel)
   {
     $args = new \Airavata\API\Airavata_registerReplicaLocation_args();
     $args->authzToken = $authzToken;
@@ -53524,7 +53524,7 @@ class Airavata_registerDataProduct_args {
    */
   public $authzToken = null;
   /**
-   * @var \Airavata\Model\Data\Product\DataProductModel
+   * @var \Airavata\Model\Data\Replica\DataProductModel
    */
   public $dataProductModel = null;
 
@@ -53539,7 +53539,7 @@ class Airavata_registerDataProduct_args {
         2 => array(
           'var' => 'dataProductModel',
           'type' => TType::STRUCT,
-          'class' => '\Airavata\Model\Data\Product\DataProductModel',
+          'class' => '\Airavata\Model\Data\Replica\DataProductModel',
           ),
         );
     }
@@ -53582,7 +53582,7 @@ class Airavata_registerDataProduct_args {
           break;
         case 2:
           if ($ftype == TType::STRUCT) {
-            $this->dataProductModel = new \Airavata\Model\Data\Product\DataProductModel();
+            $this->dataProductModel = new \Airavata\Model\Data\Replica\DataProductModel();
             $xfer += $this->dataProductModel->read($input);
           } else {
             $xfer += $input->skip($ftype);
@@ -53906,7 +53906,7 @@ class Airavata_getDataProduct_result {
   static $_TSPEC;
 
   /**
-   * @var \Airavata\Model\Data\Product\DataProductModel
+   * @var \Airavata\Model\Data\Replica\DataProductModel
    */
   public $success = null;
   /**
@@ -53932,7 +53932,7 @@ class Airavata_getDataProduct_result {
         0 => array(
           'var' => 'success',
           'type' => TType::STRUCT,
-          'class' => '\Airavata\Model\Data\Product\DataProductModel',
+          'class' => '\Airavata\Model\Data\Replica\DataProductModel',
           ),
         1 => array(
           'var' => 'ire',
@@ -53996,7 +53996,7 @@ class Airavata_getDataProduct_result {
       {
         case 0:
           if ($ftype == TType::STRUCT) {
-            $this->success = new \Airavata\Model\Data\Product\DataProductModel();
+            $this->success = new \Airavata\Model\Data\Replica\DataProductModel();
             $xfer += $this->success->read($input);
           } else {
             $xfer += $input->skip($ftype);
@@ -54090,7 +54090,7 @@ class Airavata_registerReplicaLocation_args {
    */
   public $authzToken = null;
   /**
-   * @var \Airavata\Model\Data\Product\DataReplicaLocationModel
+   * @var \Airavata\Model\Data\Replica\DataReplicaLocationModel
    */
   public $replicaLocationModel = null;
 
@@ -54105,7 +54105,7 @@ class Airavata_registerReplicaLocation_args {
         2 => array(
           'var' => 'replicaLocationModel',
           'type' => TType::STRUCT,
-          'class' => '\Airavata\Model\Data\Product\DataReplicaLocationModel',
+          'class' => '\Airavata\Model\Data\Replica\DataReplicaLocationModel',
           ),
         );
     }
@@ -54148,7 +54148,7 @@ class Airavata_registerReplicaLocation_args {
           break;
         case 2:
           if ($ftype == TType::STRUCT) {
-            $this->replicaLocationModel = new \Airavata\Model\Data\Product\DataReplicaLocationModel();
+            $this->replicaLocationModel = new \Airavata\Model\Data\Replica\DataReplicaLocationModel();
             $xfer += $this->replicaLocationModel->read($input);
           } else {
             $xfer += $input->skip($ftype);

http://git-wip-us.apache.org/repos/asf/airavata/blob/04f6f593/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
index f8fc506..ea2913c 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/Airavata.py
@@ -44188,7 +44188,7 @@ class registerDataProduct_args:
   thrift_spec = (
     None, # 0
     (1, TType.STRUCT, 'authzToken', (apache.airavata.model.security.ttypes.AuthzToken, apache.airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ), # 1
-    (2, TType.STRUCT, 'dataProductModel', (apache.airavata.model.data.product.ttypes.DataProductModel, apache.airavata.model.data.product.ttypes.DataProductModel.thrift_spec), None, ), # 2
+    (2, TType.STRUCT, 'dataProductModel', (apache.airavata.model.data.replica.ttypes.DataProductModel, apache.airavata.model.data.replica.ttypes.DataProductModel.thrift_spec), None, ), # 2
   )
 
   def __init__(self, authzToken=None, dataProductModel=None,):
@@ -44212,7 +44212,7 @@ class registerDataProduct_args:
           iprot.skip(ftype)
       elif fid == 2:
         if ftype == TType.STRUCT:
-          self.dataProductModel = apache.airavata.model.data.product.ttypes.DataProductModel()
+          self.dataProductModel = apache.airavata.model.data.replica.ttypes.DataProductModel()
           self.dataProductModel.read(iprot)
         else:
           iprot.skip(ftype)
@@ -44476,7 +44476,7 @@ class getDataProduct_result:
   """
 
   thrift_spec = (
-    (0, TType.STRUCT, 'success', (apache.airavata.model.data.product.ttypes.DataProductModel, apache.airavata.model.data.product.ttypes.DataProductModel.thrift_spec), None, ), # 0
+    (0, TType.STRUCT, 'success', (apache.airavata.model.data.replica.ttypes.DataProductModel, apache.airavata.model.data.replica.ttypes.DataProductModel.thrift_spec), None, ), # 0
     (1, TType.STRUCT, 'ire', (apache.airavata.api.error.ttypes.InvalidRequestException, apache.airavata.api.error.ttypes.InvalidRequestException.thrift_spec), None, ), # 1
     (2, TType.STRUCT, 'ace', (apache.airavata.api.error.ttypes.AiravataClientException, apache.airavata.api.error.ttypes.AiravataClientException.thrift_spec), None, ), # 2
     (3, TType.STRUCT, 'ase', (apache.airavata.api.error.ttypes.AiravataSystemException, apache.airavata.api.error.ttypes.AiravataSystemException.thrift_spec), None, ), # 3
@@ -44501,7 +44501,7 @@ class getDataProduct_result:
         break
       if fid == 0:
         if ftype == TType.STRUCT:
-          self.success = apache.airavata.model.data.product.ttypes.DataProductModel()
+          self.success = apache.airavata.model.data.replica.ttypes.DataProductModel()
           self.success.read(iprot)
         else:
           iprot.skip(ftype)
@@ -44596,7 +44596,7 @@ class registerReplicaLocation_args:
   thrift_spec = (
     None, # 0
     (1, TType.STRUCT, 'authzToken', (apache.airavata.model.security.ttypes.AuthzToken, apache.airavata.model.security.ttypes.AuthzToken.thrift_spec), None, ), # 1
-    (2, TType.STRUCT, 'replicaLocationModel', (apache.airavata.model.data.product.ttypes.DataReplicaLocationModel, apache.airavata.model.data.product.ttypes.DataReplicaLocationModel.thrift_spec), None, ), # 2
+    (2, TType.STRUCT, 'replicaLocationModel', (apache.airavata.model.data.replica.ttypes.DataReplicaLocationModel, apache.airavata.model.data.replica.ttypes.DataReplicaLocationModel.thrift_spec), None, ), # 2
   )
 
   def __init__(self, authzToken=None, replicaLocationModel=None,):
@@ -44620,7 +44620,7 @@ class registerReplicaLocation_args:
           iprot.skip(ftype)
       elif fid == 2:
         if ftype == TType.STRUCT:
-          self.replicaLocationModel = apache.airavata.model.data.product.ttypes.DataReplicaLocationModel()
+          self.replicaLocationModel = apache.airavata.model.data.replica.ttypes.DataReplicaLocationModel()
           self.replicaLocationModel.read(iprot)
         else:
           iprot.skip(ftype)

http://git-wip-us.apache.org/repos/asf/airavata/blob/04f6f593/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/ttypes.py
index bd6011e..dc5f0e6 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/api/ttypes.py
@@ -23,7 +23,7 @@ import apache.airavata.model.appcatalog.storageresource.ttypes
 import apache.airavata.model.appcatalog.gatewayprofile.ttypes
 import apache.airavata.model.data.movement.ttypes
 import apache.airavata.model.workflow.ttypes
-import apache.airavata.model.data.product.ttypes
+import apache.airavata.model.data.replica.ttypes
 
 
 from thrift.transport import TTransport

http://git-wip-us.apache.org/repos/asf/airavata/blob/04f6f593/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/ttypes.py
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/ttypes.py b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/ttypes.py
index b350211..28c903a 100644
--- a/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/ttypes.py
+++ b/airavata-api/airavata-client-sdks/airavata-python-sdk/src/main/resources/lib/apache/airavata/model/ttypes.py
@@ -19,7 +19,7 @@ import apache.airavata.model.process.ttypes
 import apache.airavata.model.scheduling.ttypes
 import apache.airavata.model.status.ttypes
 import apache.airavata.model.data.movement.ttypes
-import apache.airavata.model.data.product.ttypes
+import apache.airavata.model.data.replica.ttypes
 
 
 from thrift.transport import TTransport

http://git-wip-us.apache.org/repos/asf/airavata/blob/04f6f593/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/DataCatalogSample.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/DataCatalogSample.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/DataCatalogSample.java
deleted file mode 100644
index ed9f8a9..0000000
--- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/DataCatalogSample.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *   http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
-*/
-package org.apache.airavata.client.samples;
-
-import org.apache.airavata.api.Airavata;
-import org.apache.airavata.api.client.AiravataClientFactory;
-import org.apache.airavata.model.data.product.*;
-import org.apache.airavata.model.security.AuthzToken;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class DataCatalogSample {
-    private final static Logger logger = LoggerFactory.getLogger(DataCatalogSample.class);
-
-    public static final String THRIFT_SERVER_HOST = "gw56.iu.xsede.org";
-    public static final int THRIFT_SERVER_PORT = 8930;
-    private static final String USER_NAME = "master";
-    private static final String DEFAULT_GATEWAY = "default";
-    private static final String STORAGE_RESOURCE_ID = "gw75.iu.xsede.org_3e40e62b-be11-4590-bf24-b1b6796c3572";
-    private static final AuthzToken authzToken = new AuthzToken("empty-token");
-    private static Airavata.Client client;
-
-    public static void main(String[] args) {
-        try {
-            client = AiravataClientFactory.createAiravataClient(THRIFT_SERVER_HOST, THRIFT_SERVER_PORT);
-            System.out.println(client.getAPIVersion(authzToken));
-
-            DataProductModel dataProductModel = new DataProductModel();
-            dataProductModel.setGatewayId(DEFAULT_GATEWAY);
-            dataProductModel.setOwnerName(USER_NAME);
-            dataProductModel.setProductName("test-1");
-            dataProductModel.setLogicalPath("/test/test/test/" + System.currentTimeMillis());
-            dataProductModel.setDataProductType(DataProductType.FILE);
-
-            DataReplicaLocationModel replicaLocationModel = new DataReplicaLocationModel();
-            replicaLocationModel.setStorageResourceId(STORAGE_RESOURCE_ID);
-            replicaLocationModel.setReplicaName("test-1-replica-1");
-            replicaLocationModel.setReplicaLocationCategory(ReplicaLocationCategory.GATEWAY_DATA_STORE);
-            replicaLocationModel.setReplicaPersistentType(ReplicaPersistentType.PERSISTENT);
-            replicaLocationModel.setFilePath("/var/www/portals/gateway-user-data/testdrive/test.txt");
-
-            dataProductModel.addToReplicaLocations(replicaLocationModel);
-
-            String productUri = client.registerDataProduct(authzToken, dataProductModel);
-            System.out.println(productUri);
-
-
-            dataProductModel = client.getDataProduct(authzToken, "airavata-dp://Eroma2016@seagrid/");
-            System.out.println(dataProductModel.getReplicaLocations().size());
-        } catch (Exception e) {
-            logger.error("Error while connecting with server", e.getMessage());
-            e.printStackTrace();
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/airavata/blob/04f6f593/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/ReplicaCatalogSample.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/ReplicaCatalogSample.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/ReplicaCatalogSample.java
new file mode 100644
index 0000000..1af3bc6
--- /dev/null
+++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/ReplicaCatalogSample.java
@@ -0,0 +1,73 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+package org.apache.airavata.client.samples;
+
+import org.apache.airavata.api.Airavata;
+import org.apache.airavata.api.client.AiravataClientFactory;
+import org.apache.airavata.model.data.replica.*;
+import org.apache.airavata.model.security.AuthzToken;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class ReplicaCatalogSample {
+    private final static Logger logger = LoggerFactory.getLogger(ReplicaCatalogSample.class);
+
+    public static final String THRIFT_SERVER_HOST = "gw56.iu.xsede.org";
+    public static final int THRIFT_SERVER_PORT = 8930;
+    private static final String USER_NAME = "master";
+    private static final String DEFAULT_GATEWAY = "default";
+    private static final String STORAGE_RESOURCE_ID = "gw75.iu.xsede.org_3e40e62b-be11-4590-bf24-b1b6796c3572";
+    private static final AuthzToken authzToken = new AuthzToken("empty-token");
+    private static Airavata.Client client;
+
+    public static void main(String[] args) {
+        try {
+            client = AiravataClientFactory.createAiravataClient(THRIFT_SERVER_HOST, THRIFT_SERVER_PORT);
+            System.out.println(client.getAPIVersion(authzToken));
+
+            DataProductModel dataProductModel = new DataProductModel();
+            dataProductModel.setGatewayId(DEFAULT_GATEWAY);
+            dataProductModel.setOwnerName(USER_NAME);
+            dataProductModel.setProductName("test-1");
+            dataProductModel.setLogicalPath("/test/test/test/" + System.currentTimeMillis());
+            dataProductModel.setDataProductType(DataProductType.FILE);
+
+            DataReplicaLocationModel replicaLocationModel = new DataReplicaLocationModel();
+            replicaLocationModel.setStorageResourceId(STORAGE_RESOURCE_ID);
+            replicaLocationModel.setReplicaName("test-1-replica-1");
+            replicaLocationModel.setReplicaLocationCategory(ReplicaLocationCategory.GATEWAY_DATA_STORE);
+            replicaLocationModel.setReplicaPersistentType(ReplicaPersistentType.PERSISTENT);
+            replicaLocationModel.setFilePath("/var/www/portals/gateway-user-data/testdrive/test.txt");
+
+            dataProductModel.addToReplicaLocations(replicaLocationModel);
+
+            String productUri = client.registerDataProduct(authzToken, dataProductModel);
+            System.out.println(productUri);
+
+
+            dataProductModel = client.getDataProduct(authzToken, "airavata-dp://Eroma2016@seagrid:/");
+            System.out.println(dataProductModel.getReplicaLocations().size());
+        } catch (Exception e) {
+            logger.error("Error while connecting with server", e.getMessage());
+            e.printStackTrace();
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/04f6f593/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentStatus.java
index 4d0b74f..5d4e331 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/ComponentStatus.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 = "2016-03-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-24")
 public class ComponentStatus implements org.apache.thrift.TBase<ComponentStatus, ComponentStatus._Fields>, java.io.Serializable, Cloneable, Comparable<ComponentStatus> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("ComponentStatus");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/04f6f593/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/EdgeModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/EdgeModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/EdgeModel.java
index 1feb84c..ed759d4 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/EdgeModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/EdgeModel.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 = "2016-03-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-24")
 public class EdgeModel implements org.apache.thrift.TBase<EdgeModel, EdgeModel._Fields>, java.io.Serializable, Cloneable, Comparable<EdgeModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("EdgeModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/04f6f593/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/NodeModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/NodeModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/NodeModel.java
index c6729d6..29beaba 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/NodeModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/NodeModel.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 = "2016-03-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-24")
 public class NodeModel implements org.apache.thrift.TBase<NodeModel, NodeModel._Fields>, java.io.Serializable, Cloneable, Comparable<NodeModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("NodeModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/04f6f593/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/PortModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/PortModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/PortModel.java
index 1c26cb3..ce4d7e4 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/PortModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/PortModel.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 = "2016-03-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-24")
 public class PortModel implements org.apache.thrift.TBase<PortModel, PortModel._Fields>, java.io.Serializable, Cloneable, Comparable<PortModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("PortModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/04f6f593/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowModel.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowModel.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowModel.java
index 59fed52..38bb50e 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowModel.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowModel.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 = "2016-03-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-24")
 public class WorkflowModel implements org.apache.thrift.TBase<WorkflowModel, WorkflowModel._Fields>, java.io.Serializable, Cloneable, Comparable<WorkflowModel> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("WorkflowModel");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/04f6f593/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowStatus.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowStatus.java b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowStatus.java
index 21e3f67..8fa23cf 100644
--- a/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowStatus.java
+++ b/airavata-api/airavata-data-models/src/main/java/org/apache/airavata/model/WorkflowStatus.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 = "2016-03-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-24")
 public class WorkflowStatus implements org.apache.thrift.TBase<WorkflowStatus, WorkflowStatus._Fields>, java.io.Serializable, Cloneable, Comparable<WorkflowStatus> {
   private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new org.apache.thrift.protocol.TStruct("WorkflowStatus");
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/04f6f593/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 6f16ffb..eb74aaf 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 = "2016-03-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-24")
 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/04f6f593/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 b4077ab..eb2bbef 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 = "2016-03-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-24")
 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/04f6f593/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 bfb2501..6303047 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 = "2016-03-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-24")
 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/04f6f593/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 ba120af..5cd0076 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 = "2016-03-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-24")
 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/04f6f593/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 df28165..0c0eb10 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 = "2016-03-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-24")
 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/04f6f593/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 1916e31..f96036a 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 = "2016-03-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-24")
 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/04f6f593/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 2771790..9d3cd9f 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 = "2016-03-22")
+@Generated(value = "Autogenerated by Thrift Compiler (0.9.3)", date = "2016-03-24")
 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");