You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sm...@apache.org on 2015/05/01 02:56:03 UTC

[07/19] airavata git commit: Changing Airavata API to support paginated result retrieval of Project and Experiment data

http://git-wip-us.apache.org/repos/asf/airavata/blob/0a3d857b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
index 78f2742..8bdcb39 100644
--- a/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
+++ b/airavata-api/airavata-client-sdks/airavata-cpp-sdk/src/main/resources/lib/airavata/Airavata.h
@@ -47,15 +47,25 @@ class AiravataIf {
   virtual void getProject( ::apache::airavata::model::workspace::Project& _return, const std::string& projectId) = 0;
   virtual bool deleteProject(const std::string& projectId) = 0;
   virtual void getAllUserProjects(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& gatewayId, const std::string& userName) = 0;
+  virtual void getAllUserProjectsWithPagination(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& gatewayId, const std::string& userName, const int32_t limit, const int32_t offset) = 0;
   virtual void searchProjectsByProjectName(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& gatewayId, const std::string& userName, const std::string& projectName) = 0;
+  virtual void searchProjectsByProjectNameWithPagination(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& gatewayId, const std::string& userName, const std::string& projectName, const int32_t limit, const int32_t offset) = 0;
   virtual void searchProjectsByProjectDesc(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& gatewayId, const std::string& userName, const std::string& description) = 0;
+  virtual void searchProjectsByProjectDescWithPagination(std::vector< ::apache::airavata::model::workspace::Project> & _return, const std::string& gatewayId, const std::string& userName, const std::string& description, const int32_t limit, const int32_t offset) = 0;
   virtual void searchExperimentsByName(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const std::string& expName) = 0;
+  virtual void searchExperimentsByNameWithPagination(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const std::string& expName, const int32_t limit, const int32_t offset) = 0;
   virtual void searchExperimentsByDesc(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const std::string& description) = 0;
+  virtual void searchExperimentsByDescWithPagination(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const std::string& description, const int32_t limit, const int32_t offset) = 0;
   virtual void searchExperimentsByApplication(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const std::string& applicationId) = 0;
+  virtual void searchExperimentsByApplicationWithPagination(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const std::string& applicationId, const int32_t limit, const int32_t offset) = 0;
   virtual void searchExperimentsByStatus(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const  ::apache::airavata::model::workspace::experiment::ExperimentState::type experimentState) = 0;
+  virtual void searchExperimentsByStatusWithPagination(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const  ::apache::airavata::model::workspace::experiment::ExperimentState::type experimentState, const int32_t limit, const int32_t offset) = 0;
   virtual void searchExperimentsByCreationTime(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const int64_t fromTime, const int64_t toTime) = 0;
+  virtual void searchExperimentsByCreationTimeWithPagination(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & _return, const std::string& gatewayId, const std::string& userName, const int64_t fromTime, const int64_t toTime, const int32_t limit, const int32_t offset) = 0;
   virtual void getAllExperimentsInProject(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & _return, const std::string& projectId) = 0;
+  virtual void getAllExperimentsInProjectWithPagination(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & _return, const std::string& projectId, const int32_t limit, const int32_t offset) = 0;
   virtual void getAllUserExperiments(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & _return, const std::string& gatewayId, const std::string& userName) = 0;
+  virtual void getAllUserExperimentsWithPagination(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & _return, const std::string& gatewayId, const std::string& userName, const int32_t limit, const int32_t offset) = 0;
   virtual void createExperiment(std::string& _return, const std::string& gatewayId, const  ::apache::airavata::model::workspace::experiment::Experiment& experiment) = 0;
   virtual void getExperiment( ::apache::airavata::model::workspace::experiment::Experiment& _return, const std::string& airavataExperimentId) = 0;
   virtual void updateExperiment(const std::string& airavataExperimentId, const  ::apache::airavata::model::workspace::experiment::Experiment& experiment) = 0;
@@ -225,33 +235,63 @@ class AiravataNull : virtual public AiravataIf {
   void getAllUserProjects(std::vector< ::apache::airavata::model::workspace::Project> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */) {
     return;
   }
+  void getAllUserProjectsWithPagination(std::vector< ::apache::airavata::model::workspace::Project> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const int32_t /* limit */, const int32_t /* offset */) {
+    return;
+  }
   void searchProjectsByProjectName(std::vector< ::apache::airavata::model::workspace::Project> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const std::string& /* projectName */) {
     return;
   }
+  void searchProjectsByProjectNameWithPagination(std::vector< ::apache::airavata::model::workspace::Project> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const std::string& /* projectName */, const int32_t /* limit */, const int32_t /* offset */) {
+    return;
+  }
   void searchProjectsByProjectDesc(std::vector< ::apache::airavata::model::workspace::Project> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const std::string& /* description */) {
     return;
   }
+  void searchProjectsByProjectDescWithPagination(std::vector< ::apache::airavata::model::workspace::Project> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const std::string& /* description */, const int32_t /* limit */, const int32_t /* offset */) {
+    return;
+  }
   void searchExperimentsByName(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const std::string& /* expName */) {
     return;
   }
+  void searchExperimentsByNameWithPagination(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const std::string& /* expName */, const int32_t /* limit */, const int32_t /* offset */) {
+    return;
+  }
   void searchExperimentsByDesc(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const std::string& /* description */) {
     return;
   }
+  void searchExperimentsByDescWithPagination(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const std::string& /* description */, const int32_t /* limit */, const int32_t /* offset */) {
+    return;
+  }
   void searchExperimentsByApplication(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const std::string& /* applicationId */) {
     return;
   }
+  void searchExperimentsByApplicationWithPagination(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const std::string& /* applicationId */, const int32_t /* limit */, const int32_t /* offset */) {
+    return;
+  }
   void searchExperimentsByStatus(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const  ::apache::airavata::model::workspace::experiment::ExperimentState::type /* experimentState */) {
     return;
   }
+  void searchExperimentsByStatusWithPagination(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const  ::apache::airavata::model::workspace::experiment::ExperimentState::type /* experimentState */, const int32_t /* limit */, const int32_t /* offset */) {
+    return;
+  }
   void searchExperimentsByCreationTime(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const int64_t /* fromTime */, const int64_t /* toTime */) {
     return;
   }
+  void searchExperimentsByCreationTimeWithPagination(std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const int64_t /* fromTime */, const int64_t /* toTime */, const int32_t /* limit */, const int32_t /* offset */) {
+    return;
+  }
   void getAllExperimentsInProject(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & /* _return */, const std::string& /* projectId */) {
     return;
   }
+  void getAllExperimentsInProjectWithPagination(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & /* _return */, const std::string& /* projectId */, const int32_t /* limit */, const int32_t /* offset */) {
+    return;
+  }
   void getAllUserExperiments(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */) {
     return;
   }
+  void getAllUserExperimentsWithPagination(std::vector< ::apache::airavata::model::workspace::experiment::Experiment> & /* _return */, const std::string& /* gatewayId */, const std::string& /* userName */, const int32_t /* limit */, const int32_t /* offset */) {
+    return;
+  }
   void createExperiment(std::string& /* _return */, const std::string& /* gatewayId */, const  ::apache::airavata::model::workspace::experiment::Experiment& /* experiment */) {
     return;
   }
@@ -2577,17 +2617,18 @@ class Airavata_getAllUserProjects_presult {
 };
 
 
-class Airavata_searchProjectsByProjectName_args {
+class Airavata_getAllUserProjectsWithPagination_args {
  public:
 
-  Airavata_searchProjectsByProjectName_args() : gatewayId(), userName(), projectName() {
+  Airavata_getAllUserProjectsWithPagination_args() : gatewayId(), userName(), limit(0), offset(0) {
   }
 
-  virtual ~Airavata_searchProjectsByProjectName_args() throw() {}
+  virtual ~Airavata_getAllUserProjectsWithPagination_args() throw() {}
 
   std::string gatewayId;
   std::string userName;
-  std::string projectName;
+  int32_t limit;
+  int32_t offset;
 
   void __set_gatewayId(const std::string& val) {
     gatewayId = val;
@@ -2597,25 +2638,31 @@ class Airavata_searchProjectsByProjectName_args {
     userName = val;
   }
 
-  void __set_projectName(const std::string& val) {
-    projectName = val;
+  void __set_limit(const int32_t val) {
+    limit = val;
   }
 
-  bool operator == (const Airavata_searchProjectsByProjectName_args & rhs) const
+  void __set_offset(const int32_t val) {
+    offset = val;
+  }
+
+  bool operator == (const Airavata_getAllUserProjectsWithPagination_args & rhs) const
   {
     if (!(gatewayId == rhs.gatewayId))
       return false;
     if (!(userName == rhs.userName))
       return false;
-    if (!(projectName == rhs.projectName))
+    if (!(limit == rhs.limit))
+      return false;
+    if (!(offset == rhs.offset))
       return false;
     return true;
   }
-  bool operator != (const Airavata_searchProjectsByProjectName_args &rhs) const {
+  bool operator != (const Airavata_getAllUserProjectsWithPagination_args &rhs) const {
     return !(*this == rhs);
   }
 
-  bool operator < (const Airavata_searchProjectsByProjectName_args & ) const;
+  bool operator < (const Airavata_getAllUserProjectsWithPagination_args & ) const;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
@@ -2623,42 +2670,43 @@ class Airavata_searchProjectsByProjectName_args {
 };
 
 
-class Airavata_searchProjectsByProjectName_pargs {
+class Airavata_getAllUserProjectsWithPagination_pargs {
  public:
 
 
-  virtual ~Airavata_searchProjectsByProjectName_pargs() throw() {}
+  virtual ~Airavata_getAllUserProjectsWithPagination_pargs() throw() {}
 
   const std::string* gatewayId;
   const std::string* userName;
-  const std::string* projectName;
+  const int32_t* limit;
+  const int32_t* offset;
 
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
 };
 
-typedef struct _Airavata_searchProjectsByProjectName_result__isset {
-  _Airavata_searchProjectsByProjectName_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+typedef struct _Airavata_getAllUserProjectsWithPagination_result__isset {
+  _Airavata_getAllUserProjectsWithPagination_result__isset() : success(false), ire(false), ace(false), ase(false) {}
   bool success;
   bool ire;
   bool ace;
   bool ase;
-} _Airavata_searchProjectsByProjectName_result__isset;
+} _Airavata_getAllUserProjectsWithPagination_result__isset;
 
-class Airavata_searchProjectsByProjectName_result {
+class Airavata_getAllUserProjectsWithPagination_result {
  public:
 
-  Airavata_searchProjectsByProjectName_result() {
+  Airavata_getAllUserProjectsWithPagination_result() {
   }
 
-  virtual ~Airavata_searchProjectsByProjectName_result() throw() {}
+  virtual ~Airavata_getAllUserProjectsWithPagination_result() throw() {}
 
   std::vector< ::apache::airavata::model::workspace::Project>  success;
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
 
-  _Airavata_searchProjectsByProjectName_result__isset __isset;
+  _Airavata_getAllUserProjectsWithPagination_result__isset __isset;
 
   void __set_success(const std::vector< ::apache::airavata::model::workspace::Project> & val) {
     success = val;
@@ -2676,7 +2724,7 @@ class Airavata_searchProjectsByProjectName_result {
     ase = val;
   }
 
-  bool operator == (const Airavata_searchProjectsByProjectName_result & rhs) const
+  bool operator == (const Airavata_getAllUserProjectsWithPagination_result & rhs) const
   {
     if (!(success == rhs.success))
       return false;
@@ -2688,54 +2736,54 @@ class Airavata_searchProjectsByProjectName_result {
       return false;
     return true;
   }
-  bool operator != (const Airavata_searchProjectsByProjectName_result &rhs) const {
+  bool operator != (const Airavata_getAllUserProjectsWithPagination_result &rhs) const {
     return !(*this == rhs);
   }
 
-  bool operator < (const Airavata_searchProjectsByProjectName_result & ) const;
+  bool operator < (const Airavata_getAllUserProjectsWithPagination_result & ) const;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
 };
 
-typedef struct _Airavata_searchProjectsByProjectName_presult__isset {
-  _Airavata_searchProjectsByProjectName_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+typedef struct _Airavata_getAllUserProjectsWithPagination_presult__isset {
+  _Airavata_getAllUserProjectsWithPagination_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
   bool success;
   bool ire;
   bool ace;
   bool ase;
-} _Airavata_searchProjectsByProjectName_presult__isset;
+} _Airavata_getAllUserProjectsWithPagination_presult__isset;
 
-class Airavata_searchProjectsByProjectName_presult {
+class Airavata_getAllUserProjectsWithPagination_presult {
  public:
 
 
-  virtual ~Airavata_searchProjectsByProjectName_presult() throw() {}
+  virtual ~Airavata_getAllUserProjectsWithPagination_presult() throw() {}
 
   std::vector< ::apache::airavata::model::workspace::Project> * success;
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
 
-  _Airavata_searchProjectsByProjectName_presult__isset __isset;
+  _Airavata_getAllUserProjectsWithPagination_presult__isset __isset;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
 
 };
 
 
-class Airavata_searchProjectsByProjectDesc_args {
+class Airavata_searchProjectsByProjectName_args {
  public:
 
-  Airavata_searchProjectsByProjectDesc_args() : gatewayId(), userName(), description() {
+  Airavata_searchProjectsByProjectName_args() : gatewayId(), userName(), projectName() {
   }
 
-  virtual ~Airavata_searchProjectsByProjectDesc_args() throw() {}
+  virtual ~Airavata_searchProjectsByProjectName_args() throw() {}
 
   std::string gatewayId;
   std::string userName;
-  std::string description;
+  std::string projectName;
 
   void __set_gatewayId(const std::string& val) {
     gatewayId = val;
@@ -2745,25 +2793,25 @@ class Airavata_searchProjectsByProjectDesc_args {
     userName = val;
   }
 
-  void __set_description(const std::string& val) {
-    description = val;
+  void __set_projectName(const std::string& val) {
+    projectName = val;
   }
 
-  bool operator == (const Airavata_searchProjectsByProjectDesc_args & rhs) const
+  bool operator == (const Airavata_searchProjectsByProjectName_args & rhs) const
   {
     if (!(gatewayId == rhs.gatewayId))
       return false;
     if (!(userName == rhs.userName))
       return false;
-    if (!(description == rhs.description))
+    if (!(projectName == rhs.projectName))
       return false;
     return true;
   }
-  bool operator != (const Airavata_searchProjectsByProjectDesc_args &rhs) const {
+  bool operator != (const Airavata_searchProjectsByProjectName_args &rhs) const {
     return !(*this == rhs);
   }
 
-  bool operator < (const Airavata_searchProjectsByProjectDesc_args & ) const;
+  bool operator < (const Airavata_searchProjectsByProjectName_args & ) const;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
@@ -2771,42 +2819,42 @@ class Airavata_searchProjectsByProjectDesc_args {
 };
 
 
-class Airavata_searchProjectsByProjectDesc_pargs {
+class Airavata_searchProjectsByProjectName_pargs {
  public:
 
 
-  virtual ~Airavata_searchProjectsByProjectDesc_pargs() throw() {}
+  virtual ~Airavata_searchProjectsByProjectName_pargs() throw() {}
 
   const std::string* gatewayId;
   const std::string* userName;
-  const std::string* description;
+  const std::string* projectName;
 
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
 };
 
-typedef struct _Airavata_searchProjectsByProjectDesc_result__isset {
-  _Airavata_searchProjectsByProjectDesc_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+typedef struct _Airavata_searchProjectsByProjectName_result__isset {
+  _Airavata_searchProjectsByProjectName_result__isset() : success(false), ire(false), ace(false), ase(false) {}
   bool success;
   bool ire;
   bool ace;
   bool ase;
-} _Airavata_searchProjectsByProjectDesc_result__isset;
+} _Airavata_searchProjectsByProjectName_result__isset;
 
-class Airavata_searchProjectsByProjectDesc_result {
+class Airavata_searchProjectsByProjectName_result {
  public:
 
-  Airavata_searchProjectsByProjectDesc_result() {
+  Airavata_searchProjectsByProjectName_result() {
   }
 
-  virtual ~Airavata_searchProjectsByProjectDesc_result() throw() {}
+  virtual ~Airavata_searchProjectsByProjectName_result() throw() {}
 
   std::vector< ::apache::airavata::model::workspace::Project>  success;
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
 
-  _Airavata_searchProjectsByProjectDesc_result__isset __isset;
+  _Airavata_searchProjectsByProjectName_result__isset __isset;
 
   void __set_success(const std::vector< ::apache::airavata::model::workspace::Project> & val) {
     success = val;
@@ -2824,7 +2872,7 @@ class Airavata_searchProjectsByProjectDesc_result {
     ase = val;
   }
 
-  bool operator == (const Airavata_searchProjectsByProjectDesc_result & rhs) const
+  bool operator == (const Airavata_searchProjectsByProjectName_result & rhs) const
   {
     if (!(success == rhs.success))
       return false;
@@ -2836,54 +2884,56 @@ class Airavata_searchProjectsByProjectDesc_result {
       return false;
     return true;
   }
-  bool operator != (const Airavata_searchProjectsByProjectDesc_result &rhs) const {
+  bool operator != (const Airavata_searchProjectsByProjectName_result &rhs) const {
     return !(*this == rhs);
   }
 
-  bool operator < (const Airavata_searchProjectsByProjectDesc_result & ) const;
+  bool operator < (const Airavata_searchProjectsByProjectName_result & ) const;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
 };
 
-typedef struct _Airavata_searchProjectsByProjectDesc_presult__isset {
-  _Airavata_searchProjectsByProjectDesc_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+typedef struct _Airavata_searchProjectsByProjectName_presult__isset {
+  _Airavata_searchProjectsByProjectName_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
   bool success;
   bool ire;
   bool ace;
   bool ase;
-} _Airavata_searchProjectsByProjectDesc_presult__isset;
+} _Airavata_searchProjectsByProjectName_presult__isset;
 
-class Airavata_searchProjectsByProjectDesc_presult {
+class Airavata_searchProjectsByProjectName_presult {
  public:
 
 
-  virtual ~Airavata_searchProjectsByProjectDesc_presult() throw() {}
+  virtual ~Airavata_searchProjectsByProjectName_presult() throw() {}
 
   std::vector< ::apache::airavata::model::workspace::Project> * success;
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
 
-  _Airavata_searchProjectsByProjectDesc_presult__isset __isset;
+  _Airavata_searchProjectsByProjectName_presult__isset __isset;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
 
 };
 
 
-class Airavata_searchExperimentsByName_args {
+class Airavata_searchProjectsByProjectNameWithPagination_args {
  public:
 
-  Airavata_searchExperimentsByName_args() : gatewayId(), userName(), expName() {
+  Airavata_searchProjectsByProjectNameWithPagination_args() : gatewayId(), userName(), projectName(), limit(0), offset(0) {
   }
 
-  virtual ~Airavata_searchExperimentsByName_args() throw() {}
+  virtual ~Airavata_searchProjectsByProjectNameWithPagination_args() throw() {}
 
   std::string gatewayId;
   std::string userName;
-  std::string expName;
+  std::string projectName;
+  int32_t limit;
+  int32_t offset;
 
   void __set_gatewayId(const std::string& val) {
     gatewayId = val;
@@ -2893,25 +2943,37 @@ class Airavata_searchExperimentsByName_args {
     userName = val;
   }
 
-  void __set_expName(const std::string& val) {
-    expName = val;
+  void __set_projectName(const std::string& val) {
+    projectName = val;
   }
 
-  bool operator == (const Airavata_searchExperimentsByName_args & rhs) const
+  void __set_limit(const int32_t val) {
+    limit = val;
+  }
+
+  void __set_offset(const int32_t val) {
+    offset = val;
+  }
+
+  bool operator == (const Airavata_searchProjectsByProjectNameWithPagination_args & rhs) const
   {
     if (!(gatewayId == rhs.gatewayId))
       return false;
     if (!(userName == rhs.userName))
       return false;
-    if (!(expName == rhs.expName))
+    if (!(projectName == rhs.projectName))
+      return false;
+    if (!(limit == rhs.limit))
+      return false;
+    if (!(offset == rhs.offset))
       return false;
     return true;
   }
-  bool operator != (const Airavata_searchExperimentsByName_args &rhs) const {
+  bool operator != (const Airavata_searchProjectsByProjectNameWithPagination_args &rhs) const {
     return !(*this == rhs);
   }
 
-  bool operator < (const Airavata_searchExperimentsByName_args & ) const;
+  bool operator < (const Airavata_searchProjectsByProjectNameWithPagination_args & ) const;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
@@ -2919,44 +2981,46 @@ class Airavata_searchExperimentsByName_args {
 };
 
 
-class Airavata_searchExperimentsByName_pargs {
+class Airavata_searchProjectsByProjectNameWithPagination_pargs {
  public:
 
 
-  virtual ~Airavata_searchExperimentsByName_pargs() throw() {}
+  virtual ~Airavata_searchProjectsByProjectNameWithPagination_pargs() throw() {}
 
   const std::string* gatewayId;
   const std::string* userName;
-  const std::string* expName;
+  const std::string* projectName;
+  const int32_t* limit;
+  const int32_t* offset;
 
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
 };
 
-typedef struct _Airavata_searchExperimentsByName_result__isset {
-  _Airavata_searchExperimentsByName_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+typedef struct _Airavata_searchProjectsByProjectNameWithPagination_result__isset {
+  _Airavata_searchProjectsByProjectNameWithPagination_result__isset() : success(false), ire(false), ace(false), ase(false) {}
   bool success;
   bool ire;
   bool ace;
   bool ase;
-} _Airavata_searchExperimentsByName_result__isset;
+} _Airavata_searchProjectsByProjectNameWithPagination_result__isset;
 
-class Airavata_searchExperimentsByName_result {
+class Airavata_searchProjectsByProjectNameWithPagination_result {
  public:
 
-  Airavata_searchExperimentsByName_result() {
+  Airavata_searchProjectsByProjectNameWithPagination_result() {
   }
 
-  virtual ~Airavata_searchExperimentsByName_result() throw() {}
+  virtual ~Airavata_searchProjectsByProjectNameWithPagination_result() throw() {}
 
-  std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary>  success;
+  std::vector< ::apache::airavata::model::workspace::Project>  success;
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
 
-  _Airavata_searchExperimentsByName_result__isset __isset;
+  _Airavata_searchProjectsByProjectNameWithPagination_result__isset __isset;
 
-  void __set_success(const std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & val) {
+  void __set_success(const std::vector< ::apache::airavata::model::workspace::Project> & val) {
     success = val;
   }
 
@@ -2972,7 +3036,7 @@ class Airavata_searchExperimentsByName_result {
     ase = val;
   }
 
-  bool operator == (const Airavata_searchExperimentsByName_result & rhs) const
+  bool operator == (const Airavata_searchProjectsByProjectNameWithPagination_result & rhs) const
   {
     if (!(success == rhs.success))
       return false;
@@ -2984,50 +3048,50 @@ class Airavata_searchExperimentsByName_result {
       return false;
     return true;
   }
-  bool operator != (const Airavata_searchExperimentsByName_result &rhs) const {
+  bool operator != (const Airavata_searchProjectsByProjectNameWithPagination_result &rhs) const {
     return !(*this == rhs);
   }
 
-  bool operator < (const Airavata_searchExperimentsByName_result & ) const;
+  bool operator < (const Airavata_searchProjectsByProjectNameWithPagination_result & ) const;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
 };
 
-typedef struct _Airavata_searchExperimentsByName_presult__isset {
-  _Airavata_searchExperimentsByName_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+typedef struct _Airavata_searchProjectsByProjectNameWithPagination_presult__isset {
+  _Airavata_searchProjectsByProjectNameWithPagination_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
   bool success;
   bool ire;
   bool ace;
   bool ase;
-} _Airavata_searchExperimentsByName_presult__isset;
+} _Airavata_searchProjectsByProjectNameWithPagination_presult__isset;
 
-class Airavata_searchExperimentsByName_presult {
+class Airavata_searchProjectsByProjectNameWithPagination_presult {
  public:
 
 
-  virtual ~Airavata_searchExperimentsByName_presult() throw() {}
+  virtual ~Airavata_searchProjectsByProjectNameWithPagination_presult() throw() {}
 
-  std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> * success;
+  std::vector< ::apache::airavata::model::workspace::Project> * success;
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
 
-  _Airavata_searchExperimentsByName_presult__isset __isset;
+  _Airavata_searchProjectsByProjectNameWithPagination_presult__isset __isset;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
 
 };
 
 
-class Airavata_searchExperimentsByDesc_args {
+class Airavata_searchProjectsByProjectDesc_args {
  public:
 
-  Airavata_searchExperimentsByDesc_args() : gatewayId(), userName(), description() {
+  Airavata_searchProjectsByProjectDesc_args() : gatewayId(), userName(), description() {
   }
 
-  virtual ~Airavata_searchExperimentsByDesc_args() throw() {}
+  virtual ~Airavata_searchProjectsByProjectDesc_args() throw() {}
 
   std::string gatewayId;
   std::string userName;
@@ -3045,7 +3109,7 @@ class Airavata_searchExperimentsByDesc_args {
     description = val;
   }
 
-  bool operator == (const Airavata_searchExperimentsByDesc_args & rhs) const
+  bool operator == (const Airavata_searchProjectsByProjectDesc_args & rhs) const
   {
     if (!(gatewayId == rhs.gatewayId))
       return false;
@@ -3055,11 +3119,11 @@ class Airavata_searchExperimentsByDesc_args {
       return false;
     return true;
   }
-  bool operator != (const Airavata_searchExperimentsByDesc_args &rhs) const {
+  bool operator != (const Airavata_searchProjectsByProjectDesc_args &rhs) const {
     return !(*this == rhs);
   }
 
-  bool operator < (const Airavata_searchExperimentsByDesc_args & ) const;
+  bool operator < (const Airavata_searchProjectsByProjectDesc_args & ) const;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
@@ -3067,11 +3131,11 @@ class Airavata_searchExperimentsByDesc_args {
 };
 
 
-class Airavata_searchExperimentsByDesc_pargs {
+class Airavata_searchProjectsByProjectDesc_pargs {
  public:
 
 
-  virtual ~Airavata_searchExperimentsByDesc_pargs() throw() {}
+  virtual ~Airavata_searchProjectsByProjectDesc_pargs() throw() {}
 
   const std::string* gatewayId;
   const std::string* userName;
@@ -3081,30 +3145,30 @@ class Airavata_searchExperimentsByDesc_pargs {
 
 };
 
-typedef struct _Airavata_searchExperimentsByDesc_result__isset {
-  _Airavata_searchExperimentsByDesc_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+typedef struct _Airavata_searchProjectsByProjectDesc_result__isset {
+  _Airavata_searchProjectsByProjectDesc_result__isset() : success(false), ire(false), ace(false), ase(false) {}
   bool success;
   bool ire;
   bool ace;
   bool ase;
-} _Airavata_searchExperimentsByDesc_result__isset;
+} _Airavata_searchProjectsByProjectDesc_result__isset;
 
-class Airavata_searchExperimentsByDesc_result {
+class Airavata_searchProjectsByProjectDesc_result {
  public:
 
-  Airavata_searchExperimentsByDesc_result() {
+  Airavata_searchProjectsByProjectDesc_result() {
   }
 
-  virtual ~Airavata_searchExperimentsByDesc_result() throw() {}
+  virtual ~Airavata_searchProjectsByProjectDesc_result() throw() {}
 
-  std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary>  success;
+  std::vector< ::apache::airavata::model::workspace::Project>  success;
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
 
-  _Airavata_searchExperimentsByDesc_result__isset __isset;
+  _Airavata_searchProjectsByProjectDesc_result__isset __isset;
 
-  void __set_success(const std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & val) {
+  void __set_success(const std::vector< ::apache::airavata::model::workspace::Project> & val) {
     success = val;
   }
 
@@ -3120,7 +3184,7 @@ class Airavata_searchExperimentsByDesc_result {
     ase = val;
   }
 
-  bool operator == (const Airavata_searchExperimentsByDesc_result & rhs) const
+  bool operator == (const Airavata_searchProjectsByProjectDesc_result & rhs) const
   {
     if (!(success == rhs.success))
       return false;
@@ -3132,54 +3196,56 @@ class Airavata_searchExperimentsByDesc_result {
       return false;
     return true;
   }
-  bool operator != (const Airavata_searchExperimentsByDesc_result &rhs) const {
+  bool operator != (const Airavata_searchProjectsByProjectDesc_result &rhs) const {
     return !(*this == rhs);
   }
 
-  bool operator < (const Airavata_searchExperimentsByDesc_result & ) const;
+  bool operator < (const Airavata_searchProjectsByProjectDesc_result & ) const;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
 };
 
-typedef struct _Airavata_searchExperimentsByDesc_presult__isset {
-  _Airavata_searchExperimentsByDesc_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+typedef struct _Airavata_searchProjectsByProjectDesc_presult__isset {
+  _Airavata_searchProjectsByProjectDesc_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
   bool success;
   bool ire;
   bool ace;
   bool ase;
-} _Airavata_searchExperimentsByDesc_presult__isset;
+} _Airavata_searchProjectsByProjectDesc_presult__isset;
 
-class Airavata_searchExperimentsByDesc_presult {
+class Airavata_searchProjectsByProjectDesc_presult {
  public:
 
 
-  virtual ~Airavata_searchExperimentsByDesc_presult() throw() {}
+  virtual ~Airavata_searchProjectsByProjectDesc_presult() throw() {}
 
-  std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> * success;
+  std::vector< ::apache::airavata::model::workspace::Project> * success;
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
 
-  _Airavata_searchExperimentsByDesc_presult__isset __isset;
+  _Airavata_searchProjectsByProjectDesc_presult__isset __isset;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
 
 };
 
 
-class Airavata_searchExperimentsByApplication_args {
+class Airavata_searchProjectsByProjectDescWithPagination_args {
  public:
 
-  Airavata_searchExperimentsByApplication_args() : gatewayId(), userName(), applicationId() {
+  Airavata_searchProjectsByProjectDescWithPagination_args() : gatewayId(), userName(), description(), limit(0), offset(0) {
   }
 
-  virtual ~Airavata_searchExperimentsByApplication_args() throw() {}
+  virtual ~Airavata_searchProjectsByProjectDescWithPagination_args() throw() {}
 
   std::string gatewayId;
   std::string userName;
-  std::string applicationId;
+  std::string description;
+  int32_t limit;
+  int32_t offset;
 
   void __set_gatewayId(const std::string& val) {
     gatewayId = val;
@@ -3189,25 +3255,37 @@ class Airavata_searchExperimentsByApplication_args {
     userName = val;
   }
 
-  void __set_applicationId(const std::string& val) {
-    applicationId = val;
+  void __set_description(const std::string& val) {
+    description = val;
   }
 
-  bool operator == (const Airavata_searchExperimentsByApplication_args & rhs) const
+  void __set_limit(const int32_t val) {
+    limit = val;
+  }
+
+  void __set_offset(const int32_t val) {
+    offset = val;
+  }
+
+  bool operator == (const Airavata_searchProjectsByProjectDescWithPagination_args & rhs) const
   {
     if (!(gatewayId == rhs.gatewayId))
       return false;
     if (!(userName == rhs.userName))
       return false;
-    if (!(applicationId == rhs.applicationId))
+    if (!(description == rhs.description))
+      return false;
+    if (!(limit == rhs.limit))
+      return false;
+    if (!(offset == rhs.offset))
       return false;
     return true;
   }
-  bool operator != (const Airavata_searchExperimentsByApplication_args &rhs) const {
+  bool operator != (const Airavata_searchProjectsByProjectDescWithPagination_args &rhs) const {
     return !(*this == rhs);
   }
 
-  bool operator < (const Airavata_searchExperimentsByApplication_args & ) const;
+  bool operator < (const Airavata_searchProjectsByProjectDescWithPagination_args & ) const;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
@@ -3215,44 +3293,46 @@ class Airavata_searchExperimentsByApplication_args {
 };
 
 
-class Airavata_searchExperimentsByApplication_pargs {
+class Airavata_searchProjectsByProjectDescWithPagination_pargs {
  public:
 
 
-  virtual ~Airavata_searchExperimentsByApplication_pargs() throw() {}
+  virtual ~Airavata_searchProjectsByProjectDescWithPagination_pargs() throw() {}
 
   const std::string* gatewayId;
   const std::string* userName;
-  const std::string* applicationId;
+  const std::string* description;
+  const int32_t* limit;
+  const int32_t* offset;
 
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
 };
 
-typedef struct _Airavata_searchExperimentsByApplication_result__isset {
-  _Airavata_searchExperimentsByApplication_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+typedef struct _Airavata_searchProjectsByProjectDescWithPagination_result__isset {
+  _Airavata_searchProjectsByProjectDescWithPagination_result__isset() : success(false), ire(false), ace(false), ase(false) {}
   bool success;
   bool ire;
   bool ace;
   bool ase;
-} _Airavata_searchExperimentsByApplication_result__isset;
+} _Airavata_searchProjectsByProjectDescWithPagination_result__isset;
 
-class Airavata_searchExperimentsByApplication_result {
+class Airavata_searchProjectsByProjectDescWithPagination_result {
  public:
 
-  Airavata_searchExperimentsByApplication_result() {
+  Airavata_searchProjectsByProjectDescWithPagination_result() {
   }
 
-  virtual ~Airavata_searchExperimentsByApplication_result() throw() {}
+  virtual ~Airavata_searchProjectsByProjectDescWithPagination_result() throw() {}
 
-  std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary>  success;
+  std::vector< ::apache::airavata::model::workspace::Project>  success;
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
 
-  _Airavata_searchExperimentsByApplication_result__isset __isset;
+  _Airavata_searchProjectsByProjectDescWithPagination_result__isset __isset;
 
-  void __set_success(const std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & val) {
+  void __set_success(const std::vector< ::apache::airavata::model::workspace::Project> & val) {
     success = val;
   }
 
@@ -3268,7 +3348,7 @@ class Airavata_searchExperimentsByApplication_result {
     ase = val;
   }
 
-  bool operator == (const Airavata_searchExperimentsByApplication_result & rhs) const
+  bool operator == (const Airavata_searchProjectsByProjectDescWithPagination_result & rhs) const
   {
     if (!(success == rhs.success))
       return false;
@@ -3280,37 +3360,973 @@ class Airavata_searchExperimentsByApplication_result {
       return false;
     return true;
   }
-  bool operator != (const Airavata_searchExperimentsByApplication_result &rhs) const {
+  bool operator != (const Airavata_searchProjectsByProjectDescWithPagination_result &rhs) const {
     return !(*this == rhs);
   }
 
-  bool operator < (const Airavata_searchExperimentsByApplication_result & ) const;
+  bool operator < (const Airavata_searchProjectsByProjectDescWithPagination_result & ) const;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
 
 };
 
-typedef struct _Airavata_searchExperimentsByApplication_presult__isset {
-  _Airavata_searchExperimentsByApplication_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+typedef struct _Airavata_searchProjectsByProjectDescWithPagination_presult__isset {
+  _Airavata_searchProjectsByProjectDescWithPagination_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
   bool success;
   bool ire;
   bool ace;
   bool ase;
-} _Airavata_searchExperimentsByApplication_presult__isset;
+} _Airavata_searchProjectsByProjectDescWithPagination_presult__isset;
 
-class Airavata_searchExperimentsByApplication_presult {
+class Airavata_searchProjectsByProjectDescWithPagination_presult {
  public:
 
 
-  virtual ~Airavata_searchExperimentsByApplication_presult() throw() {}
+  virtual ~Airavata_searchProjectsByProjectDescWithPagination_presult() throw() {}
 
-  std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> * success;
+  std::vector< ::apache::airavata::model::workspace::Project> * success;
    ::apache::airavata::api::error::InvalidRequestException ire;
    ::apache::airavata::api::error::AiravataClientException ace;
    ::apache::airavata::api::error::AiravataSystemException ase;
 
-  _Airavata_searchExperimentsByApplication_presult__isset __isset;
+  _Airavata_searchProjectsByProjectDescWithPagination_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_searchExperimentsByName_args {
+ public:
+
+  Airavata_searchExperimentsByName_args() : gatewayId(), userName(), expName() {
+  }
+
+  virtual ~Airavata_searchExperimentsByName_args() throw() {}
+
+  std::string gatewayId;
+  std::string userName;
+  std::string expName;
+
+  void __set_gatewayId(const std::string& val) {
+    gatewayId = val;
+  }
+
+  void __set_userName(const std::string& val) {
+    userName = val;
+  }
+
+  void __set_expName(const std::string& val) {
+    expName = val;
+  }
+
+  bool operator == (const Airavata_searchExperimentsByName_args & rhs) const
+  {
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
+    if (!(userName == rhs.userName))
+      return false;
+    if (!(expName == rhs.expName))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_searchExperimentsByName_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_searchExperimentsByName_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_searchExperimentsByName_pargs {
+ public:
+
+
+  virtual ~Airavata_searchExperimentsByName_pargs() throw() {}
+
+  const std::string* gatewayId;
+  const std::string* userName;
+  const std::string* expName;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_searchExperimentsByName_result__isset {
+  _Airavata_searchExperimentsByName_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+  bool success;
+  bool ire;
+  bool ace;
+  bool ase;
+} _Airavata_searchExperimentsByName_result__isset;
+
+class Airavata_searchExperimentsByName_result {
+ public:
+
+  Airavata_searchExperimentsByName_result() {
+  }
+
+  virtual ~Airavata_searchExperimentsByName_result() throw() {}
+
+  std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary>  success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_searchExperimentsByName_result__isset __isset;
+
+  void __set_success(const std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & val) {
+    success = val;
+  }
+
+  void __set_ire(const  ::apache::airavata::api::error::InvalidRequestException& val) {
+    ire = val;
+  }
+
+  void __set_ace(const  ::apache::airavata::api::error::AiravataClientException& val) {
+    ace = val;
+  }
+
+  void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val) {
+    ase = val;
+  }
+
+  bool operator == (const Airavata_searchExperimentsByName_result & rhs) const
+  {
+    if (!(success == rhs.success))
+      return false;
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_searchExperimentsByName_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_searchExperimentsByName_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_searchExperimentsByName_presult__isset {
+  _Airavata_searchExperimentsByName_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+  bool success;
+  bool ire;
+  bool ace;
+  bool ase;
+} _Airavata_searchExperimentsByName_presult__isset;
+
+class Airavata_searchExperimentsByName_presult {
+ public:
+
+
+  virtual ~Airavata_searchExperimentsByName_presult() throw() {}
+
+  std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> * success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_searchExperimentsByName_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_searchExperimentsByNameWithPagination_args {
+ public:
+
+  Airavata_searchExperimentsByNameWithPagination_args() : gatewayId(), userName(), expName(), limit(0), offset(0) {
+  }
+
+  virtual ~Airavata_searchExperimentsByNameWithPagination_args() throw() {}
+
+  std::string gatewayId;
+  std::string userName;
+  std::string expName;
+  int32_t limit;
+  int32_t offset;
+
+  void __set_gatewayId(const std::string& val) {
+    gatewayId = val;
+  }
+
+  void __set_userName(const std::string& val) {
+    userName = val;
+  }
+
+  void __set_expName(const std::string& val) {
+    expName = val;
+  }
+
+  void __set_limit(const int32_t val) {
+    limit = val;
+  }
+
+  void __set_offset(const int32_t val) {
+    offset = val;
+  }
+
+  bool operator == (const Airavata_searchExperimentsByNameWithPagination_args & rhs) const
+  {
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
+    if (!(userName == rhs.userName))
+      return false;
+    if (!(expName == rhs.expName))
+      return false;
+    if (!(limit == rhs.limit))
+      return false;
+    if (!(offset == rhs.offset))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_searchExperimentsByNameWithPagination_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_searchExperimentsByNameWithPagination_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_searchExperimentsByNameWithPagination_pargs {
+ public:
+
+
+  virtual ~Airavata_searchExperimentsByNameWithPagination_pargs() throw() {}
+
+  const std::string* gatewayId;
+  const std::string* userName;
+  const std::string* expName;
+  const int32_t* limit;
+  const int32_t* offset;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_searchExperimentsByNameWithPagination_result__isset {
+  _Airavata_searchExperimentsByNameWithPagination_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+  bool success;
+  bool ire;
+  bool ace;
+  bool ase;
+} _Airavata_searchExperimentsByNameWithPagination_result__isset;
+
+class Airavata_searchExperimentsByNameWithPagination_result {
+ public:
+
+  Airavata_searchExperimentsByNameWithPagination_result() {
+  }
+
+  virtual ~Airavata_searchExperimentsByNameWithPagination_result() throw() {}
+
+  std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary>  success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_searchExperimentsByNameWithPagination_result__isset __isset;
+
+  void __set_success(const std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & val) {
+    success = val;
+  }
+
+  void __set_ire(const  ::apache::airavata::api::error::InvalidRequestException& val) {
+    ire = val;
+  }
+
+  void __set_ace(const  ::apache::airavata::api::error::AiravataClientException& val) {
+    ace = val;
+  }
+
+  void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val) {
+    ase = val;
+  }
+
+  bool operator == (const Airavata_searchExperimentsByNameWithPagination_result & rhs) const
+  {
+    if (!(success == rhs.success))
+      return false;
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_searchExperimentsByNameWithPagination_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_searchExperimentsByNameWithPagination_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_searchExperimentsByNameWithPagination_presult__isset {
+  _Airavata_searchExperimentsByNameWithPagination_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+  bool success;
+  bool ire;
+  bool ace;
+  bool ase;
+} _Airavata_searchExperimentsByNameWithPagination_presult__isset;
+
+class Airavata_searchExperimentsByNameWithPagination_presult {
+ public:
+
+
+  virtual ~Airavata_searchExperimentsByNameWithPagination_presult() throw() {}
+
+  std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> * success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_searchExperimentsByNameWithPagination_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_searchExperimentsByDesc_args {
+ public:
+
+  Airavata_searchExperimentsByDesc_args() : gatewayId(), userName(), description() {
+  }
+
+  virtual ~Airavata_searchExperimentsByDesc_args() throw() {}
+
+  std::string gatewayId;
+  std::string userName;
+  std::string description;
+
+  void __set_gatewayId(const std::string& val) {
+    gatewayId = val;
+  }
+
+  void __set_userName(const std::string& val) {
+    userName = val;
+  }
+
+  void __set_description(const std::string& val) {
+    description = val;
+  }
+
+  bool operator == (const Airavata_searchExperimentsByDesc_args & rhs) const
+  {
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
+    if (!(userName == rhs.userName))
+      return false;
+    if (!(description == rhs.description))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_searchExperimentsByDesc_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_searchExperimentsByDesc_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_searchExperimentsByDesc_pargs {
+ public:
+
+
+  virtual ~Airavata_searchExperimentsByDesc_pargs() throw() {}
+
+  const std::string* gatewayId;
+  const std::string* userName;
+  const std::string* description;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_searchExperimentsByDesc_result__isset {
+  _Airavata_searchExperimentsByDesc_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+  bool success;
+  bool ire;
+  bool ace;
+  bool ase;
+} _Airavata_searchExperimentsByDesc_result__isset;
+
+class Airavata_searchExperimentsByDesc_result {
+ public:
+
+  Airavata_searchExperimentsByDesc_result() {
+  }
+
+  virtual ~Airavata_searchExperimentsByDesc_result() throw() {}
+
+  std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary>  success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_searchExperimentsByDesc_result__isset __isset;
+
+  void __set_success(const std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & val) {
+    success = val;
+  }
+
+  void __set_ire(const  ::apache::airavata::api::error::InvalidRequestException& val) {
+    ire = val;
+  }
+
+  void __set_ace(const  ::apache::airavata::api::error::AiravataClientException& val) {
+    ace = val;
+  }
+
+  void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val) {
+    ase = val;
+  }
+
+  bool operator == (const Airavata_searchExperimentsByDesc_result & rhs) const
+  {
+    if (!(success == rhs.success))
+      return false;
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_searchExperimentsByDesc_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_searchExperimentsByDesc_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_searchExperimentsByDesc_presult__isset {
+  _Airavata_searchExperimentsByDesc_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+  bool success;
+  bool ire;
+  bool ace;
+  bool ase;
+} _Airavata_searchExperimentsByDesc_presult__isset;
+
+class Airavata_searchExperimentsByDesc_presult {
+ public:
+
+
+  virtual ~Airavata_searchExperimentsByDesc_presult() throw() {}
+
+  std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> * success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_searchExperimentsByDesc_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_searchExperimentsByDescWithPagination_args {
+ public:
+
+  Airavata_searchExperimentsByDescWithPagination_args() : gatewayId(), userName(), description(), limit(0), offset(0) {
+  }
+
+  virtual ~Airavata_searchExperimentsByDescWithPagination_args() throw() {}
+
+  std::string gatewayId;
+  std::string userName;
+  std::string description;
+  int32_t limit;
+  int32_t offset;
+
+  void __set_gatewayId(const std::string& val) {
+    gatewayId = val;
+  }
+
+  void __set_userName(const std::string& val) {
+    userName = val;
+  }
+
+  void __set_description(const std::string& val) {
+    description = val;
+  }
+
+  void __set_limit(const int32_t val) {
+    limit = val;
+  }
+
+  void __set_offset(const int32_t val) {
+    offset = val;
+  }
+
+  bool operator == (const Airavata_searchExperimentsByDescWithPagination_args & rhs) const
+  {
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
+    if (!(userName == rhs.userName))
+      return false;
+    if (!(description == rhs.description))
+      return false;
+    if (!(limit == rhs.limit))
+      return false;
+    if (!(offset == rhs.offset))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_searchExperimentsByDescWithPagination_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_searchExperimentsByDescWithPagination_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_searchExperimentsByDescWithPagination_pargs {
+ public:
+
+
+  virtual ~Airavata_searchExperimentsByDescWithPagination_pargs() throw() {}
+
+  const std::string* gatewayId;
+  const std::string* userName;
+  const std::string* description;
+  const int32_t* limit;
+  const int32_t* offset;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_searchExperimentsByDescWithPagination_result__isset {
+  _Airavata_searchExperimentsByDescWithPagination_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+  bool success;
+  bool ire;
+  bool ace;
+  bool ase;
+} _Airavata_searchExperimentsByDescWithPagination_result__isset;
+
+class Airavata_searchExperimentsByDescWithPagination_result {
+ public:
+
+  Airavata_searchExperimentsByDescWithPagination_result() {
+  }
+
+  virtual ~Airavata_searchExperimentsByDescWithPagination_result() throw() {}
+
+  std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary>  success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_searchExperimentsByDescWithPagination_result__isset __isset;
+
+  void __set_success(const std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & val) {
+    success = val;
+  }
+
+  void __set_ire(const  ::apache::airavata::api::error::InvalidRequestException& val) {
+    ire = val;
+  }
+
+  void __set_ace(const  ::apache::airavata::api::error::AiravataClientException& val) {
+    ace = val;
+  }
+
+  void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val) {
+    ase = val;
+  }
+
+  bool operator == (const Airavata_searchExperimentsByDescWithPagination_result & rhs) const
+  {
+    if (!(success == rhs.success))
+      return false;
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_searchExperimentsByDescWithPagination_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_searchExperimentsByDescWithPagination_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_searchExperimentsByDescWithPagination_presult__isset {
+  _Airavata_searchExperimentsByDescWithPagination_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+  bool success;
+  bool ire;
+  bool ace;
+  bool ase;
+} _Airavata_searchExperimentsByDescWithPagination_presult__isset;
+
+class Airavata_searchExperimentsByDescWithPagination_presult {
+ public:
+
+
+  virtual ~Airavata_searchExperimentsByDescWithPagination_presult() throw() {}
+
+  std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> * success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_searchExperimentsByDescWithPagination_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_searchExperimentsByApplication_args {
+ public:
+
+  Airavata_searchExperimentsByApplication_args() : gatewayId(), userName(), applicationId() {
+  }
+
+  virtual ~Airavata_searchExperimentsByApplication_args() throw() {}
+
+  std::string gatewayId;
+  std::string userName;
+  std::string applicationId;
+
+  void __set_gatewayId(const std::string& val) {
+    gatewayId = val;
+  }
+
+  void __set_userName(const std::string& val) {
+    userName = val;
+  }
+
+  void __set_applicationId(const std::string& val) {
+    applicationId = val;
+  }
+
+  bool operator == (const Airavata_searchExperimentsByApplication_args & rhs) const
+  {
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
+    if (!(userName == rhs.userName))
+      return false;
+    if (!(applicationId == rhs.applicationId))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_searchExperimentsByApplication_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_searchExperimentsByApplication_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_searchExperimentsByApplication_pargs {
+ public:
+
+
+  virtual ~Airavata_searchExperimentsByApplication_pargs() throw() {}
+
+  const std::string* gatewayId;
+  const std::string* userName;
+  const std::string* applicationId;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_searchExperimentsByApplication_result__isset {
+  _Airavata_searchExperimentsByApplication_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+  bool success;
+  bool ire;
+  bool ace;
+  bool ase;
+} _Airavata_searchExperimentsByApplication_result__isset;
+
+class Airavata_searchExperimentsByApplication_result {
+ public:
+
+  Airavata_searchExperimentsByApplication_result() {
+  }
+
+  virtual ~Airavata_searchExperimentsByApplication_result() throw() {}
+
+  std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary>  success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_searchExperimentsByApplication_result__isset __isset;
+
+  void __set_success(const std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & val) {
+    success = val;
+  }
+
+  void __set_ire(const  ::apache::airavata::api::error::InvalidRequestException& val) {
+    ire = val;
+  }
+
+  void __set_ace(const  ::apache::airavata::api::error::AiravataClientException& val) {
+    ace = val;
+  }
+
+  void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val) {
+    ase = val;
+  }
+
+  bool operator == (const Airavata_searchExperimentsByApplication_result & rhs) const
+  {
+    if (!(success == rhs.success))
+      return false;
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_searchExperimentsByApplication_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_searchExperimentsByApplication_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_searchExperimentsByApplication_presult__isset {
+  _Airavata_searchExperimentsByApplication_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+  bool success;
+  bool ire;
+  bool ace;
+  bool ase;
+} _Airavata_searchExperimentsByApplication_presult__isset;
+
+class Airavata_searchExperimentsByApplication_presult {
+ public:
+
+
+  virtual ~Airavata_searchExperimentsByApplication_presult() throw() {}
+
+  std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> * success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_searchExperimentsByApplication_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_searchExperimentsByApplicationWithPagination_args {
+ public:
+
+  Airavata_searchExperimentsByApplicationWithPagination_args() : gatewayId(), userName(), applicationId(), limit(0), offset(0) {
+  }
+
+  virtual ~Airavata_searchExperimentsByApplicationWithPagination_args() throw() {}
+
+  std::string gatewayId;
+  std::string userName;
+  std::string applicationId;
+  int32_t limit;
+  int32_t offset;
+
+  void __set_gatewayId(const std::string& val) {
+    gatewayId = val;
+  }
+
+  void __set_userName(const std::string& val) {
+    userName = val;
+  }
+
+  void __set_applicationId(const std::string& val) {
+    applicationId = val;
+  }
+
+  void __set_limit(const int32_t val) {
+    limit = val;
+  }
+
+  void __set_offset(const int32_t val) {
+    offset = val;
+  }
+
+  bool operator == (const Airavata_searchExperimentsByApplicationWithPagination_args & rhs) const
+  {
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
+    if (!(userName == rhs.userName))
+      return false;
+    if (!(applicationId == rhs.applicationId))
+      return false;
+    if (!(limit == rhs.limit))
+      return false;
+    if (!(offset == rhs.offset))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_searchExperimentsByApplicationWithPagination_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_searchExperimentsByApplicationWithPagination_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_searchExperimentsByApplicationWithPagination_pargs {
+ public:
+
+
+  virtual ~Airavata_searchExperimentsByApplicationWithPagination_pargs() throw() {}
+
+  const std::string* gatewayId;
+  const std::string* userName;
+  const std::string* applicationId;
+  const int32_t* limit;
+  const int32_t* offset;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_searchExperimentsByApplicationWithPagination_result__isset {
+  _Airavata_searchExperimentsByApplicationWithPagination_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+  bool success;
+  bool ire;
+  bool ace;
+  bool ase;
+} _Airavata_searchExperimentsByApplicationWithPagination_result__isset;
+
+class Airavata_searchExperimentsByApplicationWithPagination_result {
+ public:
+
+  Airavata_searchExperimentsByApplicationWithPagination_result() {
+  }
+
+  virtual ~Airavata_searchExperimentsByApplicationWithPagination_result() throw() {}
+
+  std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary>  success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_searchExperimentsByApplicationWithPagination_result__isset __isset;
+
+  void __set_success(const std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & val) {
+    success = val;
+  }
+
+  void __set_ire(const  ::apache::airavata::api::error::InvalidRequestException& val) {
+    ire = val;
+  }
+
+  void __set_ace(const  ::apache::airavata::api::error::AiravataClientException& val) {
+    ace = val;
+  }
+
+  void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val) {
+    ase = val;
+  }
+
+  bool operator == (const Airavata_searchExperimentsByApplicationWithPagination_result & rhs) const
+  {
+    if (!(success == rhs.success))
+      return false;
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_searchExperimentsByApplicationWithPagination_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_searchExperimentsByApplicationWithPagination_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_searchExperimentsByApplicationWithPagination_presult__isset {
+  _Airavata_searchExperimentsByApplicationWithPagination_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+  bool success;
+  bool ire;
+  bool ace;
+  bool ase;
+} _Airavata_searchExperimentsByApplicationWithPagination_presult__isset;
+
+class Airavata_searchExperimentsByApplicationWithPagination_presult {
+ public:
+
+
+  virtual ~Airavata_searchExperimentsByApplicationWithPagination_presult() throw() {}
+
+  std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> * success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_searchExperimentsByApplicationWithPagination_presult__isset __isset;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
 
@@ -3320,14 +4336,485 @@ class Airavata_searchExperimentsByApplication_presult {
 class Airavata_searchExperimentsByStatus_args {
  public:
 
-  Airavata_searchExperimentsByStatus_args() : gatewayId(), userName(), experimentState(( ::apache::airavata::model::workspace::experiment::ExperimentState::type)0) {
+  Airavata_searchExperimentsByStatus_args() : gatewayId(), userName(), experimentState(( ::apache::airavata::model::workspace::experiment::ExperimentState::type)0) {
+  }
+
+  virtual ~Airavata_searchExperimentsByStatus_args() throw() {}
+
+  std::string gatewayId;
+  std::string userName;
+   ::apache::airavata::model::workspace::experiment::ExperimentState::type experimentState;
+
+  void __set_gatewayId(const std::string& val) {
+    gatewayId = val;
+  }
+
+  void __set_userName(const std::string& val) {
+    userName = val;
+  }
+
+  void __set_experimentState(const  ::apache::airavata::model::workspace::experiment::ExperimentState::type val) {
+    experimentState = val;
+  }
+
+  bool operator == (const Airavata_searchExperimentsByStatus_args & rhs) const
+  {
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
+    if (!(userName == rhs.userName))
+      return false;
+    if (!(experimentState == rhs.experimentState))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_searchExperimentsByStatus_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_searchExperimentsByStatus_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_searchExperimentsByStatus_pargs {
+ public:
+
+
+  virtual ~Airavata_searchExperimentsByStatus_pargs() throw() {}
+
+  const std::string* gatewayId;
+  const std::string* userName;
+  const  ::apache::airavata::model::workspace::experiment::ExperimentState::type* experimentState;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_searchExperimentsByStatus_result__isset {
+  _Airavata_searchExperimentsByStatus_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+  bool success;
+  bool ire;
+  bool ace;
+  bool ase;
+} _Airavata_searchExperimentsByStatus_result__isset;
+
+class Airavata_searchExperimentsByStatus_result {
+ public:
+
+  Airavata_searchExperimentsByStatus_result() {
+  }
+
+  virtual ~Airavata_searchExperimentsByStatus_result() throw() {}
+
+  std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary>  success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_searchExperimentsByStatus_result__isset __isset;
+
+  void __set_success(const std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & val) {
+    success = val;
+  }
+
+  void __set_ire(const  ::apache::airavata::api::error::InvalidRequestException& val) {
+    ire = val;
+  }
+
+  void __set_ace(const  ::apache::airavata::api::error::AiravataClientException& val) {
+    ace = val;
+  }
+
+  void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val) {
+    ase = val;
+  }
+
+  bool operator == (const Airavata_searchExperimentsByStatus_result & rhs) const
+  {
+    if (!(success == rhs.success))
+      return false;
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_searchExperimentsByStatus_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_searchExperimentsByStatus_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_searchExperimentsByStatus_presult__isset {
+  _Airavata_searchExperimentsByStatus_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+  bool success;
+  bool ire;
+  bool ace;
+  bool ase;
+} _Airavata_searchExperimentsByStatus_presult__isset;
+
+class Airavata_searchExperimentsByStatus_presult {
+ public:
+
+
+  virtual ~Airavata_searchExperimentsByStatus_presult() throw() {}
+
+  std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> * success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_searchExperimentsByStatus_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_searchExperimentsByStatusWithPagination_args {
+ public:
+
+  Airavata_searchExperimentsByStatusWithPagination_args() : gatewayId(), userName(), experimentState(( ::apache::airavata::model::workspace::experiment::ExperimentState::type)0), limit(0), offset(0) {
+  }
+
+  virtual ~Airavata_searchExperimentsByStatusWithPagination_args() throw() {}
+
+  std::string gatewayId;
+  std::string userName;
+   ::apache::airavata::model::workspace::experiment::ExperimentState::type experimentState;
+  int32_t limit;
+  int32_t offset;
+
+  void __set_gatewayId(const std::string& val) {
+    gatewayId = val;
+  }
+
+  void __set_userName(const std::string& val) {
+    userName = val;
+  }
+
+  void __set_experimentState(const  ::apache::airavata::model::workspace::experiment::ExperimentState::type val) {
+    experimentState = val;
+  }
+
+  void __set_limit(const int32_t val) {
+    limit = val;
+  }
+
+  void __set_offset(const int32_t val) {
+    offset = val;
+  }
+
+  bool operator == (const Airavata_searchExperimentsByStatusWithPagination_args & rhs) const
+  {
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
+    if (!(userName == rhs.userName))
+      return false;
+    if (!(experimentState == rhs.experimentState))
+      return false;
+    if (!(limit == rhs.limit))
+      return false;
+    if (!(offset == rhs.offset))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_searchExperimentsByStatusWithPagination_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_searchExperimentsByStatusWithPagination_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_searchExperimentsByStatusWithPagination_pargs {
+ public:
+
+
+  virtual ~Airavata_searchExperimentsByStatusWithPagination_pargs() throw() {}
+
+  const std::string* gatewayId;
+  const std::string* userName;
+  const  ::apache::airavata::model::workspace::experiment::ExperimentState::type* experimentState;
+  const int32_t* limit;
+  const int32_t* offset;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_searchExperimentsByStatusWithPagination_result__isset {
+  _Airavata_searchExperimentsByStatusWithPagination_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+  bool success;
+  bool ire;
+  bool ace;
+  bool ase;
+} _Airavata_searchExperimentsByStatusWithPagination_result__isset;
+
+class Airavata_searchExperimentsByStatusWithPagination_result {
+ public:
+
+  Airavata_searchExperimentsByStatusWithPagination_result() {
+  }
+
+  virtual ~Airavata_searchExperimentsByStatusWithPagination_result() throw() {}
+
+  std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary>  success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_searchExperimentsByStatusWithPagination_result__isset __isset;
+
+  void __set_success(const std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & val) {
+    success = val;
+  }
+
+  void __set_ire(const  ::apache::airavata::api::error::InvalidRequestException& val) {
+    ire = val;
+  }
+
+  void __set_ace(const  ::apache::airavata::api::error::AiravataClientException& val) {
+    ace = val;
+  }
+
+  void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val) {
+    ase = val;
+  }
+
+  bool operator == (const Airavata_searchExperimentsByStatusWithPagination_result & rhs) const
+  {
+    if (!(success == rhs.success))
+      return false;
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_searchExperimentsByStatusWithPagination_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_searchExperimentsByStatusWithPagination_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_searchExperimentsByStatusWithPagination_presult__isset {
+  _Airavata_searchExperimentsByStatusWithPagination_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+  bool success;
+  bool ire;
+  bool ace;
+  bool ase;
+} _Airavata_searchExperimentsByStatusWithPagination_presult__isset;
+
+class Airavata_searchExperimentsByStatusWithPagination_presult {
+ public:
+
+
+  virtual ~Airavata_searchExperimentsByStatusWithPagination_presult() throw() {}
+
+  std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> * success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_searchExperimentsByStatusWithPagination_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_searchExperimentsByCreationTime_args {
+ public:
+
+  Airavata_searchExperimentsByCreationTime_args() : gatewayId(), userName(), fromTime(0), toTime(0) {
+  }
+
+  virtual ~Airavata_searchExperimentsByCreationTime_args() throw() {}
+
+  std::string gatewayId;
+  std::string userName;
+  int64_t fromTime;
+  int64_t toTime;
+
+  void __set_gatewayId(const std::string& val) {
+    gatewayId = val;
+  }
+
+  void __set_userName(const std::string& val) {
+    userName = val;
+  }
+
+  void __set_fromTime(const int64_t val) {
+    fromTime = val;
+  }
+
+  void __set_toTime(const int64_t val) {
+    toTime = val;
+  }
+
+  bool operator == (const Airavata_searchExperimentsByCreationTime_args & rhs) const
+  {
+    if (!(gatewayId == rhs.gatewayId))
+      return false;
+    if (!(userName == rhs.userName))
+      return false;
+    if (!(fromTime == rhs.fromTime))
+      return false;
+    if (!(toTime == rhs.toTime))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_searchExperimentsByCreationTime_args &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_searchExperimentsByCreationTime_args & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+
+class Airavata_searchExperimentsByCreationTime_pargs {
+ public:
+
+
+  virtual ~Airavata_searchExperimentsByCreationTime_pargs() throw() {}
+
+  const std::string* gatewayId;
+  const std::string* userName;
+  const int64_t* fromTime;
+  const int64_t* toTime;
+
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_searchExperimentsByCreationTime_result__isset {
+  _Airavata_searchExperimentsByCreationTime_result__isset() : success(false), ire(false), ace(false), ase(false) {}
+  bool success;
+  bool ire;
+  bool ace;
+  bool ase;
+} _Airavata_searchExperimentsByCreationTime_result__isset;
+
+class Airavata_searchExperimentsByCreationTime_result {
+ public:
+
+  Airavata_searchExperimentsByCreationTime_result() {
+  }
+
+  virtual ~Airavata_searchExperimentsByCreationTime_result() throw() {}
+
+  std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary>  success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_searchExperimentsByCreationTime_result__isset __isset;
+
+  void __set_success(const std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> & val) {
+    success = val;
+  }
+
+  void __set_ire(const  ::apache::airavata::api::error::InvalidRequestException& val) {
+    ire = val;
+  }
+
+  void __set_ace(const  ::apache::airavata::api::error::AiravataClientException& val) {
+    ace = val;
+  }
+
+  void __set_ase(const  ::apache::airavata::api::error::AiravataSystemException& val) {
+    ase = val;
+  }
+
+  bool operator == (const Airavata_searchExperimentsByCreationTime_result & rhs) const
+  {
+    if (!(success == rhs.success))
+      return false;
+    if (!(ire == rhs.ire))
+      return false;
+    if (!(ace == rhs.ace))
+      return false;
+    if (!(ase == rhs.ase))
+      return false;
+    return true;
+  }
+  bool operator != (const Airavata_searchExperimentsByCreationTime_result &rhs) const {
+    return !(*this == rhs);
+  }
+
+  bool operator < (const Airavata_searchExperimentsByCreationTime_result & ) const;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+  uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
+
+};
+
+typedef struct _Airavata_searchExperimentsByCreationTime_presult__isset {
+  _Airavata_searchExperimentsByCreationTime_presult__isset() : success(false), ire(false), ace(false), ase(false) {}
+  bool success;
+  bool ire;
+  bool ace;
+  bool ase;
+} _Airavata_searchExperimentsByCreationTime_presult__isset;
+
+class Airavata_searchExperimentsByCreationTime_presult {
+ public:
+
+
+  virtual ~Airavata_searchExperimentsByCreationTime_presult() throw() {}
+
+  std::vector< ::apache::airavata::model::workspace::experiment::ExperimentSummary> * success;
+   ::apache::airavata::api::error::InvalidRequestException ire;
+   ::apache::airavata::api::error::AiravataClientException ace;
+   ::apache::airavata::api::error::AiravataSystemException ase;
+
+  _Airavata_searchExperimentsByCreationTime_presult__isset __isset;
+
+  uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
+
+};
+
+
+class Airavata_searchExperimentsByCreationTimeWithPagination_args {
+ public:
+
+  Airavata_searchExperimentsByCreationTimeWithPagination_args() : gatewayId(), userName(), fromTime(0), toTime(0), limit(0), offset(0) {
   }
 
-  virtual ~Airavata_searchExperimentsByStatus_args() throw() {}
+  virtual ~Airavata_searchExperimentsByCreationTimeWithPagination_args() throw() {}
 
   std::string gatewayId;
   std::string userName;
-   ::apache::airavata::model::workspace::experiment::ExperimentState::type experimentState;
+  int64_t fromTime;
+  int64_t toTime;
+  int32_t limit;
+  int32_t offset;
 
   void __set_gatewayId(const std::string& val) {
     gatewayId = val;
@@ -3337,25 +4824,43 @@ class Airavata_searchExperimentsByStatus_args {
     userName = val;
   }
 
-  void __set_experimentState(const  ::apache::airavata::model::workspace::experiment::ExperimentState::type val) {
-    experimentState = val;
+  void __set_fromTime(const int64_t val) {
+    fromTime = val;
   }
 
-  bool operator == (const Airavata_searchExperimentsByStatus_args & rhs) const
+  void __set_toTime(const int64_t val) {
+    toTime = val;
+  }
+
+  void __set_limit(const int32_t val) {
+    limit = val;
+  }
+
+  void __set_offset(const int32_t val) {
+    offset = val;
+  }
+
+  bool operator == (const Airavata_searchExperimentsByCreationTimeWithPagination_args & rhs) const
   {
     if (!(gatewayId == rhs.gatewayId))
       return false;
     if (!(userName == rhs.userName))
       return false;
-    if (!(experimentState == rhs.experimentState))
+    if (!(fromTime == rhs.fromTime))
+      return false;
+    if (!(toTime == rhs.toTime))
+      return false;
+    if (!(limit == rhs.limit))
+      return false;
+    if (!(offset == rhs.offset))
       return false;
     return true;
   }
-  bool operator != (const Airavata_searchExperimentsByStatus_args &rhs) const {
+  bool operator != (const Airavata_searchExperimentsByCreationTimeWithPagination_args &rhs) const {
     return !(*this == rhs);
   }
 
-  bool operator < (const Airavata_searchExperimentsByStatus_args & ) const;
+  bool operator < (const Airavata_searchExperimentsByCreationTimeWithPagination_args & ) const;
 
   uint32_t read(::apache::thrift::protocol::TProtocol* iprot);
   uint32_t write(::apache::thrift::protocol::TProtocol* oprot) const;
@@ -3363,42 +4868,45 @@ class Airavat

<TRUNCATED>