http://git-wip-us.apache.org/repos/asf/airavata/blob/b61cfcd3/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/replica_models_types.h
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/replica_models_types.h
 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/replica_models_types.h
index b40cb2d..f8136a4 100644
--- 
a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/replica_models_types.h
+++ 
b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/replica_models_types.h
@@ -35,18 +35,28 @@
 #include "data_movement_models_types.h"
 
 
-namespace apache { namespace airavata { namespace model { namespace replica {
+namespace apache { namespace airavata { namespace model { namespace file { 
namespace replica {
 
-struct ReplicaLocationCategory {
+struct FileModelType {
+  enum type {
+    FILE = 0,
+    DIRECTORY = 1
+  };
+};
+
+extern const std::map<int, const char*> _FileModelType_VALUES_TO_NAMES;
+
+struct StorageResourceType {
   enum type {
     GATEWAY_DATA_STORE = 0,
-    COMPUTE_RESOURCE = 1,
-    LONG_TERM_STORAGE_RESOURCE = 2,
-    OTHER = 3
+    BACKUP_GATEWAY_DATA_STORE = 1,
+    COMPUTE_RESOURCE = 2,
+    LONG_TERM_STORAGE_RESOURCE = 3,
+    OTHER = 4
   };
 };
 
-extern const std::map<int, const char*> 
_ReplicaLocationCategory_VALUES_TO_NAMES;
+extern const std::map<int, const char*> _StorageResourceType_VALUES_TO_NAMES;
 
 struct ReplicaPersistentType {
   enum type {
@@ -57,82 +67,179 @@ struct ReplicaPersistentType {
 
 extern const std::map<int, const char*> _ReplicaPersistentType_VALUES_TO_NAMES;
 
-struct DataResourceType {
-  enum type {
-    COLLECTION = 0,
-    FILE = 1
-  };
-};
+class FileCollectionModel;
+
+class FileModel;
+
+class FileReplicaModel;
+
+typedef struct _FileCollectionModel__isset {
+  _FileCollectionModel__isset() : collectionId(false), gatewayId(false), 
username(false), sharedUsers(false), sharedPublic(false), 
collectionName(false), collectionDescription(false), fileIdList(false) {}
+  bool collectionId :1;
+  bool gatewayId :1;
+  bool username :1;
+  bool sharedUsers :1;
+  bool sharedPublic :1;
+  bool collectionName :1;
+  bool collectionDescription :1;
+  bool fileIdList :1;
+} _FileCollectionModel__isset;
+
+class FileCollectionModel {
+ public:
+
+  FileCollectionModel(const FileCollectionModel&);
+  FileCollectionModel& operator=(const FileCollectionModel&);
+  FileCollectionModel() : collectionId(), gatewayId(), username(), 
sharedPublic(0), collectionName(), collectionDescription() {
+  }
+
+  virtual ~FileCollectionModel() throw();
+  std::string collectionId;
+  std::string gatewayId;
+  std::string username;
+  std::vector<std::string>  sharedUsers;
+  bool sharedPublic;
+  std::string collectionName;
+  std::string collectionDescription;
+  std::vector<std::string>  fileIdList;
+
+  _FileCollectionModel__isset __isset;
+
+  void __set_collectionId(const std::string& val);
+
+  void __set_gatewayId(const std::string& val);
 
-extern const std::map<int, const char*> _DataResourceType_VALUES_TO_NAMES;
+  void __set_username(const std::string& val);
 
-class DataResourceModel;
+  void __set_sharedUsers(const std::vector<std::string> & val);
 
-class DataReplicaLocationModel;
+  void __set_sharedPublic(const bool val);
+
+  void __set_collectionName(const std::string& val);
+
+  void __set_collectionDescription(const std::string& val);
+
+  void __set_fileIdList(const std::vector<std::string> & val);
+
+  bool operator == (const FileCollectionModel & rhs) const
+  {
+    if (__isset.collectionId != rhs.__isset.collectionId)
+      return false;
+    else if (__isset.collectionId && !(collectionId == rhs.collectionId))
+      return false;
+    if (__isset.gatewayId != rhs.__isset.gatewayId)
+      return false;
+    else if (__isset.gatewayId && !(gatewayId == rhs.gatewayId))
+      return false;
+    if (__isset.username != rhs.__isset.username)
+      return false;
+    else if (__isset.username && !(username == rhs.username))
+      return false;
+    if (__isset.sharedUsers != rhs.__isset.sharedUsers)
+      return false;
+    else if (__isset.sharedUsers && !(sharedUsers == rhs.sharedUsers))
+      return false;
+    if (__isset.sharedPublic != rhs.__isset.sharedPublic)
+      return false;
+    else if (__isset.sharedPublic && !(sharedPublic == rhs.sharedPublic))
+      return false;
+    if (__isset.collectionName != rhs.__isset.collectionName)
+      return false;
+    else if (__isset.collectionName && !(collectionName == rhs.collectionName))
+      return false;
+    if (__isset.collectionDescription != rhs.__isset.collectionDescription)
+      return false;
+    else if (__isset.collectionDescription && !(collectionDescription == 
rhs.collectionDescription))
+      return false;
+    if (__isset.fileIdList != rhs.__isset.fileIdList)
+      return false;
+    else if (__isset.fileIdList && !(fileIdList == rhs.fileIdList))
+      return false;
+    return true;
+  }
+  bool operator != (const FileCollectionModel &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const FileCollectionModel & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+  virtual void printTo(std::ostream& out) const;
+};
 
-typedef struct _DataResourceModel__isset {
-  _DataResourceModel__isset() : resourceId(false), gatewayId(false), 
parentResourceId(false), resourceName(false), resourceDescription(false), 
ownerName(false), sha256Checksum(false), dataResourceType(false), 
resourceSize(false), nativeFormat(false), creationTime(false), 
lastModifiedTime(false), resourceMetadata(false), replicaLocations(false), 
childResources(false) {}
-  bool resourceId :1;
+void swap(FileCollectionModel &a, FileCollectionModel &b);
+
+inline std::ostream& operator<<(std::ostream& out, const FileCollectionModel& 
obj)
+{
+  obj.printTo(out);
+  return out;
+}
+
+typedef struct _FileModel__isset {
+  _FileModel__isset() : fileId(false), gatewayId(false), username(false), 
sharedUsers(false), sharedPublic(false), fileName(false), 
fileDescription(false), sha256Checksum(false), fileType(false), 
fileSize(false), nativeFormat(false), creationTime(false), 
lastModifiedTime(false), fileReplicas(false) {}
+  bool fileId :1;
   bool gatewayId :1;
-  bool parentResourceId :1;
-  bool resourceName :1;
-  bool resourceDescription :1;
-  bool ownerName :1;
+  bool username :1;
+  bool sharedUsers :1;
+  bool sharedPublic :1;
+  bool fileName :1;
+  bool fileDescription :1;
   bool sha256Checksum :1;
-  bool dataResourceType :1;
-  bool resourceSize :1;
+  bool fileType :1;
+  bool fileSize :1;
   bool nativeFormat :1;
   bool creationTime :1;
   bool lastModifiedTime :1;
-  bool resourceMetadata :1;
-  bool replicaLocations :1;
-  bool childResources :1;
-} _DataResourceModel__isset;
+  bool fileReplicas :1;
+} _FileModel__isset;
 
-class DataResourceModel {
+class FileModel {
  public:
 
-  DataResourceModel(const DataResourceModel&);
-  DataResourceModel& operator=(const DataResourceModel&);
-  DataResourceModel() : resourceId(), gatewayId(), parentResourceId(), 
resourceName(), resourceDescription(), ownerName(), sha256Checksum(), 
dataResourceType((DataResourceType::type)0), resourceSize(0), nativeFormat(), 
creationTime(0), lastModifiedTime(0) {
+  FileModel(const FileModel&);
+  FileModel& operator=(const FileModel&);
+  FileModel() : fileId(), gatewayId(), username(), sharedPublic(0), 
fileName(), fileDescription(), sha256Checksum(), 
fileType((FileModelType::type)0), fileSize(0), nativeFormat(), creationTime(0), 
lastModifiedTime(0) {
   }
 
-  virtual ~DataResourceModel() throw();
-  std::string resourceId;
+  virtual ~FileModel() throw();
+  std::string fileId;
   std::string gatewayId;
-  std::string parentResourceId;
-  std::string resourceName;
-  std::string resourceDescription;
-  std::string ownerName;
+  std::string username;
+  std::vector<std::string>  sharedUsers;
+  bool sharedPublic;
+  std::string fileName;
+  std::string fileDescription;
   std::string sha256Checksum;
-  DataResourceType::type dataResourceType;
-  int32_t resourceSize;
+  FileModelType::type fileType;
+  int32_t fileSize;
   std::string nativeFormat;
   int64_t creationTime;
   int64_t lastModifiedTime;
-  std::map<std::string, std::string>  resourceMetadata;
-  std::vector<DataReplicaLocationModel>  replicaLocations;
-  std::vector<DataResourceModel>  childResources;
+  std::vector<FileReplicaModel>  fileReplicas;
 
-  _DataResourceModel__isset __isset;
+  _FileModel__isset __isset;
 
-  void __set_resourceId(const std::string& val);
+  void __set_fileId(const std::string& val);
 
   void __set_gatewayId(const std::string& val);
 
-  void __set_parentResourceId(const std::string& val);
+  void __set_username(const std::string& val);
+
+  void __set_sharedUsers(const std::vector<std::string> & val);
 
-  void __set_resourceName(const std::string& val);
+  void __set_sharedPublic(const bool val);
 
-  void __set_resourceDescription(const std::string& val);
+  void __set_fileName(const std::string& val);
 
-  void __set_ownerName(const std::string& val);
+  void __set_fileDescription(const std::string& val);
 
   void __set_sha256Checksum(const std::string& val);
 
-  void __set_dataResourceType(const DataResourceType::type val);
+  void __set_fileType(const FileModelType::type val);
 
-  void __set_resourceSize(const int32_t val);
+  void __set_fileSize(const int32_t val);
 
   void __set_nativeFormat(const std::string& val);
 
@@ -140,49 +247,49 @@ class DataResourceModel {
 
   void __set_lastModifiedTime(const int64_t val);
 
-  void __set_resourceMetadata(const std::map<std::string, std::string> & val);
+  void __set_fileReplicas(const std::vector<FileReplicaModel> & val);
 
-  void __set_replicaLocations(const std::vector<DataReplicaLocationModel> & 
val);
-
-  void __set_childResources(const std::vector<DataResourceModel> & val);
-
-  bool operator == (const DataResourceModel & rhs) const
+  bool operator == (const FileModel & rhs) const
   {
-    if (__isset.resourceId != rhs.__isset.resourceId)
+    if (__isset.fileId != rhs.__isset.fileId)
       return false;
-    else if (__isset.resourceId && !(resourceId == rhs.resourceId))
+    else if (__isset.fileId && !(fileId == rhs.fileId))
       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.username != rhs.__isset.username)
+      return false;
+    else if (__isset.username && !(username == rhs.username))
+      return false;
+    if (__isset.sharedUsers != rhs.__isset.sharedUsers)
       return false;
-    else if (__isset.parentResourceId && !(parentResourceId == 
rhs.parentResourceId))
+    else if (__isset.sharedUsers && !(sharedUsers == rhs.sharedUsers))
       return false;
-    if (__isset.resourceName != rhs.__isset.resourceName)
+    if (__isset.sharedPublic != rhs.__isset.sharedPublic)
       return false;
-    else if (__isset.resourceName && !(resourceName == rhs.resourceName))
+    else if (__isset.sharedPublic && !(sharedPublic == rhs.sharedPublic))
       return false;
-    if (__isset.resourceDescription != rhs.__isset.resourceDescription)
+    if (__isset.fileName != rhs.__isset.fileName)
       return false;
-    else if (__isset.resourceDescription && !(resourceDescription == 
rhs.resourceDescription))
+    else if (__isset.fileName && !(fileName == rhs.fileName))
       return false;
-    if (__isset.ownerName != rhs.__isset.ownerName)
+    if (__isset.fileDescription != rhs.__isset.fileDescription)
       return false;
-    else if (__isset.ownerName && !(ownerName == rhs.ownerName))
+    else if (__isset.fileDescription && !(fileDescription == 
rhs.fileDescription))
       return false;
     if (__isset.sha256Checksum != rhs.__isset.sha256Checksum)
       return false;
     else if (__isset.sha256Checksum && !(sha256Checksum == rhs.sha256Checksum))
       return false;
-    if (__isset.dataResourceType != rhs.__isset.dataResourceType)
+    if (__isset.fileType != rhs.__isset.fileType)
       return false;
-    else if (__isset.dataResourceType && !(dataResourceType == 
rhs.dataResourceType))
+    else if (__isset.fileType && !(fileType == rhs.fileType))
       return false;
-    if (__isset.resourceSize != rhs.__isset.resourceSize)
+    if (__isset.fileSize != rhs.__isset.fileSize)
       return false;
-    else if (__isset.resourceSize && !(resourceSize == rhs.resourceSize))
+    else if (__isset.fileSize && !(fileSize == rhs.fileSize))
       return false;
     if (__isset.nativeFormat != rhs.__isset.nativeFormat)
       return false;
@@ -196,25 +303,17 @@ 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.replicaLocations != rhs.__isset.replicaLocations)
-      return false;
-    else if (__isset.replicaLocations && !(replicaLocations == 
rhs.replicaLocations))
+    if (__isset.fileReplicas != rhs.__isset.fileReplicas)
       return false;
-    if (__isset.childResources != rhs.__isset.childResources)
-      return false;
-    else if (__isset.childResources && !(childResources == rhs.childResources))
+    else if (__isset.fileReplicas && !(fileReplicas == rhs.fileReplicas))
       return false;
     return true;
   }
-  bool operator != (const DataResourceModel &rhs) const {
+  bool operator != (const FileModel &rhs) const {
     return !(*this == rhs);
   }
 
-  bool operator < (const DataResourceModel & ) const;
+  bool operator < (const FileModel & ) const;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
@@ -222,92 +321,68 @@ class DataResourceModel {
   virtual void printTo(std::ostream& out) const;
 };
 
-void swap(DataResourceModel &a, DataResourceModel &b);
+void swap(FileModel &a, FileModel &b);
 
-inline std::ostream& operator<<(std::ostream& out, const DataResourceModel& 
obj)
+inline std::ostream& operator<<(std::ostream& out, const FileModel& obj)
 {
   obj.printTo(out);
   return out;
 }
 
-typedef struct _DataReplicaLocationModel__isset {
-  _DataReplicaLocationModel__isset() : replicaId(false), resourceId(false), 
replicaName(false), replicaDescription(false), sourceReplicaId(false), 
creationTime(false), lastModifiedTime(false), validUntilTime(false), 
replicaLocationCategory(false), replicaPersistentType(false), 
storageResourceId(false), fileAbsolutePath(false), replicaMetadata(false) {}
-  bool replicaId :1;
-  bool resourceId :1;
+typedef struct _FileReplicaModel__isset {
+  _FileReplicaModel__isset() : replicaName(false), replicaDescription(false), 
storageHostname(false), storageResourceId(false), filePath(false), 
creationTime(false), validUntilTime(false), storageResourceType(false), 
replicaPersistentType(false) {}
   bool replicaName :1;
   bool replicaDescription :1;
-  bool sourceReplicaId :1;
+  bool storageHostname :1;
+  bool storageResourceId :1;
+  bool filePath :1;
   bool creationTime :1;
-  bool lastModifiedTime :1;
   bool validUntilTime :1;
-  bool replicaLocationCategory :1;
+  bool storageResourceType :1;
   bool replicaPersistentType :1;
-  bool storageResourceId :1;
-  bool fileAbsolutePath :1;
-  bool replicaMetadata :1;
-} _DataReplicaLocationModel__isset;
+} _FileReplicaModel__isset;
 
-class DataReplicaLocationModel {
+class FileReplicaModel {
  public:
 
-  DataReplicaLocationModel(const DataReplicaLocationModel&);
-  DataReplicaLocationModel& operator=(const DataReplicaLocationModel&);
-  DataReplicaLocationModel() : replicaId(), resourceId(), replicaName(), 
replicaDescription(), sourceReplicaId(), creationTime(0), lastModifiedTime(0), 
validUntilTime(0), replicaLocationCategory((ReplicaLocationCategory::type)0), 
replicaPersistentType((ReplicaPersistentType::type)0), storageResourceId(), 
fileAbsolutePath() {
+  FileReplicaModel(const FileReplicaModel&);
+  FileReplicaModel& operator=(const FileReplicaModel&);
+  FileReplicaModel() : replicaName(), replicaDescription(), storageHostname(), 
storageResourceId(), filePath(), creationTime(0), validUntilTime(0), 
storageResourceType((StorageResourceType::type)0), 
replicaPersistentType((ReplicaPersistentType::type)0) {
   }
 
-  virtual ~DataReplicaLocationModel() throw();
-  std::string replicaId;
-  std::string resourceId;
+  virtual ~FileReplicaModel() throw();
   std::string replicaName;
   std::string replicaDescription;
-  std::string sourceReplicaId;
+  std::string storageHostname;
+  std::string storageResourceId;
+  std::string filePath;
   int64_t creationTime;
-  int64_t lastModifiedTime;
   int64_t validUntilTime;
-  ReplicaLocationCategory::type replicaLocationCategory;
+  StorageResourceType::type storageResourceType;
   ReplicaPersistentType::type replicaPersistentType;
-  std::string storageResourceId;
-  std::string fileAbsolutePath;
-  std::map<std::string, std::string>  replicaMetadata;
 
-  _DataReplicaLocationModel__isset __isset;
-
-  void __set_replicaId(const std::string& val);
-
-  void __set_resourceId(const std::string& val);
+  _FileReplicaModel__isset __isset;
 
   void __set_replicaName(const std::string& val);
 
   void __set_replicaDescription(const std::string& val);
 
-  void __set_sourceReplicaId(const std::string& val);
+  void __set_storageHostname(const std::string& val);
 
-  void __set_creationTime(const int64_t val);
+  void __set_storageResourceId(const std::string& val);
 
-  void __set_lastModifiedTime(const int64_t val);
+  void __set_filePath(const std::string& val);
+
+  void __set_creationTime(const int64_t val);
 
   void __set_validUntilTime(const int64_t val);
 
-  void __set_replicaLocationCategory(const ReplicaLocationCategory::type val);
+  void __set_storageResourceType(const StorageResourceType::type val);
 
   void __set_replicaPersistentType(const ReplicaPersistentType::type val);
 
-  void __set_storageResourceId(const std::string& val);
-
-  void __set_fileAbsolutePath(const std::string& val);
-
-  void __set_replicaMetadata(const std::map<std::string, std::string> & val);
-
-  bool operator == (const DataReplicaLocationModel & rhs) const
+  bool operator == (const FileReplicaModel & rhs) const
   {
-    if (__isset.replicaId != rhs.__isset.replicaId)
-      return false;
-    else if (__isset.replicaId && !(replicaId == rhs.replicaId))
-      return false;
-    if (__isset.resourceId != rhs.__isset.resourceId)
-      return false;
-    else if (__isset.resourceId && !(resourceId == rhs.resourceId))
-      return false;
     if (__isset.replicaName != rhs.__isset.replicaName)
       return false;
     else if (__isset.replicaName && !(replicaName == rhs.replicaName))
@@ -316,49 +391,41 @@ class DataReplicaLocationModel {
       return false;
     else if (__isset.replicaDescription && !(replicaDescription == 
rhs.replicaDescription))
       return false;
-    if (__isset.sourceReplicaId != rhs.__isset.sourceReplicaId)
+    if (__isset.storageHostname != rhs.__isset.storageHostname)
       return false;
-    else if (__isset.sourceReplicaId && !(sourceReplicaId == 
rhs.sourceReplicaId))
+    else if (__isset.storageHostname && !(storageHostname == 
rhs.storageHostname))
       return false;
-    if (__isset.creationTime != rhs.__isset.creationTime)
+    if (__isset.storageResourceId != rhs.__isset.storageResourceId)
       return false;
-    else if (__isset.creationTime && !(creationTime == rhs.creationTime))
+    else if (__isset.storageResourceId && !(storageResourceId == 
rhs.storageResourceId))
       return false;
-    if (__isset.lastModifiedTime != rhs.__isset.lastModifiedTime)
+    if (__isset.filePath != rhs.__isset.filePath)
       return false;
-    else if (__isset.lastModifiedTime && !(lastModifiedTime == 
rhs.lastModifiedTime))
+    else if (__isset.filePath && !(filePath == rhs.filePath))
+      return false;
+    if (__isset.creationTime != rhs.__isset.creationTime)
+      return false;
+    else if (__isset.creationTime && !(creationTime == rhs.creationTime))
       return false;
     if (__isset.validUntilTime != rhs.__isset.validUntilTime)
       return false;
     else if (__isset.validUntilTime && !(validUntilTime == rhs.validUntilTime))
       return false;
-    if (__isset.replicaLocationCategory != rhs.__isset.replicaLocationCategory)
+    if (__isset.storageResourceType != rhs.__isset.storageResourceType)
       return false;
-    else if (__isset.replicaLocationCategory && !(replicaLocationCategory == 
rhs.replicaLocationCategory))
+    else if (__isset.storageResourceType && !(storageResourceType == 
rhs.storageResourceType))
       return false;
     if (__isset.replicaPersistentType != rhs.__isset.replicaPersistentType)
       return false;
     else if (__isset.replicaPersistentType && !(replicaPersistentType == 
rhs.replicaPersistentType))
       return false;
-    if (__isset.storageResourceId != rhs.__isset.storageResourceId)
-      return false;
-    else if (__isset.storageResourceId && !(storageResourceId == 
rhs.storageResourceId))
-      return false;
-    if (__isset.fileAbsolutePath != rhs.__isset.fileAbsolutePath)
-      return false;
-    else if (__isset.fileAbsolutePath && !(fileAbsolutePath == 
rhs.fileAbsolutePath))
-      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 {
+  bool operator != (const FileReplicaModel &rhs) const {
     return !(*this == rhs);
   }
 
-  bool operator < (const DataReplicaLocationModel & ) const;
+  bool operator < (const FileReplicaModel & ) const;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
@@ -366,14 +433,14 @@ class DataReplicaLocationModel {
   virtual void printTo(std::ostream& out) const;
 };
 
-void swap(DataReplicaLocationModel &a, DataReplicaLocationModel &b);
+void swap(FileReplicaModel &a, FileReplicaModel &b);
 
-inline std::ostream& operator<<(std::ostream& out, const 
DataReplicaLocationModel& obj)
+inline std::ostream& operator<<(std::ostream& out, const FileReplicaModel& obj)
 {
   obj.printTo(out);
   return out;
 }
 
-}}}} // namespace
+}}}}} // namespace
 
 #endif

http://git-wip-us.apache.org/repos/asf/airavata/blob/b61cfcd3/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/File/Replica/Types.php
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/File/Replica/Types.php
 
b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/File/Replica/Types.php
new file mode 100644
index 0000000..de67d7a
--- /dev/null
+++ 
b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/File/Replica/Types.php
@@ -0,0 +1,1028 @@
+<?php
+namespace Airavata\Model\File\Replica;
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+use Thrift\Base\TBase;
+use Thrift\Type\TType;
+use Thrift\Type\TMessageType;
+use Thrift\Exception\TException;
+use Thrift\Exception\TProtocolException;
+use Thrift\Protocol\TProtocol;
+use Thrift\Protocol\TBinaryProtocolAccelerated;
+use Thrift\Exception\TApplicationException;
+
+
+final class FileModelType {
+  const FILE = 0;
+  const DIRECTORY = 1;
+  static public $__names = array(
+    0 => 'FILE',
+    1 => 'DIRECTORY',
+  );
+}
+
+final class StorageResourceType {
+  const GATEWAY_DATA_STORE = 0;
+  const BACKUP_GATEWAY_DATA_STORE = 1;
+  const COMPUTE_RESOURCE = 2;
+  const LONG_TERM_STORAGE_RESOURCE = 3;
+  const OTHER = 4;
+  static public $__names = array(
+    0 => 'GATEWAY_DATA_STORE',
+    1 => 'BACKUP_GATEWAY_DATA_STORE',
+    2 => 'COMPUTE_RESOURCE',
+    3 => 'LONG_TERM_STORAGE_RESOURCE',
+    4 => 'OTHER',
+  );
+}
+
+final class ReplicaPersistentType {
+  const TRANSIENT = 0;
+  const PERSISTENT = 1;
+  static public $__names = array(
+    0 => 'TRANSIENT',
+    1 => 'PERSISTENT',
+  );
+}
+
+class FileCollectionModel {
+  static $_TSPEC;
+
+  /**
+   * @var string
+   */
+  public $collectionId = null;
+  /**
+   * @var string
+   */
+  public $gatewayId = null;
+  /**
+   * @var string
+   */
+  public $username = null;
+  /**
+   * @var string[]
+   */
+  public $sharedUsers = null;
+  /**
+   * @var bool
+   */
+  public $sharedPublic = null;
+  /**
+   * @var string
+   */
+  public $collectionName = null;
+  /**
+   * @var string
+   */
+  public $collectionDescription = null;
+  /**
+   * @var string[]
+   */
+  public $fileIdList = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'collectionId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'gatewayId',
+          'type' => TType::STRING,
+          ),
+        3 => array(
+          'var' => 'username',
+          'type' => TType::STRING,
+          ),
+        4 => array(
+          'var' => 'sharedUsers',
+          'type' => TType::LST,
+          'etype' => TType::STRING,
+          'elem' => array(
+            'type' => TType::STRING,
+            ),
+          ),
+        5 => array(
+          'var' => 'sharedPublic',
+          'type' => TType::BOOL,
+          ),
+        6 => array(
+          'var' => 'collectionName',
+          'type' => TType::STRING,
+          ),
+        7 => array(
+          'var' => 'collectionDescription',
+          'type' => TType::STRING,
+          ),
+        8 => array(
+          'var' => 'fileIdList',
+          'type' => TType::LST,
+          'etype' => TType::STRING,
+          'elem' => array(
+            'type' => TType::STRING,
+            ),
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['collectionId'])) {
+        $this->collectionId = $vals['collectionId'];
+      }
+      if (isset($vals['gatewayId'])) {
+        $this->gatewayId = $vals['gatewayId'];
+      }
+      if (isset($vals['username'])) {
+        $this->username = $vals['username'];
+      }
+      if (isset($vals['sharedUsers'])) {
+        $this->sharedUsers = $vals['sharedUsers'];
+      }
+      if (isset($vals['sharedPublic'])) {
+        $this->sharedPublic = $vals['sharedPublic'];
+      }
+      if (isset($vals['collectionName'])) {
+        $this->collectionName = $vals['collectionName'];
+      }
+      if (isset($vals['collectionDescription'])) {
+        $this->collectionDescription = $vals['collectionDescription'];
+      }
+      if (isset($vals['fileIdList'])) {
+        $this->fileIdList = $vals['fileIdList'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'FileCollectionModel';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->collectionId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->gatewayId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->username);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::LST) {
+            $this->sharedUsers = array();
+            $_size0 = 0;
+            $_etype3 = 0;
+            $xfer += $input->readListBegin($_etype3, $_size0);
+            for ($_i4 = 0; $_i4 < $_size0; ++$_i4)
+            {
+              $elem5 = null;
+              $xfer += $input->readString($elem5);
+              $this->sharedUsers []= $elem5;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->sharedPublic);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->collectionName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 7:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->collectionDescription);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 8:
+          if ($ftype == TType::LST) {
+            $this->fileIdList = array();
+            $_size6 = 0;
+            $_etype9 = 0;
+            $xfer += $input->readListBegin($_etype9, $_size6);
+            for ($_i10 = 0; $_i10 < $_size6; ++$_i10)
+            {
+              $elem11 = null;
+              $xfer += $input->readString($elem11);
+              $this->fileIdList []= $elem11;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('FileCollectionModel');
+    if ($this->collectionId !== null) {
+      $xfer += $output->writeFieldBegin('collectionId', TType::STRING, 1);
+      $xfer += $output->writeString($this->collectionId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->gatewayId !== null) {
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 2);
+      $xfer += $output->writeString($this->gatewayId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->username !== null) {
+      $xfer += $output->writeFieldBegin('username', TType::STRING, 3);
+      $xfer += $output->writeString($this->username);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->sharedUsers !== null) {
+      if (!is_array($this->sharedUsers)) {
+        throw new TProtocolException('Bad type in structure.', 
TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('sharedUsers', TType::LST, 4);
+      {
+        $output->writeListBegin(TType::STRING, count($this->sharedUsers));
+        {
+          foreach ($this->sharedUsers as $iter12)
+          {
+            $xfer += $output->writeString($iter12);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->sharedPublic !== null) {
+      $xfer += $output->writeFieldBegin('sharedPublic', TType::BOOL, 5);
+      $xfer += $output->writeBool($this->sharedPublic);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->collectionName !== null) {
+      $xfer += $output->writeFieldBegin('collectionName', TType::STRING, 6);
+      $xfer += $output->writeString($this->collectionName);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->collectionDescription !== null) {
+      $xfer += $output->writeFieldBegin('collectionDescription', 
TType::STRING, 7);
+      $xfer += $output->writeString($this->collectionDescription);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->fileIdList !== null) {
+      if (!is_array($this->fileIdList)) {
+        throw new TProtocolException('Bad type in structure.', 
TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('fileIdList', TType::LST, 8);
+      {
+        $output->writeListBegin(TType::STRING, count($this->fileIdList));
+        {
+          foreach ($this->fileIdList as $iter13)
+          {
+            $xfer += $output->writeString($iter13);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class FileModel {
+  static $_TSPEC;
+
+  /**
+   * @var string
+   */
+  public $fileId = null;
+  /**
+   * @var string
+   */
+  public $gatewayId = null;
+  /**
+   * @var string
+   */
+  public $username = null;
+  /**
+   * @var string[]
+   */
+  public $sharedUsers = null;
+  /**
+   * @var bool
+   */
+  public $sharedPublic = null;
+  /**
+   * @var string
+   */
+  public $fileName = null;
+  /**
+   * @var string
+   */
+  public $fileDescription = null;
+  /**
+   * @var string
+   */
+  public $sha256Checksum = null;
+  /**
+   * @var int
+   */
+  public $fileType = null;
+  /**
+   * @var int
+   */
+  public $fileSize = null;
+  /**
+   * @var string
+   */
+  public $nativeFormat = null;
+  /**
+   * @var int
+   */
+  public $creationTime = null;
+  /**
+   * @var int
+   */
+  public $lastModifiedTime = null;
+  /**
+   * @var \Airavata\Model\File\Replica\FileReplicaModel[]
+   */
+  public $fileReplicas = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'fileId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'gatewayId',
+          'type' => TType::STRING,
+          ),
+        3 => array(
+          'var' => 'username',
+          'type' => TType::STRING,
+          ),
+        4 => array(
+          'var' => 'sharedUsers',
+          'type' => TType::LST,
+          'etype' => TType::STRING,
+          'elem' => array(
+            'type' => TType::STRING,
+            ),
+          ),
+        5 => array(
+          'var' => 'sharedPublic',
+          'type' => TType::BOOL,
+          ),
+        6 => array(
+          'var' => 'fileName',
+          'type' => TType::STRING,
+          ),
+        7 => array(
+          'var' => 'fileDescription',
+          'type' => TType::STRING,
+          ),
+        8 => array(
+          'var' => 'sha256Checksum',
+          'type' => TType::STRING,
+          ),
+        9 => array(
+          'var' => 'fileType',
+          'type' => TType::I32,
+          ),
+        10 => array(
+          'var' => 'fileSize',
+          'type' => TType::I32,
+          ),
+        11 => array(
+          'var' => 'nativeFormat',
+          'type' => TType::STRING,
+          ),
+        12 => array(
+          'var' => 'creationTime',
+          'type' => TType::I64,
+          ),
+        13 => array(
+          'var' => 'lastModifiedTime',
+          'type' => TType::I64,
+          ),
+        14 => array(
+          'var' => 'fileReplicas',
+          'type' => TType::LST,
+          'etype' => TType::STRUCT,
+          'elem' => array(
+            'type' => TType::STRUCT,
+            'class' => '\Airavata\Model\File\Replica\FileReplicaModel',
+            ),
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['fileId'])) {
+        $this->fileId = $vals['fileId'];
+      }
+      if (isset($vals['gatewayId'])) {
+        $this->gatewayId = $vals['gatewayId'];
+      }
+      if (isset($vals['username'])) {
+        $this->username = $vals['username'];
+      }
+      if (isset($vals['sharedUsers'])) {
+        $this->sharedUsers = $vals['sharedUsers'];
+      }
+      if (isset($vals['sharedPublic'])) {
+        $this->sharedPublic = $vals['sharedPublic'];
+      }
+      if (isset($vals['fileName'])) {
+        $this->fileName = $vals['fileName'];
+      }
+      if (isset($vals['fileDescription'])) {
+        $this->fileDescription = $vals['fileDescription'];
+      }
+      if (isset($vals['sha256Checksum'])) {
+        $this->sha256Checksum = $vals['sha256Checksum'];
+      }
+      if (isset($vals['fileType'])) {
+        $this->fileType = $vals['fileType'];
+      }
+      if (isset($vals['fileSize'])) {
+        $this->fileSize = $vals['fileSize'];
+      }
+      if (isset($vals['nativeFormat'])) {
+        $this->nativeFormat = $vals['nativeFormat'];
+      }
+      if (isset($vals['creationTime'])) {
+        $this->creationTime = $vals['creationTime'];
+      }
+      if (isset($vals['lastModifiedTime'])) {
+        $this->lastModifiedTime = $vals['lastModifiedTime'];
+      }
+      if (isset($vals['fileReplicas'])) {
+        $this->fileReplicas = $vals['fileReplicas'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'FileModel';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->fileId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->gatewayId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->username);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::LST) {
+            $this->sharedUsers = array();
+            $_size14 = 0;
+            $_etype17 = 0;
+            $xfer += $input->readListBegin($_etype17, $_size14);
+            for ($_i18 = 0; $_i18 < $_size14; ++$_i18)
+            {
+              $elem19 = null;
+              $xfer += $input->readString($elem19);
+              $this->sharedUsers []= $elem19;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::BOOL) {
+            $xfer += $input->readBool($this->sharedPublic);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->fileName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 7:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->fileDescription);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 8:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->sha256Checksum);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 9:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->fileType);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 10:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->fileSize);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 11:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->nativeFormat);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 12:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->creationTime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 13:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->lastModifiedTime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 14:
+          if ($ftype == TType::LST) {
+            $this->fileReplicas = array();
+            $_size20 = 0;
+            $_etype23 = 0;
+            $xfer += $input->readListBegin($_etype23, $_size20);
+            for ($_i24 = 0; $_i24 < $_size20; ++$_i24)
+            {
+              $elem25 = null;
+              $elem25 = new \Airavata\Model\File\Replica\FileReplicaModel();
+              $xfer += $elem25->read($input);
+              $this->fileReplicas []= $elem25;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('FileModel');
+    if ($this->fileId !== null) {
+      $xfer += $output->writeFieldBegin('fileId', TType::STRING, 1);
+      $xfer += $output->writeString($this->fileId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->gatewayId !== null) {
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 2);
+      $xfer += $output->writeString($this->gatewayId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->username !== null) {
+      $xfer += $output->writeFieldBegin('username', TType::STRING, 3);
+      $xfer += $output->writeString($this->username);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->sharedUsers !== null) {
+      if (!is_array($this->sharedUsers)) {
+        throw new TProtocolException('Bad type in structure.', 
TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('sharedUsers', TType::LST, 4);
+      {
+        $output->writeListBegin(TType::STRING, count($this->sharedUsers));
+        {
+          foreach ($this->sharedUsers as $iter26)
+          {
+            $xfer += $output->writeString($iter26);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->sharedPublic !== null) {
+      $xfer += $output->writeFieldBegin('sharedPublic', TType::BOOL, 5);
+      $xfer += $output->writeBool($this->sharedPublic);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->fileName !== null) {
+      $xfer += $output->writeFieldBegin('fileName', TType::STRING, 6);
+      $xfer += $output->writeString($this->fileName);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->fileDescription !== null) {
+      $xfer += $output->writeFieldBegin('fileDescription', TType::STRING, 7);
+      $xfer += $output->writeString($this->fileDescription);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->sha256Checksum !== null) {
+      $xfer += $output->writeFieldBegin('sha256Checksum', TType::STRING, 8);
+      $xfer += $output->writeString($this->sha256Checksum);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->fileType !== null) {
+      $xfer += $output->writeFieldBegin('fileType', TType::I32, 9);
+      $xfer += $output->writeI32($this->fileType);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->fileSize !== null) {
+      $xfer += $output->writeFieldBegin('fileSize', TType::I32, 10);
+      $xfer += $output->writeI32($this->fileSize);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->nativeFormat !== null) {
+      $xfer += $output->writeFieldBegin('nativeFormat', TType::STRING, 11);
+      $xfer += $output->writeString($this->nativeFormat);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->creationTime !== null) {
+      $xfer += $output->writeFieldBegin('creationTime', TType::I64, 12);
+      $xfer += $output->writeI64($this->creationTime);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->lastModifiedTime !== null) {
+      $xfer += $output->writeFieldBegin('lastModifiedTime', TType::I64, 13);
+      $xfer += $output->writeI64($this->lastModifiedTime);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->fileReplicas !== null) {
+      if (!is_array($this->fileReplicas)) {
+        throw new TProtocolException('Bad type in structure.', 
TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('fileReplicas', TType::LST, 14);
+      {
+        $output->writeListBegin(TType::STRUCT, count($this->fileReplicas));
+        {
+          foreach ($this->fileReplicas as $iter27)
+          {
+            $xfer += $iter27->write($output);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class FileReplicaModel {
+  static $_TSPEC;
+
+  /**
+   * @var string
+   */
+  public $replicaName = null;
+  /**
+   * @var string
+   */
+  public $replicaDescription = null;
+  /**
+   * @var string
+   */
+  public $storageHostname = null;
+  /**
+   * @var string
+   */
+  public $storageResourceId = null;
+  /**
+   * @var string
+   */
+  public $filePath = null;
+  /**
+   * @var int
+   */
+  public $creationTime = null;
+  /**
+   * @var int
+   */
+  public $validUntilTime = null;
+  /**
+   * @var int
+   */
+  public $storageResourceType = null;
+  /**
+   * @var int
+   */
+  public $replicaPersistentType = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'replicaName',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'replicaDescription',
+          'type' => TType::STRING,
+          ),
+        3 => array(
+          'var' => 'storageHostname',
+          'type' => TType::STRING,
+          ),
+        4 => array(
+          'var' => 'storageResourceId',
+          'type' => TType::STRING,
+          ),
+        5 => array(
+          'var' => 'filePath',
+          'type' => TType::STRING,
+          ),
+        6 => array(
+          'var' => 'creationTime',
+          'type' => TType::I64,
+          ),
+        7 => array(
+          'var' => 'validUntilTime',
+          'type' => TType::I64,
+          ),
+        8 => array(
+          'var' => 'storageResourceType',
+          'type' => TType::I32,
+          ),
+        9 => array(
+          'var' => 'replicaPersistentType',
+          'type' => TType::I32,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['replicaName'])) {
+        $this->replicaName = $vals['replicaName'];
+      }
+      if (isset($vals['replicaDescription'])) {
+        $this->replicaDescription = $vals['replicaDescription'];
+      }
+      if (isset($vals['storageHostname'])) {
+        $this->storageHostname = $vals['storageHostname'];
+      }
+      if (isset($vals['storageResourceId'])) {
+        $this->storageResourceId = $vals['storageResourceId'];
+      }
+      if (isset($vals['filePath'])) {
+        $this->filePath = $vals['filePath'];
+      }
+      if (isset($vals['creationTime'])) {
+        $this->creationTime = $vals['creationTime'];
+      }
+      if (isset($vals['validUntilTime'])) {
+        $this->validUntilTime = $vals['validUntilTime'];
+      }
+      if (isset($vals['storageResourceType'])) {
+        $this->storageResourceType = $vals['storageResourceType'];
+      }
+      if (isset($vals['replicaPersistentType'])) {
+        $this->replicaPersistentType = $vals['replicaPersistentType'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'FileReplicaModel';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->replicaName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->replicaDescription);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->storageHostname);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->storageResourceId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->filePath);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->creationTime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 7:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->validUntilTime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 8:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->storageResourceType);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 9:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->replicaPersistentType);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('FileReplicaModel');
+    if ($this->replicaName !== null) {
+      $xfer += $output->writeFieldBegin('replicaName', TType::STRING, 1);
+      $xfer += $output->writeString($this->replicaName);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->replicaDescription !== null) {
+      $xfer += $output->writeFieldBegin('replicaDescription', TType::STRING, 
2);
+      $xfer += $output->writeString($this->replicaDescription);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->storageHostname !== null) {
+      $xfer += $output->writeFieldBegin('storageHostname', TType::STRING, 3);
+      $xfer += $output->writeString($this->storageHostname);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->storageResourceId !== null) {
+      $xfer += $output->writeFieldBegin('storageResourceId', TType::STRING, 4);
+      $xfer += $output->writeString($this->storageResourceId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->filePath !== null) {
+      $xfer += $output->writeFieldBegin('filePath', TType::STRING, 5);
+      $xfer += $output->writeString($this->filePath);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->creationTime !== null) {
+      $xfer += $output->writeFieldBegin('creationTime', TType::I64, 6);
+      $xfer += $output->writeI64($this->creationTime);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->validUntilTime !== null) {
+      $xfer += $output->writeFieldBegin('validUntilTime', TType::I64, 7);
+      $xfer += $output->writeI64($this->validUntilTime);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->storageResourceType !== null) {
+      $xfer += $output->writeFieldBegin('storageResourceType', TType::I32, 8);
+      $xfer += $output->writeI32($this->storageResourceType);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->replicaPersistentType !== null) {
+      $xfer += $output->writeFieldBegin('replicaPersistentType', TType::I32, 
9);
+      $xfer += $output->writeI32($this->replicaPersistentType);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+

http://git-wip-us.apache.org/repos/asf/airavata/blob/b61cfcd3/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/File/Transfer/Types.php
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/File/Transfer/Types.php
 
b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/File/Transfer/Types.php
new file mode 100644
index 0000000..46eae5b
--- /dev/null
+++ 
b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/lib/Airavata/Model/File/Transfer/Types.php
@@ -0,0 +1,890 @@
+<?php
+namespace Airavata\Model\File\Transfer;
+
+/**
+ * Autogenerated by Thrift Compiler (0.9.3)
+ *
+ * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+ *  @generated
+ */
+use Thrift\Base\TBase;
+use Thrift\Type\TType;
+use Thrift\Type\TMessageType;
+use Thrift\Exception\TException;
+use Thrift\Exception\TProtocolException;
+use Thrift\Protocol\TProtocol;
+use Thrift\Protocol\TBinaryProtocolAccelerated;
+use Thrift\Exception\TApplicationException;
+
+
+final class StorageResourceProtocol {
+  const SCP = 0;
+  const SFTP = 1;
+  const HTTP = 2;
+  const HTTPS = 3;
+  const GridFTP = 4;
+  const LOCAL = 5;
+  static public $__names = array(
+    0 => 'SCP',
+    1 => 'SFTP',
+    2 => 'HTTP',
+    3 => 'HTTPS',
+    4 => 'GridFTP',
+    5 => 'LOCAL',
+  );
+}
+
+final class LSEntryType {
+  const DIRECTORY = 0;
+  const FILE = 1;
+  static public $__names = array(
+    0 => 'DIRECTORY',
+    1 => 'FILE',
+  );
+}
+
+final class FileTransferMode {
+  const SYNC = 0;
+  const ASYNC = 1;
+  static public $__names = array(
+    0 => 'SYNC',
+    1 => 'ASYNC',
+  );
+}
+
+final class FileTransferStatus {
+  const CREATED = 0;
+  const QUEUED = 1;
+  const RUNNING = 2;
+  const COMPLETED = 3;
+  const FAILED = 4;
+  static public $__names = array(
+    0 => 'CREATED',
+    1 => 'QUEUED',
+    2 => 'RUNNING',
+    3 => 'COMPLETED',
+    4 => 'FAILED',
+  );
+}
+
+class FileTransferRequestModel {
+  static $_TSPEC;
+
+  /**
+   * @var string
+   */
+  public $transferId = null;
+  /**
+   * @var string
+   */
+  public $gatewayId = null;
+  /**
+   * @var string
+   */
+  public $username = null;
+  /**
+   * @var string
+   */
+  public $srcHostname = null;
+  /**
+   * @var string
+   */
+  public $srcLoginName = null;
+  /**
+   * @var int
+   */
+  public $srcPort = null;
+  /**
+   * @var int
+   */
+  public $srcProtocol = null;
+  /**
+   * @var string
+   */
+  public $srcFilePath = null;
+  /**
+   * @var string
+   */
+  public $srcHostCredToken = null;
+  /**
+   * @var string
+   */
+  public $destHostname = null;
+  /**
+   * @var string
+   */
+  public $destLoginName = null;
+  /**
+   * @var int
+   */
+  public $destPort = null;
+  /**
+   * @var int
+   */
+  public $destProtocol = null;
+  /**
+   * @var string
+   */
+  public $destFilePath = null;
+  /**
+   * @var string
+   */
+  public $destHostCredToken = null;
+  /**
+   * @var int
+   */
+  public $fileTransferMode = null;
+  /**
+   * @var int
+   */
+  public $transferStatus = null;
+  /**
+   * @var int
+   */
+  public $fileSize = null;
+  /**
+   * @var int
+   */
+  public $transferTime = null;
+  /**
+   * @var int
+   */
+  public $createdTime = null;
+  /**
+   * @var int
+   */
+  public $lastModifiedType = null;
+  /**
+   * @var string[]
+   */
+  public $callbackEmails = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'transferId',
+          'type' => TType::STRING,
+          ),
+        2 => array(
+          'var' => 'gatewayId',
+          'type' => TType::STRING,
+          ),
+        3 => array(
+          'var' => 'username',
+          'type' => TType::STRING,
+          ),
+        4 => array(
+          'var' => 'srcHostname',
+          'type' => TType::STRING,
+          ),
+        5 => array(
+          'var' => 'srcLoginName',
+          'type' => TType::STRING,
+          ),
+        6 => array(
+          'var' => 'srcPort',
+          'type' => TType::I64,
+          ),
+        7 => array(
+          'var' => 'srcProtocol',
+          'type' => TType::I32,
+          ),
+        8 => array(
+          'var' => 'srcFilePath',
+          'type' => TType::STRING,
+          ),
+        9 => array(
+          'var' => 'srcHostCredToken',
+          'type' => TType::STRING,
+          ),
+        10 => array(
+          'var' => 'destHostname',
+          'type' => TType::STRING,
+          ),
+        11 => array(
+          'var' => 'destLoginName',
+          'type' => TType::STRING,
+          ),
+        12 => array(
+          'var' => 'destPort',
+          'type' => TType::I64,
+          ),
+        13 => array(
+          'var' => 'destProtocol',
+          'type' => TType::I32,
+          ),
+        14 => array(
+          'var' => 'destFilePath',
+          'type' => TType::STRING,
+          ),
+        15 => array(
+          'var' => 'destHostCredToken',
+          'type' => TType::STRING,
+          ),
+        16 => array(
+          'var' => 'fileTransferMode',
+          'type' => TType::I32,
+          ),
+        17 => array(
+          'var' => 'transferStatus',
+          'type' => TType::I32,
+          ),
+        18 => array(
+          'var' => 'fileSize',
+          'type' => TType::I64,
+          ),
+        19 => array(
+          'var' => 'transferTime',
+          'type' => TType::I64,
+          ),
+        20 => array(
+          'var' => 'createdTime',
+          'type' => TType::I64,
+          ),
+        21 => array(
+          'var' => 'lastModifiedType',
+          'type' => TType::I64,
+          ),
+        22 => array(
+          'var' => 'callbackEmails',
+          'type' => TType::LST,
+          'etype' => TType::STRING,
+          'elem' => array(
+            'type' => TType::STRING,
+            ),
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['transferId'])) {
+        $this->transferId = $vals['transferId'];
+      }
+      if (isset($vals['gatewayId'])) {
+        $this->gatewayId = $vals['gatewayId'];
+      }
+      if (isset($vals['username'])) {
+        $this->username = $vals['username'];
+      }
+      if (isset($vals['srcHostname'])) {
+        $this->srcHostname = $vals['srcHostname'];
+      }
+      if (isset($vals['srcLoginName'])) {
+        $this->srcLoginName = $vals['srcLoginName'];
+      }
+      if (isset($vals['srcPort'])) {
+        $this->srcPort = $vals['srcPort'];
+      }
+      if (isset($vals['srcProtocol'])) {
+        $this->srcProtocol = $vals['srcProtocol'];
+      }
+      if (isset($vals['srcFilePath'])) {
+        $this->srcFilePath = $vals['srcFilePath'];
+      }
+      if (isset($vals['srcHostCredToken'])) {
+        $this->srcHostCredToken = $vals['srcHostCredToken'];
+      }
+      if (isset($vals['destHostname'])) {
+        $this->destHostname = $vals['destHostname'];
+      }
+      if (isset($vals['destLoginName'])) {
+        $this->destLoginName = $vals['destLoginName'];
+      }
+      if (isset($vals['destPort'])) {
+        $this->destPort = $vals['destPort'];
+      }
+      if (isset($vals['destProtocol'])) {
+        $this->destProtocol = $vals['destProtocol'];
+      }
+      if (isset($vals['destFilePath'])) {
+        $this->destFilePath = $vals['destFilePath'];
+      }
+      if (isset($vals['destHostCredToken'])) {
+        $this->destHostCredToken = $vals['destHostCredToken'];
+      }
+      if (isset($vals['fileTransferMode'])) {
+        $this->fileTransferMode = $vals['fileTransferMode'];
+      }
+      if (isset($vals['transferStatus'])) {
+        $this->transferStatus = $vals['transferStatus'];
+      }
+      if (isset($vals['fileSize'])) {
+        $this->fileSize = $vals['fileSize'];
+      }
+      if (isset($vals['transferTime'])) {
+        $this->transferTime = $vals['transferTime'];
+      }
+      if (isset($vals['createdTime'])) {
+        $this->createdTime = $vals['createdTime'];
+      }
+      if (isset($vals['lastModifiedType'])) {
+        $this->lastModifiedType = $vals['lastModifiedType'];
+      }
+      if (isset($vals['callbackEmails'])) {
+        $this->callbackEmails = $vals['callbackEmails'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'FileTransferRequestModel';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->transferId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->gatewayId);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->username);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->srcHostname);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->srcLoginName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->srcPort);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 7:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->srcProtocol);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 8:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->srcFilePath);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 9:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->srcHostCredToken);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 10:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->destHostname);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 11:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->destLoginName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 12:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->destPort);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 13:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->destProtocol);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 14:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->destFilePath);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 15:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->destHostCredToken);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 16:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->fileTransferMode);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 17:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->transferStatus);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 18:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->fileSize);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 19:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->transferTime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 20:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->createdTime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 21:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->lastModifiedType);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 22:
+          if ($ftype == TType::LST) {
+            $this->callbackEmails = array();
+            $_size0 = 0;
+            $_etype3 = 0;
+            $xfer += $input->readListBegin($_etype3, $_size0);
+            for ($_i4 = 0; $_i4 < $_size0; ++$_i4)
+            {
+              $elem5 = null;
+              $xfer += $input->readString($elem5);
+              $this->callbackEmails []= $elem5;
+            }
+            $xfer += $input->readListEnd();
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('FileTransferRequestModel');
+    if ($this->transferId !== null) {
+      $xfer += $output->writeFieldBegin('transferId', TType::STRING, 1);
+      $xfer += $output->writeString($this->transferId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->gatewayId !== null) {
+      $xfer += $output->writeFieldBegin('gatewayId', TType::STRING, 2);
+      $xfer += $output->writeString($this->gatewayId);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->username !== null) {
+      $xfer += $output->writeFieldBegin('username', TType::STRING, 3);
+      $xfer += $output->writeString($this->username);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->srcHostname !== null) {
+      $xfer += $output->writeFieldBegin('srcHostname', TType::STRING, 4);
+      $xfer += $output->writeString($this->srcHostname);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->srcLoginName !== null) {
+      $xfer += $output->writeFieldBegin('srcLoginName', TType::STRING, 5);
+      $xfer += $output->writeString($this->srcLoginName);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->srcPort !== null) {
+      $xfer += $output->writeFieldBegin('srcPort', TType::I64, 6);
+      $xfer += $output->writeI64($this->srcPort);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->srcProtocol !== null) {
+      $xfer += $output->writeFieldBegin('srcProtocol', TType::I32, 7);
+      $xfer += $output->writeI32($this->srcProtocol);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->srcFilePath !== null) {
+      $xfer += $output->writeFieldBegin('srcFilePath', TType::STRING, 8);
+      $xfer += $output->writeString($this->srcFilePath);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->srcHostCredToken !== null) {
+      $xfer += $output->writeFieldBegin('srcHostCredToken', TType::STRING, 9);
+      $xfer += $output->writeString($this->srcHostCredToken);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->destHostname !== null) {
+      $xfer += $output->writeFieldBegin('destHostname', TType::STRING, 10);
+      $xfer += $output->writeString($this->destHostname);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->destLoginName !== null) {
+      $xfer += $output->writeFieldBegin('destLoginName', TType::STRING, 11);
+      $xfer += $output->writeString($this->destLoginName);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->destPort !== null) {
+      $xfer += $output->writeFieldBegin('destPort', TType::I64, 12);
+      $xfer += $output->writeI64($this->destPort);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->destProtocol !== null) {
+      $xfer += $output->writeFieldBegin('destProtocol', TType::I32, 13);
+      $xfer += $output->writeI32($this->destProtocol);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->destFilePath !== null) {
+      $xfer += $output->writeFieldBegin('destFilePath', TType::STRING, 14);
+      $xfer += $output->writeString($this->destFilePath);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->destHostCredToken !== null) {
+      $xfer += $output->writeFieldBegin('destHostCredToken', TType::STRING, 
15);
+      $xfer += $output->writeString($this->destHostCredToken);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->fileTransferMode !== null) {
+      $xfer += $output->writeFieldBegin('fileTransferMode', TType::I32, 16);
+      $xfer += $output->writeI32($this->fileTransferMode);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->transferStatus !== null) {
+      $xfer += $output->writeFieldBegin('transferStatus', TType::I32, 17);
+      $xfer += $output->writeI32($this->transferStatus);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->fileSize !== null) {
+      $xfer += $output->writeFieldBegin('fileSize', TType::I64, 18);
+      $xfer += $output->writeI64($this->fileSize);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->transferTime !== null) {
+      $xfer += $output->writeFieldBegin('transferTime', TType::I64, 19);
+      $xfer += $output->writeI64($this->transferTime);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->createdTime !== null) {
+      $xfer += $output->writeFieldBegin('createdTime', TType::I64, 20);
+      $xfer += $output->writeI64($this->createdTime);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->lastModifiedType !== null) {
+      $xfer += $output->writeFieldBegin('lastModifiedType', TType::I64, 21);
+      $xfer += $output->writeI64($this->lastModifiedType);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->callbackEmails !== null) {
+      if (!is_array($this->callbackEmails)) {
+        throw new TProtocolException('Bad type in structure.', 
TProtocolException::INVALID_DATA);
+      }
+      $xfer += $output->writeFieldBegin('callbackEmails', TType::LST, 22);
+      {
+        $output->writeListBegin(TType::STRING, count($this->callbackEmails));
+        {
+          foreach ($this->callbackEmails as $iter6)
+          {
+            $xfer += $output->writeString($iter6);
+          }
+        }
+        $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+class LSEntryModel {
+  static $_TSPEC;
+
+  /**
+   * @var int
+   */
+  public $type = null;
+  /**
+   * @var int
+   */
+  public $size = null;
+  /**
+   * @var string
+   */
+  public $nativeType = null;
+  /**
+   * @var string
+   */
+  public $name = null;
+  /**
+   * @var string
+   */
+  public $path = null;
+  /**
+   * @var string
+   */
+  public $storageHostName = null;
+  /**
+   * @var int
+   */
+  public $lastModifiedType = null;
+  /**
+   * @var int
+   */
+  public $createdTime = null;
+
+  public function __construct($vals=null) {
+    if (!isset(self::$_TSPEC)) {
+      self::$_TSPEC = array(
+        1 => array(
+          'var' => 'type',
+          'type' => TType::I32,
+          ),
+        2 => array(
+          'var' => 'size',
+          'type' => TType::I64,
+          ),
+        3 => array(
+          'var' => 'nativeType',
+          'type' => TType::STRING,
+          ),
+        4 => array(
+          'var' => 'name',
+          'type' => TType::STRING,
+          ),
+        5 => array(
+          'var' => 'path',
+          'type' => TType::STRING,
+          ),
+        6 => array(
+          'var' => 'storageHostName',
+          'type' => TType::STRING,
+          ),
+        7 => array(
+          'var' => 'lastModifiedType',
+          'type' => TType::I64,
+          ),
+        8 => array(
+          'var' => 'createdTime',
+          'type' => TType::I64,
+          ),
+        );
+    }
+    if (is_array($vals)) {
+      if (isset($vals['type'])) {
+        $this->type = $vals['type'];
+      }
+      if (isset($vals['size'])) {
+        $this->size = $vals['size'];
+      }
+      if (isset($vals['nativeType'])) {
+        $this->nativeType = $vals['nativeType'];
+      }
+      if (isset($vals['name'])) {
+        $this->name = $vals['name'];
+      }
+      if (isset($vals['path'])) {
+        $this->path = $vals['path'];
+      }
+      if (isset($vals['storageHostName'])) {
+        $this->storageHostName = $vals['storageHostName'];
+      }
+      if (isset($vals['lastModifiedType'])) {
+        $this->lastModifiedType = $vals['lastModifiedType'];
+      }
+      if (isset($vals['createdTime'])) {
+        $this->createdTime = $vals['createdTime'];
+      }
+    }
+  }
+
+  public function getName() {
+    return 'LSEntryModel';
+  }
+
+  public function read($input)
+  {
+    $xfer = 0;
+    $fname = null;
+    $ftype = 0;
+    $fid = 0;
+    $xfer += $input->readStructBegin($fname);
+    while (true)
+    {
+      $xfer += $input->readFieldBegin($fname, $ftype, $fid);
+      if ($ftype == TType::STOP) {
+        break;
+      }
+      switch ($fid)
+      {
+        case 1:
+          if ($ftype == TType::I32) {
+            $xfer += $input->readI32($this->type);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 2:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->size);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 3:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->nativeType);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 4:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->name);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 5:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->path);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 6:
+          if ($ftype == TType::STRING) {
+            $xfer += $input->readString($this->storageHostName);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 7:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->lastModifiedType);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        case 8:
+          if ($ftype == TType::I64) {
+            $xfer += $input->readI64($this->createdTime);
+          } else {
+            $xfer += $input->skip($ftype);
+          }
+          break;
+        default:
+          $xfer += $input->skip($ftype);
+          break;
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+  public function write($output) {
+    $xfer = 0;
+    $xfer += $output->writeStructBegin('LSEntryModel');
+    if ($this->type !== null) {
+      $xfer += $output->writeFieldBegin('type', TType::I32, 1);
+      $xfer += $output->writeI32($this->type);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->size !== null) {
+      $xfer += $output->writeFieldBegin('size', TType::I64, 2);
+      $xfer += $output->writeI64($this->size);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->nativeType !== null) {
+      $xfer += $output->writeFieldBegin('nativeType', TType::STRING, 3);
+      $xfer += $output->writeString($this->nativeType);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->name !== null) {
+      $xfer += $output->writeFieldBegin('name', TType::STRING, 4);
+      $xfer += $output->writeString($this->name);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->path !== null) {
+      $xfer += $output->writeFieldBegin('path', TType::STRING, 5);
+      $xfer += $output->writeString($this->path);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->storageHostName !== null) {
+      $xfer += $output->writeFieldBegin('storageHostName', TType::STRING, 6);
+      $xfer += $output->writeString($this->storageHostName);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->lastModifiedType !== null) {
+      $xfer += $output->writeFieldBegin('lastModifiedType', TType::I64, 7);
+      $xfer += $output->writeI64($this->lastModifiedType);
+      $xfer += $output->writeFieldEnd();
+    }
+    if ($this->createdTime !== null) {
+      $xfer += $output->writeFieldBegin('createdTime', TType::I64, 8);
+      $xfer += $output->writeI64($this->createdTime);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+}
+
+

Reply via email to