http://git-wip-us.apache.org/repos/asf/airavata/blob/08e9b45f/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
----------------------------------------------------------------------
diff --git 
a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
 
b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
index c45d6fd..91a2fc6 100644
--- 
a/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
+++ 
b/airavata-api/airavata-api-stubs/src/main/java/org/apache/airavata/api/Airavata.java
@@ -422,66 +422,36 @@ public class Airavata {
     public List<org.apache.airavata.model.workspace.Project> 
getUserProjects(org.apache.airavata.model.security.AuthzToken authzToken, 
String gatewayId, String userName, int limit, int offset) throws 
org.apache.airavata.model.error.InvalidRequestException, 
org.apache.airavata.model.error.AiravataClientException, 
org.apache.airavata.model.error.AiravataSystemException, 
org.apache.airavata.model.error.AuthorizationException, 
org.apache.thrift.TException;
 
     /**
-     * 
-     * Search User Projects by Project Name
-     * Get all Project for user by project name with pagination.Results will 
be ordered based on creation time DESC.
-     * 
-     * @param gatewayId
-     *    The unique identifier for the requested gateway.
-     * 
-     * @param userName
-     *    The identifier of the user.
-     * 
-     * @param projectName
-     *    The name of the project on which the results to be fetched.
-     * 
-     * @param limit
-     *    The amount results to be fetched.
-     * 
-     * @param offset
-     *    The starting point of the results to be fetched.
-     * 
-     * 
-     * 
-     * @param authzToken
-     * @param gatewayId
-     * @param userName
-     * @param projectName
-     * @param limit
-     * @param offset
-     */
-    public List<org.apache.airavata.model.workspace.Project> 
searchProjectsByProjectName(org.apache.airavata.model.security.AuthzToken 
authzToken, String gatewayId, String userName, String projectName, int limit, 
int offset) throws org.apache.airavata.model.error.InvalidRequestException, 
org.apache.airavata.model.error.AiravataClientException, 
org.apache.airavata.model.error.AiravataSystemException, 
org.apache.airavata.model.error.AuthorizationException, 
org.apache.thrift.TException;
-
-    /**
-     * 
-     * Search User Projects by Project Description
-     * Search and get all Projects for user by project description with 
pagination. Results will be ordered based on creation time DESC.
-     * 
-     * @param gatewayId
-     *    The unique identifier of the gateway making the request.
-     * 
-     * @param userName
-     *    The identifier of the user.
-     * 
-     * @param description
-     *    The description to be matched.
-     * 
-     * @param limit
-     *    The amount results to be fetched.
-     * 
-     * @param offset
-     *    The starting point of the results to be fetched.
-     * 
-     * 
+     * *
+     * * Search User Projects
+     * * Search and get all Projects for user by project description or/and 
project name  with pagination.
+     *  * Results will be ordered based on creation time DESC.
+     * *
+     * * @param gatewayId
+     * *    The unique identifier of the gateway making the request.
+     * *
+     * * @param userName
+     * *    The identifier of the user.
+     * *
+     * * @param filters
+     * *    Map of multiple filter criteria. Currenlt search filters includes 
Project Name and Project Description
+     * *
+     * * @param limit
+     * *    The amount results to be fetched.
+     * *
+     * * @param offset
+     * *    The starting point of the results to be fetched.
+     * *
+     * *
      * 
      * @param authzToken
      * @param gatewayId
      * @param userName
-     * @param description
+     * @param filters
      * @param limit
      * @param offset
      */
-    public List<org.apache.airavata.model.workspace.Project> 
searchProjectsByProjectDesc(org.apache.airavata.model.security.AuthzToken 
authzToken, String gatewayId, String userName, String description, int limit, 
int offset) throws org.apache.airavata.model.error.InvalidRequestException, 
org.apache.airavata.model.error.AiravataClientException, 
org.apache.airavata.model.error.AiravataSystemException, 
org.apache.airavata.model.error.AuthorizationException, 
org.apache.thrift.TException;
+    public List<org.apache.airavata.model.workspace.Project> 
searchProjects(org.apache.airavata.model.security.AuthzToken authzToken, String 
gatewayId, String userName, 
Map<org.apache.airavata.model.experiment.ProjectSearchFields,String> filters, 
int limit, int offset) throws 
org.apache.airavata.model.error.InvalidRequestException, 
org.apache.airavata.model.error.AiravataClientException, 
org.apache.airavata.model.error.AiravataSystemException, 
org.apache.airavata.model.error.AuthorizationException, 
org.apache.thrift.TException;
 
     /**
      * Search Experiments.
@@ -2595,9 +2565,7 @@ public class Airavata {
 
     public void getUserProjects(org.apache.airavata.model.security.AuthzToken 
authzToken, String gatewayId, String userName, int limit, int offset, 
org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
 
-    public void 
searchProjectsByProjectName(org.apache.airavata.model.security.AuthzToken 
authzToken, String gatewayId, String userName, String projectName, int limit, 
int offset, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
-
-    public void 
searchProjectsByProjectDesc(org.apache.airavata.model.security.AuthzToken 
authzToken, String gatewayId, String userName, String description, int limit, 
int offset, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException;
+    public void searchProjects(org.apache.airavata.model.security.AuthzToken 
authzToken, String gatewayId, String userName, 
Map<org.apache.airavata.model.experiment.ProjectSearchFields,String> filters, 
int limit, int offset, org.apache.thrift.async.AsyncMethodCallback 
resultHandler) throws org.apache.thrift.TException;
 
     public void 
searchExperiments(org.apache.airavata.model.security.AuthzToken authzToken, 
String gatewayId, String userName, 
Map<org.apache.airavata.model.experiment.ExperimentSearchFields,String> 
filters, int limit, int offset, org.apache.thrift.async.AsyncMethodCallback 
resultHandler) throws org.apache.thrift.TException;
 
@@ -3782,68 +3750,28 @@ public class Airavata {
       throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "getUserProjects failed: unknown result");
     }
 
-    public List<org.apache.airavata.model.workspace.Project> 
searchProjectsByProjectName(org.apache.airavata.model.security.AuthzToken 
authzToken, String gatewayId, String userName, String projectName, int limit, 
int offset) throws org.apache.airavata.model.error.InvalidRequestException, 
org.apache.airavata.model.error.AiravataClientException, 
org.apache.airavata.model.error.AiravataSystemException, 
org.apache.airavata.model.error.AuthorizationException, 
org.apache.thrift.TException
+    public List<org.apache.airavata.model.workspace.Project> 
searchProjects(org.apache.airavata.model.security.AuthzToken authzToken, String 
gatewayId, String userName, 
Map<org.apache.airavata.model.experiment.ProjectSearchFields,String> filters, 
int limit, int offset) throws 
org.apache.airavata.model.error.InvalidRequestException, 
org.apache.airavata.model.error.AiravataClientException, 
org.apache.airavata.model.error.AiravataSystemException, 
org.apache.airavata.model.error.AuthorizationException, 
org.apache.thrift.TException
     {
-      send_searchProjectsByProjectName(authzToken, gatewayId, userName, 
projectName, limit, offset);
-      return recv_searchProjectsByProjectName();
+      send_searchProjects(authzToken, gatewayId, userName, filters, limit, 
offset);
+      return recv_searchProjects();
     }
 
-    public void 
send_searchProjectsByProjectName(org.apache.airavata.model.security.AuthzToken 
authzToken, String gatewayId, String userName, String projectName, int limit, 
int offset) throws org.apache.thrift.TException
+    public void 
send_searchProjects(org.apache.airavata.model.security.AuthzToken authzToken, 
String gatewayId, String userName, 
Map<org.apache.airavata.model.experiment.ProjectSearchFields,String> filters, 
int limit, int offset) throws org.apache.thrift.TException
     {
-      searchProjectsByProjectName_args args = new 
searchProjectsByProjectName_args();
+      searchProjects_args args = new searchProjects_args();
       args.setAuthzToken(authzToken);
       args.setGatewayId(gatewayId);
       args.setUserName(userName);
-      args.setProjectName(projectName);
-      args.setLimit(limit);
-      args.setOffset(offset);
-      sendBase("searchProjectsByProjectName", args);
-    }
-
-    public List<org.apache.airavata.model.workspace.Project> 
recv_searchProjectsByProjectName() throws 
org.apache.airavata.model.error.InvalidRequestException, 
org.apache.airavata.model.error.AiravataClientException, 
org.apache.airavata.model.error.AiravataSystemException, 
org.apache.airavata.model.error.AuthorizationException, 
org.apache.thrift.TException
-    {
-      searchProjectsByProjectName_result result = new 
searchProjectsByProjectName_result();
-      receiveBase(result, "searchProjectsByProjectName");
-      if (result.isSetSuccess()) {
-        return result.success;
-      }
-      if (result.ire != null) {
-        throw result.ire;
-      }
-      if (result.ace != null) {
-        throw result.ace;
-      }
-      if (result.ase != null) {
-        throw result.ase;
-      }
-      if (result.ae != null) {
-        throw result.ae;
-      }
-      throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "searchProjectsByProjectName failed: unknown result");
-    }
-
-    public List<org.apache.airavata.model.workspace.Project> 
searchProjectsByProjectDesc(org.apache.airavata.model.security.AuthzToken 
authzToken, String gatewayId, String userName, String description, int limit, 
int offset) throws org.apache.airavata.model.error.InvalidRequestException, 
org.apache.airavata.model.error.AiravataClientException, 
org.apache.airavata.model.error.AiravataSystemException, 
org.apache.airavata.model.error.AuthorizationException, 
org.apache.thrift.TException
-    {
-      send_searchProjectsByProjectDesc(authzToken, gatewayId, userName, 
description, limit, offset);
-      return recv_searchProjectsByProjectDesc();
-    }
-
-    public void 
send_searchProjectsByProjectDesc(org.apache.airavata.model.security.AuthzToken 
authzToken, String gatewayId, String userName, String description, int limit, 
int offset) throws org.apache.thrift.TException
-    {
-      searchProjectsByProjectDesc_args args = new 
searchProjectsByProjectDesc_args();
-      args.setAuthzToken(authzToken);
-      args.setGatewayId(gatewayId);
-      args.setUserName(userName);
-      args.setDescription(description);
+      args.setFilters(filters);
       args.setLimit(limit);
       args.setOffset(offset);
-      sendBase("searchProjectsByProjectDesc", args);
+      sendBase("searchProjects", args);
     }
 
-    public List<org.apache.airavata.model.workspace.Project> 
recv_searchProjectsByProjectDesc() throws 
org.apache.airavata.model.error.InvalidRequestException, 
org.apache.airavata.model.error.AiravataClientException, 
org.apache.airavata.model.error.AiravataSystemException, 
org.apache.airavata.model.error.AuthorizationException, 
org.apache.thrift.TException
+    public List<org.apache.airavata.model.workspace.Project> 
recv_searchProjects() throws 
org.apache.airavata.model.error.InvalidRequestException, 
org.apache.airavata.model.error.AiravataClientException, 
org.apache.airavata.model.error.AiravataSystemException, 
org.apache.airavata.model.error.AuthorizationException, 
org.apache.thrift.TException
     {
-      searchProjectsByProjectDesc_result result = new 
searchProjectsByProjectDesc_result();
-      receiveBase(result, "searchProjectsByProjectDesc");
+      searchProjects_result result = new searchProjects_result();
+      receiveBase(result, "searchProjects");
       if (result.isSetSuccess()) {
         return result.success;
       }
@@ -3859,7 +3787,7 @@ public class Airavata {
       if (result.ae != null) {
         throw result.ae;
       }
-      throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "searchProjectsByProjectDesc failed: unknown result");
+      throw new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.MISSING_RESULT,
 "searchProjects failed: unknown result");
     }
 
     public List<org.apache.airavata.model.experiment.ExperimentSummaryModel> 
searchExperiments(org.apache.airavata.model.security.AuthzToken authzToken, 
String gatewayId, String userName, 
Map<org.apache.airavata.model.experiment.ExperimentSearchFields,String> 
filters, int limit, int offset) throws 
org.apache.airavata.model.error.InvalidRequestException, 
org.apache.airavata.model.error.AiravataClientException, 
org.apache.airavata.model.error.AiravataSystemException, 
org.apache.airavata.model.error.AuthorizationException, 
org.apache.thrift.TException
@@ -9016,84 +8944,37 @@ public class Airavata {
       }
     }
 
-    public void 
searchProjectsByProjectName(org.apache.airavata.model.security.AuthzToken 
authzToken, String gatewayId, String userName, String projectName, int limit, 
int offset, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
-      checkReady();
-      searchProjectsByProjectName_call method_call = new 
searchProjectsByProjectName_call(authzToken, gatewayId, userName, projectName, 
limit, offset, resultHandler, this, ___protocolFactory, ___transport);
-      this.___currentMethod = method_call;
-      ___manager.call(method_call);
-    }
-
-    public static class searchProjectsByProjectName_call extends 
org.apache.thrift.async.TAsyncMethodCall {
-      private org.apache.airavata.model.security.AuthzToken authzToken;
-      private String gatewayId;
-      private String userName;
-      private String projectName;
-      private int limit;
-      private int offset;
-      public 
searchProjectsByProjectName_call(org.apache.airavata.model.security.AuthzToken 
authzToken, String gatewayId, String userName, String projectName, int limit, 
int offset, org.apache.thrift.async.AsyncMethodCallback resultHandler, 
org.apache.thrift.async.TAsyncClient client, 
org.apache.thrift.protocol.TProtocolFactory protocolFactory, 
org.apache.thrift.transport.TNonblockingTransport transport) throws 
org.apache.thrift.TException {
-        super(client, protocolFactory, transport, resultHandler, false);
-        this.authzToken = authzToken;
-        this.gatewayId = gatewayId;
-        this.userName = userName;
-        this.projectName = projectName;
-        this.limit = limit;
-        this.offset = offset;
-      }
-
-      public void write_args(org.apache.thrift.protocol.TProtocol prot) throws 
org.apache.thrift.TException {
-        prot.writeMessageBegin(new 
org.apache.thrift.protocol.TMessage("searchProjectsByProjectName", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
-        searchProjectsByProjectName_args args = new 
searchProjectsByProjectName_args();
-        args.setAuthzToken(authzToken);
-        args.setGatewayId(gatewayId);
-        args.setUserName(userName);
-        args.setProjectName(projectName);
-        args.setLimit(limit);
-        args.setOffset(offset);
-        args.write(prot);
-        prot.writeMessageEnd();
-      }
-
-      public List<org.apache.airavata.model.workspace.Project> getResult() 
throws org.apache.airavata.model.error.InvalidRequestException, 
org.apache.airavata.model.error.AiravataClientException, 
org.apache.airavata.model.error.AiravataSystemException, 
org.apache.airavata.model.error.AuthorizationException, 
org.apache.thrift.TException {
-        if (getState() != 
org.apache.thrift.async.TAsyncMethodCall.State.RESPONSE_READ) {
-          throw new IllegalStateException("Method call not finished!");
-        }
-        org.apache.thrift.transport.TMemoryInputTransport memoryTransport = 
new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
-        org.apache.thrift.protocol.TProtocol prot = 
client.getProtocolFactory().getProtocol(memoryTransport);
-        return (new Client(prot)).recv_searchProjectsByProjectName();
-      }
-    }
-
-    public void 
searchProjectsByProjectDesc(org.apache.airavata.model.security.AuthzToken 
authzToken, String gatewayId, String userName, String description, int limit, 
int offset, org.apache.thrift.async.AsyncMethodCallback resultHandler) throws 
org.apache.thrift.TException {
+    public void searchProjects(org.apache.airavata.model.security.AuthzToken 
authzToken, String gatewayId, String userName, 
Map<org.apache.airavata.model.experiment.ProjectSearchFields,String> filters, 
int limit, int offset, org.apache.thrift.async.AsyncMethodCallback 
resultHandler) throws org.apache.thrift.TException {
       checkReady();
-      searchProjectsByProjectDesc_call method_call = new 
searchProjectsByProjectDesc_call(authzToken, gatewayId, userName, description, 
limit, offset, resultHandler, this, ___protocolFactory, ___transport);
+      searchProjects_call method_call = new searchProjects_call(authzToken, 
gatewayId, userName, filters, limit, offset, resultHandler, this, 
___protocolFactory, ___transport);
       this.___currentMethod = method_call;
       ___manager.call(method_call);
     }
 
-    public static class searchProjectsByProjectDesc_call extends 
org.apache.thrift.async.TAsyncMethodCall {
+    public static class searchProjects_call extends 
org.apache.thrift.async.TAsyncMethodCall {
       private org.apache.airavata.model.security.AuthzToken authzToken;
       private String gatewayId;
       private String userName;
-      private String description;
+      private 
Map<org.apache.airavata.model.experiment.ProjectSearchFields,String> filters;
       private int limit;
       private int offset;
-      public 
searchProjectsByProjectDesc_call(org.apache.airavata.model.security.AuthzToken 
authzToken, String gatewayId, String userName, String description, int limit, 
int offset, org.apache.thrift.async.AsyncMethodCallback resultHandler, 
org.apache.thrift.async.TAsyncClient client, 
org.apache.thrift.protocol.TProtocolFactory protocolFactory, 
org.apache.thrift.transport.TNonblockingTransport transport) throws 
org.apache.thrift.TException {
+      public searchProjects_call(org.apache.airavata.model.security.AuthzToken 
authzToken, String gatewayId, String userName, 
Map<org.apache.airavata.model.experiment.ProjectSearchFields,String> filters, 
int limit, int offset, org.apache.thrift.async.AsyncMethodCallback 
resultHandler, org.apache.thrift.async.TAsyncClient client, 
org.apache.thrift.protocol.TProtocolFactory protocolFactory, 
org.apache.thrift.transport.TNonblockingTransport transport) throws 
org.apache.thrift.TException {
         super(client, protocolFactory, transport, resultHandler, false);
         this.authzToken = authzToken;
         this.gatewayId = gatewayId;
         this.userName = userName;
-        this.description = description;
+        this.filters = filters;
         this.limit = limit;
         this.offset = offset;
       }
 
       public void write_args(org.apache.thrift.protocol.TProtocol prot) throws 
org.apache.thrift.TException {
-        prot.writeMessageBegin(new 
org.apache.thrift.protocol.TMessage("searchProjectsByProjectDesc", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
-        searchProjectsByProjectDesc_args args = new 
searchProjectsByProjectDesc_args();
+        prot.writeMessageBegin(new 
org.apache.thrift.protocol.TMessage("searchProjects", 
org.apache.thrift.protocol.TMessageType.CALL, 0));
+        searchProjects_args args = new searchProjects_args();
         args.setAuthzToken(authzToken);
         args.setGatewayId(gatewayId);
         args.setUserName(userName);
-        args.setDescription(description);
+        args.setFilters(filters);
         args.setLimit(limit);
         args.setOffset(offset);
         args.write(prot);
@@ -9106,7 +8987,7 @@ public class Airavata {
         }
         org.apache.thrift.transport.TMemoryInputTransport memoryTransport = 
new org.apache.thrift.transport.TMemoryInputTransport(getFrameBuffer().array());
         org.apache.thrift.protocol.TProtocol prot = 
client.getProtocolFactory().getProtocol(memoryTransport);
-        return (new Client(prot)).recv_searchProjectsByProjectDesc();
+        return (new Client(prot)).recv_searchProjects();
       }
     }
 
@@ -13370,8 +13251,7 @@ public class Airavata {
       processMap.put("getProject", new getProject());
       processMap.put("deleteProject", new deleteProject());
       processMap.put("getUserProjects", new getUserProjects());
-      processMap.put("searchProjectsByProjectName", new 
searchProjectsByProjectName());
-      processMap.put("searchProjectsByProjectDesc", new 
searchProjectsByProjectDesc());
+      processMap.put("searchProjects", new searchProjects());
       processMap.put("searchExperiments", new searchExperiments());
       processMap.put("getExperimentStatistics", new getExperimentStatistics());
       processMap.put("getExperimentsInProject", new getExperimentsInProject());
@@ -14269,53 +14149,23 @@ public class Airavata {
       }
     }
 
-    public static class searchProjectsByProjectName<I extends Iface> extends 
org.apache.thrift.ProcessFunction<I, searchProjectsByProjectName_args> {
-      public searchProjectsByProjectName() {
-        super("searchProjectsByProjectName");
+    public static class searchProjects<I extends Iface> extends 
org.apache.thrift.ProcessFunction<I, searchProjects_args> {
+      public searchProjects() {
+        super("searchProjects");
       }
 
-      public searchProjectsByProjectName_args getEmptyArgsInstance() {
-        return new searchProjectsByProjectName_args();
+      public searchProjects_args getEmptyArgsInstance() {
+        return new searchProjects_args();
       }
 
       protected boolean isOneway() {
         return false;
       }
 
-      public searchProjectsByProjectName_result getResult(I iface, 
searchProjectsByProjectName_args args) throws org.apache.thrift.TException {
-        searchProjectsByProjectName_result result = new 
searchProjectsByProjectName_result();
+      public searchProjects_result getResult(I iface, searchProjects_args 
args) throws org.apache.thrift.TException {
+        searchProjects_result result = new searchProjects_result();
         try {
-          result.success = iface.searchProjectsByProjectName(args.authzToken, 
args.gatewayId, args.userName, args.projectName, args.limit, args.offset);
-        } catch (org.apache.airavata.model.error.InvalidRequestException ire) {
-          result.ire = ire;
-        } catch (org.apache.airavata.model.error.AiravataClientException ace) {
-          result.ace = ace;
-        } catch (org.apache.airavata.model.error.AiravataSystemException ase) {
-          result.ase = ase;
-        } catch (org.apache.airavata.model.error.AuthorizationException ae) {
-          result.ae = ae;
-        }
-        return result;
-      }
-    }
-
-    public static class searchProjectsByProjectDesc<I extends Iface> extends 
org.apache.thrift.ProcessFunction<I, searchProjectsByProjectDesc_args> {
-      public searchProjectsByProjectDesc() {
-        super("searchProjectsByProjectDesc");
-      }
-
-      public searchProjectsByProjectDesc_args getEmptyArgsInstance() {
-        return new searchProjectsByProjectDesc_args();
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public searchProjectsByProjectDesc_result getResult(I iface, 
searchProjectsByProjectDesc_args args) throws org.apache.thrift.TException {
-        searchProjectsByProjectDesc_result result = new 
searchProjectsByProjectDesc_result();
-        try {
-          result.success = iface.searchProjectsByProjectDesc(args.authzToken, 
args.gatewayId, args.userName, args.description, args.limit, args.offset);
+          result.success = iface.searchProjects(args.authzToken, 
args.gatewayId, args.userName, args.filters, args.limit, args.offset);
         } catch (org.apache.airavata.model.error.InvalidRequestException ire) {
           result.ire = ire;
         } catch (org.apache.airavata.model.error.AiravataClientException ace) {
@@ -17840,8 +17690,7 @@ public class Airavata {
       processMap.put("getProject", new getProject());
       processMap.put("deleteProject", new deleteProject());
       processMap.put("getUserProjects", new getUserProjects());
-      processMap.put("searchProjectsByProjectName", new 
searchProjectsByProjectName());
-      processMap.put("searchProjectsByProjectDesc", new 
searchProjectsByProjectDesc());
+      processMap.put("searchProjects", new searchProjects());
       processMap.put("searchExperiments", new searchExperiments());
       processMap.put("getExperimentStatistics", new getExperimentStatistics());
       processMap.put("getExperimentsInProject", new getExperimentsInProject());
@@ -19817,20 +19666,20 @@ public class Airavata {
       }
     }
 
-    public static class searchProjectsByProjectName<I extends AsyncIface> 
extends org.apache.thrift.AsyncProcessFunction<I, 
searchProjectsByProjectName_args, 
List<org.apache.airavata.model.workspace.Project>> {
-      public searchProjectsByProjectName() {
-        super("searchProjectsByProjectName");
+    public static class searchProjects<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, searchProjects_args, 
List<org.apache.airavata.model.workspace.Project>> {
+      public searchProjects() {
+        super("searchProjects");
       }
 
-      public searchProjectsByProjectName_args getEmptyArgsInstance() {
-        return new searchProjectsByProjectName_args();
+      public searchProjects_args getEmptyArgsInstance() {
+        return new searchProjects_args();
       }
 
       public 
AsyncMethodCallback<List<org.apache.airavata.model.workspace.Project>> 
getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new 
AsyncMethodCallback<List<org.apache.airavata.model.workspace.Project>>() { 
           public void 
onComplete(List<org.apache.airavata.model.workspace.Project> o) {
-            searchProjectsByProjectName_result result = new 
searchProjectsByProjectName_result();
+            searchProjects_result result = new searchProjects_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -19843,7 +19692,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            searchProjectsByProjectName_result result = new 
searchProjectsByProjectName_result();
+            searchProjects_result result = new searchProjects_result();
             if (e instanceof 
org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = 
(org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -19884,25 +19733,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, searchProjectsByProjectName_args args, 
org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.model.workspace.Project>>
 resultHandler) throws TException {
-        iface.searchProjectsByProjectName(args.authzToken, args.gatewayId, 
args.userName, args.projectName, args.limit, args.offset,resultHandler);
+      public void start(I iface, searchProjects_args args, 
org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.model.workspace.Project>>
 resultHandler) throws TException {
+        iface.searchProjects(args.authzToken, args.gatewayId, args.userName, 
args.filters, args.limit, args.offset,resultHandler);
       }
     }
 
-    public static class searchProjectsByProjectDesc<I extends AsyncIface> 
extends org.apache.thrift.AsyncProcessFunction<I, 
searchProjectsByProjectDesc_args, 
List<org.apache.airavata.model.workspace.Project>> {
-      public searchProjectsByProjectDesc() {
-        super("searchProjectsByProjectDesc");
+    public static class searchExperiments<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, searchExperiments_args, 
List<org.apache.airavata.model.experiment.ExperimentSummaryModel>> {
+      public searchExperiments() {
+        super("searchExperiments");
       }
 
-      public searchProjectsByProjectDesc_args getEmptyArgsInstance() {
-        return new searchProjectsByProjectDesc_args();
+      public searchExperiments_args getEmptyArgsInstance() {
+        return new searchExperiments_args();
       }
 
-      public 
AsyncMethodCallback<List<org.apache.airavata.model.workspace.Project>> 
getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public 
AsyncMethodCallback<List<org.apache.airavata.model.experiment.ExperimentSummaryModel>>
 getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new 
AsyncMethodCallback<List<org.apache.airavata.model.workspace.Project>>() { 
-          public void 
onComplete(List<org.apache.airavata.model.workspace.Project> o) {
-            searchProjectsByProjectDesc_result result = new 
searchProjectsByProjectDesc_result();
+        return new 
AsyncMethodCallback<List<org.apache.airavata.model.experiment.ExperimentSummaryModel>>()
 { 
+          public void 
onComplete(List<org.apache.airavata.model.experiment.ExperimentSummaryModel> o) 
{
+            searchExperiments_result result = new searchExperiments_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -19915,7 +19764,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            searchProjectsByProjectDesc_result result = new 
searchProjectsByProjectDesc_result();
+            searchExperiments_result result = new searchExperiments_result();
             if (e instanceof 
org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = 
(org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -19956,25 +19805,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, searchProjectsByProjectDesc_args args, 
org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.model.workspace.Project>>
 resultHandler) throws TException {
-        iface.searchProjectsByProjectDesc(args.authzToken, args.gatewayId, 
args.userName, args.description, args.limit, args.offset,resultHandler);
+      public void start(I iface, searchExperiments_args args, 
org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.model.experiment.ExperimentSummaryModel>>
 resultHandler) throws TException {
+        iface.searchExperiments(args.authzToken, args.gatewayId, 
args.userName, args.filters, args.limit, args.offset,resultHandler);
       }
     }
 
-    public static class searchExperiments<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, searchExperiments_args, 
List<org.apache.airavata.model.experiment.ExperimentSummaryModel>> {
-      public searchExperiments() {
-        super("searchExperiments");
+    public static class getExperimentStatistics<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, getExperimentStatistics_args, 
org.apache.airavata.model.experiment.ExperimentStatistics> {
+      public getExperimentStatistics() {
+        super("getExperimentStatistics");
       }
 
-      public searchExperiments_args getEmptyArgsInstance() {
-        return new searchExperiments_args();
+      public getExperimentStatistics_args getEmptyArgsInstance() {
+        return new getExperimentStatistics_args();
       }
 
-      public 
AsyncMethodCallback<List<org.apache.airavata.model.experiment.ExperimentSummaryModel>>
 getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public 
AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentStatistics> 
getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new 
AsyncMethodCallback<List<org.apache.airavata.model.experiment.ExperimentSummaryModel>>()
 { 
-          public void 
onComplete(List<org.apache.airavata.model.experiment.ExperimentSummaryModel> o) 
{
-            searchExperiments_result result = new searchExperiments_result();
+        return new 
AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentStatistics>()
 { 
+          public void 
onComplete(org.apache.airavata.model.experiment.ExperimentStatistics o) {
+            getExperimentStatistics_result result = new 
getExperimentStatistics_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -19987,7 +19836,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            searchExperiments_result result = new searchExperiments_result();
+            getExperimentStatistics_result result = new 
getExperimentStatistics_result();
             if (e instanceof 
org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = 
(org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -20028,25 +19877,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, searchExperiments_args args, 
org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.model.experiment.ExperimentSummaryModel>>
 resultHandler) throws TException {
-        iface.searchExperiments(args.authzToken, args.gatewayId, 
args.userName, args.filters, args.limit, args.offset,resultHandler);
+      public void start(I iface, getExperimentStatistics_args args, 
org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentStatistics>
 resultHandler) throws TException {
+        iface.getExperimentStatistics(args.authzToken, args.gatewayId, 
args.fromTime, args.toTime,resultHandler);
       }
     }
 
-    public static class getExperimentStatistics<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, getExperimentStatistics_args, 
org.apache.airavata.model.experiment.ExperimentStatistics> {
-      public getExperimentStatistics() {
-        super("getExperimentStatistics");
+    public static class getExperimentsInProject<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, getExperimentsInProject_args, 
List<org.apache.airavata.model.experiment.ExperimentModel>> {
+      public getExperimentsInProject() {
+        super("getExperimentsInProject");
       }
 
-      public getExperimentStatistics_args getEmptyArgsInstance() {
-        return new getExperimentStatistics_args();
+      public getExperimentsInProject_args getEmptyArgsInstance() {
+        return new getExperimentsInProject_args();
       }
 
-      public 
AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentStatistics> 
getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public 
AsyncMethodCallback<List<org.apache.airavata.model.experiment.ExperimentModel>> 
getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new 
AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentStatistics>()
 { 
-          public void 
onComplete(org.apache.airavata.model.experiment.ExperimentStatistics o) {
-            getExperimentStatistics_result result = new 
getExperimentStatistics_result();
+        return new 
AsyncMethodCallback<List<org.apache.airavata.model.experiment.ExperimentModel>>()
 { 
+          public void 
onComplete(List<org.apache.airavata.model.experiment.ExperimentModel> o) {
+            getExperimentsInProject_result result = new 
getExperimentsInProject_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -20059,7 +19908,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            getExperimentStatistics_result result = new 
getExperimentStatistics_result();
+            getExperimentsInProject_result result = new 
getExperimentsInProject_result();
             if (e instanceof 
org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = 
(org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -20075,6 +19924,11 @@ public class Airavata {
                         result.setAseIsSet(true);
                         msg = result;
             }
+            else             if (e instanceof 
org.apache.airavata.model.error.ProjectNotFoundException) {
+                        result.pnfe = 
(org.apache.airavata.model.error.ProjectNotFoundException) e;
+                        result.setPnfeIsSet(true);
+                        msg = result;
+            }
             else             if (e instanceof 
org.apache.airavata.model.error.AuthorizationException) {
                         result.ae = 
(org.apache.airavata.model.error.AuthorizationException) e;
                         result.setAeIsSet(true);
@@ -20100,25 +19954,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getExperimentStatistics_args args, 
org.apache.thrift.async.AsyncMethodCallback<org.apache.airavata.model.experiment.ExperimentStatistics>
 resultHandler) throws TException {
-        iface.getExperimentStatistics(args.authzToken, args.gatewayId, 
args.fromTime, args.toTime,resultHandler);
+      public void start(I iface, getExperimentsInProject_args args, 
org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.model.experiment.ExperimentModel>>
 resultHandler) throws TException {
+        iface.getExperimentsInProject(args.authzToken, args.projectId, 
args.limit, args.offset,resultHandler);
       }
     }
 
-    public static class getExperimentsInProject<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, getExperimentsInProject_args, 
List<org.apache.airavata.model.experiment.ExperimentModel>> {
-      public getExperimentsInProject() {
-        super("getExperimentsInProject");
+    public static class getUserExperiments<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, getUserExperiments_args, 
List<org.apache.airavata.model.experiment.ExperimentModel>> {
+      public getUserExperiments() {
+        super("getUserExperiments");
       }
 
-      public getExperimentsInProject_args getEmptyArgsInstance() {
-        return new getExperimentsInProject_args();
+      public getUserExperiments_args getEmptyArgsInstance() {
+        return new getUserExperiments_args();
       }
 
       public 
AsyncMethodCallback<List<org.apache.airavata.model.experiment.ExperimentModel>> 
getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
         return new 
AsyncMethodCallback<List<org.apache.airavata.model.experiment.ExperimentModel>>()
 { 
           public void 
onComplete(List<org.apache.airavata.model.experiment.ExperimentModel> o) {
-            getExperimentsInProject_result result = new 
getExperimentsInProject_result();
+            getUserExperiments_result result = new getUserExperiments_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -20131,7 +19985,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            getExperimentsInProject_result result = new 
getExperimentsInProject_result();
+            getUserExperiments_result result = new getUserExperiments_result();
             if (e instanceof 
org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = 
(org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -20147,11 +20001,6 @@ public class Airavata {
                         result.setAseIsSet(true);
                         msg = result;
             }
-            else             if (e instanceof 
org.apache.airavata.model.error.ProjectNotFoundException) {
-                        result.pnfe = 
(org.apache.airavata.model.error.ProjectNotFoundException) e;
-                        result.setPnfeIsSet(true);
-                        msg = result;
-            }
             else             if (e instanceof 
org.apache.airavata.model.error.AuthorizationException) {
                         result.ae = 
(org.apache.airavata.model.error.AuthorizationException) e;
                         result.setAeIsSet(true);
@@ -20177,25 +20026,25 @@ public class Airavata {
         return false;
       }
 
-      public void start(I iface, getExperimentsInProject_args args, 
org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.model.experiment.ExperimentModel>>
 resultHandler) throws TException {
-        iface.getExperimentsInProject(args.authzToken, args.projectId, 
args.limit, args.offset,resultHandler);
+      public void start(I iface, getUserExperiments_args args, 
org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.model.experiment.ExperimentModel>>
 resultHandler) throws TException {
+        iface.getUserExperiments(args.authzToken, args.gatewayId, 
args.userName, args.limit, args.offset,resultHandler);
       }
     }
 
-    public static class getUserExperiments<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, getUserExperiments_args, 
List<org.apache.airavata.model.experiment.ExperimentModel>> {
-      public getUserExperiments() {
-        super("getUserExperiments");
+    public static class createExperiment<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, createExperiment_args, String> {
+      public createExperiment() {
+        super("createExperiment");
       }
 
-      public getUserExperiments_args getEmptyArgsInstance() {
-        return new getUserExperiments_args();
+      public createExperiment_args getEmptyArgsInstance() {
+        return new createExperiment_args();
       }
 
-      public 
AsyncMethodCallback<List<org.apache.airavata.model.experiment.ExperimentModel>> 
getResultHandler(final AsyncFrameBuffer fb, final int seqid) {
+      public AsyncMethodCallback<String> getResultHandler(final 
AsyncFrameBuffer fb, final int seqid) {
         final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new 
AsyncMethodCallback<List<org.apache.airavata.model.experiment.ExperimentModel>>()
 { 
-          public void 
onComplete(List<org.apache.airavata.model.experiment.ExperimentModel> o) {
-            getUserExperiments_result result = new getUserExperiments_result();
+        return new AsyncMethodCallback<String>() { 
+          public void onComplete(String o) {
+            createExperiment_result result = new createExperiment_result();
             result.success = o;
             try {
               fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
@@ -20208,79 +20057,7 @@ public class Airavata {
           public void onError(Exception e) {
             byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
             org.apache.thrift.TBase msg;
-            getUserExperiments_result result = new getUserExperiments_result();
-            if (e instanceof 
org.apache.airavata.model.error.InvalidRequestException) {
-                        result.ire = 
(org.apache.airavata.model.error.InvalidRequestException) e;
-                        result.setIreIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof 
org.apache.airavata.model.error.AiravataClientException) {
-                        result.ace = 
(org.apache.airavata.model.error.AiravataClientException) e;
-                        result.setAceIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof 
org.apache.airavata.model.error.AiravataSystemException) {
-                        result.ase = 
(org.apache.airavata.model.error.AiravataSystemException) e;
-                        result.setAseIsSet(true);
-                        msg = result;
-            }
-            else             if (e instanceof 
org.apache.airavata.model.error.AuthorizationException) {
-                        result.ae = 
(org.apache.airavata.model.error.AuthorizationException) e;
-                        result.setAeIsSet(true);
-                        msg = result;
-            }
-             else 
-            {
-              msgType = org.apache.thrift.protocol.TMessageType.EXCEPTION;
-              msg = (org.apache.thrift.TBase)new 
org.apache.thrift.TApplicationException(org.apache.thrift.TApplicationException.INTERNAL_ERROR,
 e.getMessage());
-            }
-            try {
-              fcall.sendResponse(fb,msg,msgType,seqid);
-              return;
-            } catch (Exception ex) {
-              LOGGER.error("Exception writing to internal frame buffer", ex);
-            }
-            fb.close();
-          }
-        };
-      }
-
-      protected boolean isOneway() {
-        return false;
-      }
-
-      public void start(I iface, getUserExperiments_args args, 
org.apache.thrift.async.AsyncMethodCallback<List<org.apache.airavata.model.experiment.ExperimentModel>>
 resultHandler) throws TException {
-        iface.getUserExperiments(args.authzToken, args.gatewayId, 
args.userName, args.limit, args.offset,resultHandler);
-      }
-    }
-
-    public static class createExperiment<I extends AsyncIface> extends 
org.apache.thrift.AsyncProcessFunction<I, createExperiment_args, String> {
-      public createExperiment() {
-        super("createExperiment");
-      }
-
-      public createExperiment_args getEmptyArgsInstance() {
-        return new createExperiment_args();
-      }
-
-      public AsyncMethodCallback<String> getResultHandler(final 
AsyncFrameBuffer fb, final int seqid) {
-        final org.apache.thrift.AsyncProcessFunction fcall = this;
-        return new AsyncMethodCallback<String>() { 
-          public void onComplete(String o) {
-            createExperiment_result result = new createExperiment_result();
-            result.success = o;
-            try {
-              fcall.sendResponse(fb,result, 
org.apache.thrift.protocol.TMessageType.REPLY,seqid);
-              return;
-            } catch (Exception e) {
-              LOGGER.error("Exception writing to internal frame buffer", e);
-            }
-            fb.close();
-          }
-          public void onError(Exception e) {
-            byte msgType = org.apache.thrift.protocol.TMessageType.REPLY;
-            org.apache.thrift.TBase msg;
-            createExperiment_result result = new createExperiment_result();
+            createExperiment_result result = new createExperiment_result();
             if (e instanceof 
org.apache.airavata.model.error.InvalidRequestException) {
                         result.ire = 
(org.apache.airavata.model.error.InvalidRequestException) e;
                         result.setIreIsSet(true);
@@ -28315,1216 +28092,42 @@ public class Airavata {
       tmpMap.put(_Fields.AUTHZ_TOKEN, new 
org.apache.thrift.meta_data.FieldMetaData("authzToken", 
org.apache.thrift.TFieldRequirementType.REQUIRED, 
           new 
org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT,
 org.apache.airavata.model.security.AuthzToken.class)));
       metaDataMap = Collections.unmodifiableMap(tmpMap);
-      
org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAPIVersion_args.class,
 metaDataMap);
-    }
-
-    public getAPIVersion_args() {
-    }
-
-    public getAPIVersion_args(
-      org.apache.airavata.model.security.AuthzToken authzToken)
-    {
-      this();
-      this.authzToken = authzToken;
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public getAPIVersion_args(getAPIVersion_args other) {
-      if (other.isSetAuthzToken()) {
-        this.authzToken = new 
org.apache.airavata.model.security.AuthzToken(other.authzToken);
-      }
-    }
-
-    public getAPIVersion_args deepCopy() {
-      return new getAPIVersion_args(this);
-    }
-
-    @Override
-    public void clear() {
-      this.authzToken = null;
-    }
-
-    public org.apache.airavata.model.security.AuthzToken getAuthzToken() {
-      return this.authzToken;
-    }
-
-    public getAPIVersion_args 
setAuthzToken(org.apache.airavata.model.security.AuthzToken authzToken) {
-      this.authzToken = authzToken;
-      return this;
-    }
-
-    public void unsetAuthzToken() {
-      this.authzToken = null;
-    }
-
-    /** Returns true if field authzToken is set (has been assigned a value) 
and false otherwise */
-    public boolean isSetAuthzToken() {
-      return this.authzToken != null;
-    }
-
-    public void setAuthzTokenIsSet(boolean value) {
-      if (!value) {
-        this.authzToken = null;
-      }
-    }
-
-    public void setFieldValue(_Fields field, Object value) {
-      switch (field) {
-      case AUTHZ_TOKEN:
-        if (value == null) {
-          unsetAuthzToken();
-        } else {
-          setAuthzToken((org.apache.airavata.model.security.AuthzToken)value);
-        }
-        break;
-
-      }
-    }
-
-    public Object getFieldValue(_Fields field) {
-      switch (field) {
-      case AUTHZ_TOKEN:
-        return getAuthzToken();
-
-      }
-      throw new IllegalStateException();
-    }
-
-    /** Returns true if field corresponding to fieldID is set (has been 
assigned a value) and false otherwise */
-    public boolean isSet(_Fields field) {
-      if (field == null) {
-        throw new IllegalArgumentException();
-      }
-
-      switch (field) {
-      case AUTHZ_TOKEN:
-        return isSetAuthzToken();
-      }
-      throw new IllegalStateException();
-    }
-
-    @Override
-    public boolean equals(Object that) {
-      if (that == null)
-        return false;
-      if (that instanceof getAPIVersion_args)
-        return this.equals((getAPIVersion_args)that);
-      return false;
-    }
-
-    public boolean equals(getAPIVersion_args that) {
-      if (that == null)
-        return false;
-
-      boolean this_present_authzToken = true && this.isSetAuthzToken();
-      boolean that_present_authzToken = true && that.isSetAuthzToken();
-      if (this_present_authzToken || that_present_authzToken) {
-        if (!(this_present_authzToken && that_present_authzToken))
-          return false;
-        if (!this.authzToken.equals(that.authzToken))
-          return false;
-      }
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      List<Object> list = new ArrayList<Object>();
-
-      boolean present_authzToken = true && (isSetAuthzToken());
-      list.add(present_authzToken);
-      if (present_authzToken)
-        list.add(authzToken);
-
-      return list.hashCode();
-    }
-
-    @Override
-    public int compareTo(getAPIVersion_args other) {
-      if (!getClass().equals(other.getClass())) {
-        return getClass().getName().compareTo(other.getClass().getName());
-      }
-
-      int lastComparison = 0;
-
-      lastComparison = 
Boolean.valueOf(isSetAuthzToken()).compareTo(other.isSetAuthzToken());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAuthzToken()) {
-        lastComparison = 
org.apache.thrift.TBaseHelper.compareTo(this.authzToken, other.authzToken);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      return 0;
-    }
-
-    public _Fields fieldForId(int fieldId) {
-      return _Fields.findByThriftId(fieldId);
-    }
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot) throws 
org.apache.thrift.TException {
-      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot) throws 
org.apache.thrift.TException {
-      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
-    }
-
-    @Override
-    public String toString() {
-      StringBuilder sb = new StringBuilder("getAPIVersion_args(");
-      boolean first = true;
-
-      sb.append("authzToken:");
-      if (this.authzToken == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.authzToken);
-      }
-      first = false;
-      sb.append(")");
-      return sb.toString();
-    }
-
-    public void validate() throws org.apache.thrift.TException {
-      // check for required fields
-      if (authzToken == null) {
-        throw new org.apache.thrift.protocol.TProtocolException("Required 
field 'authzToken' was not present! Struct: " + toString());
-      }
-      // check for sub-struct validity
-      if (authzToken != null) {
-        authzToken.validate();
-      }
-    }
-
-    private void writeObject(java.io.ObjectOutputStream out) throws 
java.io.IOException {
-      try {
-        write(new org.apache.thrift.protocol.TCompactProtocol(new 
org.apache.thrift.transport.TIOStreamTransport(out)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private void readObject(java.io.ObjectInputStream in) throws 
java.io.IOException, ClassNotFoundException {
-      try {
-        read(new org.apache.thrift.protocol.TCompactProtocol(new 
org.apache.thrift.transport.TIOStreamTransport(in)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private static class getAPIVersion_argsStandardSchemeFactory implements 
SchemeFactory {
-      public getAPIVersion_argsStandardScheme getScheme() {
-        return new getAPIVersion_argsStandardScheme();
-      }
-    }
-
-    private static class getAPIVersion_argsStandardScheme extends 
StandardScheme<getAPIVersion_args> {
-
-      public void read(org.apache.thrift.protocol.TProtocol iprot, 
getAPIVersion_args struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TField schemeField;
-        iprot.readStructBegin();
-        while (true)
-        {
-          schemeField = iprot.readFieldBegin();
-          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-            break;
-          }
-          switch (schemeField.id) {
-            case 1: // AUTHZ_TOKEN
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) 
{
-                struct.authzToken = new 
org.apache.airavata.model.security.AuthzToken();
-                struct.authzToken.read(iprot);
-                struct.setAuthzTokenIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
-              }
-              break;
-            default:
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
-          }
-          iprot.readFieldEnd();
-        }
-        iprot.readStructEnd();
-
-        // check for required fields of primitive type, which can't be checked 
in the validate method
-        struct.validate();
-      }
-
-      public void write(org.apache.thrift.protocol.TProtocol oprot, 
getAPIVersion_args struct) throws org.apache.thrift.TException {
-        struct.validate();
-
-        oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.authzToken != null) {
-          oprot.writeFieldBegin(AUTHZ_TOKEN_FIELD_DESC);
-          struct.authzToken.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        oprot.writeFieldStop();
-        oprot.writeStructEnd();
-      }
-
-    }
-
-    private static class getAPIVersion_argsTupleSchemeFactory implements 
SchemeFactory {
-      public getAPIVersion_argsTupleScheme getScheme() {
-        return new getAPIVersion_argsTupleScheme();
-      }
-    }
-
-    private static class getAPIVersion_argsTupleScheme extends 
TupleScheme<getAPIVersion_args> {
-
-      @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, 
getAPIVersion_args struct) throws org.apache.thrift.TException {
-        TTupleProtocol oprot = (TTupleProtocol) prot;
-        struct.authzToken.write(oprot);
-      }
-
-      @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, 
getAPIVersion_args struct) throws org.apache.thrift.TException {
-        TTupleProtocol iprot = (TTupleProtocol) prot;
-        struct.authzToken = new 
org.apache.airavata.model.security.AuthzToken();
-        struct.authzToken.read(iprot);
-        struct.setAuthzTokenIsSet(true);
-      }
-    }
-
-  }
-
-  public static class getAPIVersion_result implements 
org.apache.thrift.TBase<getAPIVersion_result, getAPIVersion_result._Fields>, 
java.io.Serializable, Cloneable, Comparable<getAPIVersion_result>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new 
org.apache.thrift.protocol.TStruct("getAPIVersion_result");
-
-    private static final org.apache.thrift.protocol.TField SUCCESS_FIELD_DESC 
= new org.apache.thrift.protocol.TField("success", 
org.apache.thrift.protocol.TType.STRING, (short)0);
-    private static final org.apache.thrift.protocol.TField IRE_FIELD_DESC = 
new org.apache.thrift.protocol.TField("ire", 
org.apache.thrift.protocol.TType.STRUCT, (short)1);
-    private static final org.apache.thrift.protocol.TField ACE_FIELD_DESC = 
new org.apache.thrift.protocol.TField("ace", 
org.apache.thrift.protocol.TType.STRUCT, (short)2);
-    private static final org.apache.thrift.protocol.TField ASE_FIELD_DESC = 
new org.apache.thrift.protocol.TField("ase", 
org.apache.thrift.protocol.TType.STRUCT, (short)3);
-    private static final org.apache.thrift.protocol.TField AE_FIELD_DESC = new 
org.apache.thrift.protocol.TField("ae", 
org.apache.thrift.protocol.TType.STRUCT, (short)4);
-
-    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes 
= new HashMap<Class<? extends IScheme>, SchemeFactory>();
-    static {
-      schemes.put(StandardScheme.class, new 
getAPIVersion_resultStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new 
getAPIVersion_resultTupleSchemeFactory());
-    }
-
-    public String success; // required
-    public org.apache.airavata.model.error.InvalidRequestException ire; // 
required
-    public org.apache.airavata.model.error.AiravataClientException ace; // 
required
-    public org.apache.airavata.model.error.AiravataSystemException ase; // 
required
-    public org.apache.airavata.model.error.AuthorizationException ae; // 
required
-
-    /** The set of fields this struct contains, along with convenience methods 
for finding and manipulating them. */
-    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-      SUCCESS((short)0, "success"),
-      IRE((short)1, "ire"),
-      ACE((short)2, "ace"),
-      ASE((short)3, "ase"),
-      AE((short)4, "ae");
-
-      private static final Map<String, _Fields> byName = new HashMap<String, 
_Fields>();
-
-      static {
-        for (_Fields field : EnumSet.allOf(_Fields.class)) {
-          byName.put(field.getFieldName(), field);
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, or null if its not 
found.
-       */
-      public static _Fields findByThriftId(int fieldId) {
-        switch(fieldId) {
-          case 0: // SUCCESS
-            return SUCCESS;
-          case 1: // IRE
-            return IRE;
-          case 2: // ACE
-            return ACE;
-          case 3: // ASE
-            return ASE;
-          case 4: // AE
-            return AE;
-          default:
-            return null;
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, throwing an exception
-       * if it is not found.
-       */
-      public static _Fields findByThriftIdOrThrow(int fieldId) {
-        _Fields fields = findByThriftId(fieldId);
-        if (fields == null) throw new IllegalArgumentException("Field " + 
fieldId + " doesn't exist!");
-        return fields;
-      }
-
-      /**
-       * Find the _Fields constant that matches name, or null if its not found.
-       */
-      public static _Fields findByName(String name) {
-        return byName.get(name);
-      }
-
-      private final short _thriftId;
-      private final String _fieldName;
-
-      _Fields(short thriftId, String fieldName) {
-        _thriftId = thriftId;
-        _fieldName = fieldName;
-      }
-
-      public short getThriftFieldId() {
-        return _thriftId;
-      }
-
-      public String getFieldName() {
-        return _fieldName;
-      }
-    }
-
-    // isset id assignments
-    public static final Map<_Fields, 
org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-    static {
-      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new 
EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-      tmpMap.put(_Fields.SUCCESS, new 
org.apache.thrift.meta_data.FieldMetaData("success", 
org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.IRE, new 
org.apache.thrift.meta_data.FieldMetaData("ire", 
org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
-      tmpMap.put(_Fields.ACE, new 
org.apache.thrift.meta_data.FieldMetaData("ace", 
org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
-      tmpMap.put(_Fields.ASE, new 
org.apache.thrift.meta_data.FieldMetaData("ase", 
org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
-      tmpMap.put(_Fields.AE, new 
org.apache.thrift.meta_data.FieldMetaData("ae", 
org.apache.thrift.TFieldRequirementType.DEFAULT, 
-          new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRUCT)));
-      metaDataMap = Collections.unmodifiableMap(tmpMap);
-      
org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(getAPIVersion_result.class,
 metaDataMap);
-    }
-
-    public getAPIVersion_result() {
-    }
-
-    public getAPIVersion_result(
-      String success,
-      org.apache.airavata.model.error.InvalidRequestException ire,
-      org.apache.airavata.model.error.AiravataClientException ace,
-      org.apache.airavata.model.error.AiravataSystemException ase,
-      org.apache.airavata.model.error.AuthorizationException ae)
-    {
-      this();
-      this.success = success;
-      this.ire = ire;
-      this.ace = ace;
-      this.ase = ase;
-      this.ae = ae;
-    }
-
-    /**
-     * Performs a deep copy on <i>other</i>.
-     */
-    public getAPIVersion_result(getAPIVersion_result other) {
-      if (other.isSetSuccess()) {
-        this.success = other.success;
-      }
-      if (other.isSetIre()) {
-        this.ire = new 
org.apache.airavata.model.error.InvalidRequestException(other.ire);
-      }
-      if (other.isSetAce()) {
-        this.ace = new 
org.apache.airavata.model.error.AiravataClientException(other.ace);
-      }
-      if (other.isSetAse()) {
-        this.ase = new 
org.apache.airavata.model.error.AiravataSystemException(other.ase);
-      }
-      if (other.isSetAe()) {
-        this.ae = new 
org.apache.airavata.model.error.AuthorizationException(other.ae);
-      }
-    }
-
-    public getAPIVersion_result deepCopy() {
-      return new getAPIVersion_result(this);
-    }
-
-    @Override
-    public void clear() {
-      this.success = null;
-      this.ire = null;
-      this.ace = null;
-      this.ase = null;
-      this.ae = null;
-    }
-
-    public String getSuccess() {
-      return this.success;
-    }
-
-    public getAPIVersion_result setSuccess(String success) {
-      this.success = success;
-      return this;
-    }
-
-    public void unsetSuccess() {
-      this.success = null;
-    }
-
-    /** Returns true if field success is set (has been assigned a value) and 
false otherwise */
-    public boolean isSetSuccess() {
-      return this.success != null;
-    }
-
-    public void setSuccessIsSet(boolean value) {
-      if (!value) {
-        this.success = null;
-      }
-    }
-
-    public org.apache.airavata.model.error.InvalidRequestException getIre() {
-      return this.ire;
-    }
-
-    public getAPIVersion_result 
setIre(org.apache.airavata.model.error.InvalidRequestException ire) {
-      this.ire = ire;
-      return this;
-    }
-
-    public void unsetIre() {
-      this.ire = null;
-    }
-
-    /** Returns true if field ire is set (has been assigned a value) and false 
otherwise */
-    public boolean isSetIre() {
-      return this.ire != null;
-    }
-
-    public void setIreIsSet(boolean value) {
-      if (!value) {
-        this.ire = null;
-      }
-    }
-
-    public org.apache.airavata.model.error.AiravataClientException getAce() {
-      return this.ace;
-    }
-
-    public getAPIVersion_result 
setAce(org.apache.airavata.model.error.AiravataClientException ace) {
-      this.ace = ace;
-      return this;
-    }
-
-    public void unsetAce() {
-      this.ace = null;
-    }
-
-    /** Returns true if field ace is set (has been assigned a value) and false 
otherwise */
-    public boolean isSetAce() {
-      return this.ace != null;
-    }
-
-    public void setAceIsSet(boolean value) {
-      if (!value) {
-        this.ace = null;
-      }
-    }
-
-    public org.apache.airavata.model.error.AiravataSystemException getAse() {
-      return this.ase;
-    }
-
-    public getAPIVersion_result 
setAse(org.apache.airavata.model.error.AiravataSystemException ase) {
-      this.ase = ase;
-      return this;
-    }
-
-    public void unsetAse() {
-      this.ase = null;
-    }
-
-    /** Returns true if field ase is set (has been assigned a value) and false 
otherwise */
-    public boolean isSetAse() {
-      return this.ase != null;
-    }
-
-    public void setAseIsSet(boolean value) {
-      if (!value) {
-        this.ase = null;
-      }
-    }
-
-    public org.apache.airavata.model.error.AuthorizationException getAe() {
-      return this.ae;
-    }
-
-    public getAPIVersion_result 
setAe(org.apache.airavata.model.error.AuthorizationException ae) {
-      this.ae = ae;
-      return this;
-    }
-
-    public void unsetAe() {
-      this.ae = null;
-    }
-
-    /** Returns true if field ae is set (has been assigned a value) and false 
otherwise */
-    public boolean isSetAe() {
-      return this.ae != null;
-    }
-
-    public void setAeIsSet(boolean value) {
-      if (!value) {
-        this.ae = null;
-      }
-    }
-
-    public void setFieldValue(_Fields field, Object value) {
-      switch (field) {
-      case SUCCESS:
-        if (value == null) {
-          unsetSuccess();
-        } else {
-          setSuccess((String)value);
-        }
-        break;
-
-      case IRE:
-        if (value == null) {
-          unsetIre();
-        } else {
-          
setIre((org.apache.airavata.model.error.InvalidRequestException)value);
-        }
-        break;
-
-      case ACE:
-        if (value == null) {
-          unsetAce();
-        } else {
-          
setAce((org.apache.airavata.model.error.AiravataClientException)value);
-        }
-        break;
-
-      case ASE:
-        if (value == null) {
-          unsetAse();
-        } else {
-          
setAse((org.apache.airavata.model.error.AiravataSystemException)value);
-        }
-        break;
-
-      case AE:
-        if (value == null) {
-          unsetAe();
-        } else {
-          setAe((org.apache.airavata.model.error.AuthorizationException)value);
-        }
-        break;
-
-      }
-    }
-
-    public Object getFieldValue(_Fields field) {
-      switch (field) {
-      case SUCCESS:
-        return getSuccess();
-
-      case IRE:
-        return getIre();
-
-      case ACE:
-        return getAce();
-
-      case ASE:
-        return getAse();
-
-      case AE:
-        return getAe();
-
-      }
-      throw new IllegalStateException();
-    }
-
-    /** Returns true if field corresponding to fieldID is set (has been 
assigned a value) and false otherwise */
-    public boolean isSet(_Fields field) {
-      if (field == null) {
-        throw new IllegalArgumentException();
-      }
-
-      switch (field) {
-      case SUCCESS:
-        return isSetSuccess();
-      case IRE:
-        return isSetIre();
-      case ACE:
-        return isSetAce();
-      case ASE:
-        return isSetAse();
-      case AE:
-        return isSetAe();
-      }
-      throw new IllegalStateException();
-    }
-
-    @Override
-    public boolean equals(Object that) {
-      if (that == null)
-        return false;
-      if (that instanceof getAPIVersion_result)
-        return this.equals((getAPIVersion_result)that);
-      return false;
-    }
-
-    public boolean equals(getAPIVersion_result that) {
-      if (that == null)
-        return false;
-
-      boolean this_present_success = true && this.isSetSuccess();
-      boolean that_present_success = true && that.isSetSuccess();
-      if (this_present_success || that_present_success) {
-        if (!(this_present_success && that_present_success))
-          return false;
-        if (!this.success.equals(that.success))
-          return false;
-      }
-
-      boolean this_present_ire = true && this.isSetIre();
-      boolean that_present_ire = true && that.isSetIre();
-      if (this_present_ire || that_present_ire) {
-        if (!(this_present_ire && that_present_ire))
-          return false;
-        if (!this.ire.equals(that.ire))
-          return false;
-      }
-
-      boolean this_present_ace = true && this.isSetAce();
-      boolean that_present_ace = true && that.isSetAce();
-      if (this_present_ace || that_present_ace) {
-        if (!(this_present_ace && that_present_ace))
-          return false;
-        if (!this.ace.equals(that.ace))
-          return false;
-      }
-
-      boolean this_present_ase = true && this.isSetAse();
-      boolean that_present_ase = true && that.isSetAse();
-      if (this_present_ase || that_present_ase) {
-        if (!(this_present_ase && that_present_ase))
-          return false;
-        if (!this.ase.equals(that.ase))
-          return false;
-      }
-
-      boolean this_present_ae = true && this.isSetAe();
-      boolean that_present_ae = true && that.isSetAe();
-      if (this_present_ae || that_present_ae) {
-        if (!(this_present_ae && that_present_ae))
-          return false;
-        if (!this.ae.equals(that.ae))
-          return false;
-      }
-
-      return true;
-    }
-
-    @Override
-    public int hashCode() {
-      List<Object> list = new ArrayList<Object>();
-
-      boolean present_success = true && (isSetSuccess());
-      list.add(present_success);
-      if (present_success)
-        list.add(success);
-
-      boolean present_ire = true && (isSetIre());
-      list.add(present_ire);
-      if (present_ire)
-        list.add(ire);
-
-      boolean present_ace = true && (isSetAce());
-      list.add(present_ace);
-      if (present_ace)
-        list.add(ace);
-
-      boolean present_ase = true && (isSetAse());
-      list.add(present_ase);
-      if (present_ase)
-        list.add(ase);
-
-      boolean present_ae = true && (isSetAe());
-      list.add(present_ae);
-      if (present_ae)
-        list.add(ae);
-
-      return list.hashCode();
-    }
-
-    @Override
-    public int compareTo(getAPIVersion_result other) {
-      if (!getClass().equals(other.getClass())) {
-        return getClass().getName().compareTo(other.getClass().getName());
-      }
-
-      int lastComparison = 0;
-
-      lastComparison = 
Boolean.valueOf(isSetSuccess()).compareTo(other.isSetSuccess());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetSuccess()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.success, 
other.success);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = Boolean.valueOf(isSetIre()).compareTo(other.isSetIre());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetIre()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ire, 
other.ire);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = Boolean.valueOf(isSetAce()).compareTo(other.isSetAce());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAce()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ace, 
other.ace);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = Boolean.valueOf(isSetAse()).compareTo(other.isSetAse());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAse()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ase, 
other.ase);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      lastComparison = Boolean.valueOf(isSetAe()).compareTo(other.isSetAe());
-      if (lastComparison != 0) {
-        return lastComparison;
-      }
-      if (isSetAe()) {
-        lastComparison = org.apache.thrift.TBaseHelper.compareTo(this.ae, 
other.ae);
-        if (lastComparison != 0) {
-          return lastComparison;
-        }
-      }
-      return 0;
-    }
-
-    public _Fields fieldForId(int fieldId) {
-      return _Fields.findByThriftId(fieldId);
-    }
-
-    public void read(org.apache.thrift.protocol.TProtocol iprot) throws 
org.apache.thrift.TException {
-      schemes.get(iprot.getScheme()).getScheme().read(iprot, this);
-    }
-
-    public void write(org.apache.thrift.protocol.TProtocol oprot) throws 
org.apache.thrift.TException {
-      schemes.get(oprot.getScheme()).getScheme().write(oprot, this);
-      }
-
-    @Override
-    public String toString() {
-      StringBuilder sb = new StringBuilder("getAPIVersion_result(");
-      boolean first = true;
-
-      sb.append("success:");
-      if (this.success == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.success);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("ire:");
-      if (this.ire == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.ire);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("ace:");
-      if (this.ace == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.ace);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("ase:");
-      if (this.ase == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.ase);
-      }
-      first = false;
-      if (!first) sb.append(", ");
-      sb.append("ae:");
-      if (this.ae == null) {
-        sb.append("null");
-      } else {
-        sb.append(this.ae);
-      }
-      first = false;
-      sb.append(")");
-      return sb.toString();
-    }
-
-    public void validate() throws org.apache.thrift.TException {
-      // check for required fields
-      // check for sub-struct validity
-    }
-
-    private void writeObject(java.io.ObjectOutputStream out) throws 
java.io.IOException {
-      try {
-        write(new org.apache.thrift.protocol.TCompactProtocol(new 
org.apache.thrift.transport.TIOStreamTransport(out)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private void readObject(java.io.ObjectInputStream in) throws 
java.io.IOException, ClassNotFoundException {
-      try {
-        read(new org.apache.thrift.protocol.TCompactProtocol(new 
org.apache.thrift.transport.TIOStreamTransport(in)));
-      } catch (org.apache.thrift.TException te) {
-        throw new java.io.IOException(te);
-      }
-    }
-
-    private static class getAPIVersion_resultStandardSchemeFactory implements 
SchemeFactory {
-      public getAPIVersion_resultStandardScheme getScheme() {
-        return new getAPIVersion_resultStandardScheme();
-      }
-    }
-
-    private static class getAPIVersion_resultStandardScheme extends 
StandardScheme<getAPIVersion_result> {
-
-      public void read(org.apache.thrift.protocol.TProtocol iprot, 
getAPIVersion_result struct) throws org.apache.thrift.TException {
-        org.apache.thrift.protocol.TField schemeField;
-        iprot.readStructBegin();
-        while (true)
-        {
-          schemeField = iprot.readFieldBegin();
-          if (schemeField.type == org.apache.thrift.protocol.TType.STOP) { 
-            break;
-          }
-          switch (schemeField.id) {
-            case 0: // SUCCESS
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRING) 
{
-                struct.success = iprot.readString();
-                struct.setSuccessIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
-              }
-              break;
-            case 1: // IRE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) 
{
-                struct.ire = new 
org.apache.airavata.model.error.InvalidRequestException();
-                struct.ire.read(iprot);
-                struct.setIreIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
-              }
-              break;
-            case 2: // ACE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) 
{
-                struct.ace = new 
org.apache.airavata.model.error.AiravataClientException();
-                struct.ace.read(iprot);
-                struct.setAceIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
-              }
-              break;
-            case 3: // ASE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) 
{
-                struct.ase = new 
org.apache.airavata.model.error.AiravataSystemException();
-                struct.ase.read(iprot);
-                struct.setAseIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
-              }
-              break;
-            case 4: // AE
-              if (schemeField.type == org.apache.thrift.protocol.TType.STRUCT) 
{
-                struct.ae = new 
org.apache.airavata.model.error.AuthorizationException();
-                struct.ae.read(iprot);
-                struct.setAeIsSet(true);
-              } else { 
-                org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
-              }
-              break;
-            default:
-              org.apache.thrift.protocol.TProtocolUtil.skip(iprot, 
schemeField.type);
-          }
-          iprot.readFieldEnd();
-        }
-        iprot.readStructEnd();
-
-        // check for required fields of primitive type, which can't be checked 
in the validate method
-        struct.validate();
-      }
-
-      public void write(org.apache.thrift.protocol.TProtocol oprot, 
getAPIVersion_result struct) throws org.apache.thrift.TException {
-        struct.validate();
-
-        oprot.writeStructBegin(STRUCT_DESC);
-        if (struct.success != null) {
-          oprot.writeFieldBegin(SUCCESS_FIELD_DESC);
-          oprot.writeString(struct.success);
-          oprot.writeFieldEnd();
-        }
-        if (struct.ire != null) {
-          oprot.writeFieldBegin(IRE_FIELD_DESC);
-          struct.ire.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        if (struct.ace != null) {
-          oprot.writeFieldBegin(ACE_FIELD_DESC);
-          struct.ace.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        if (struct.ase != null) {
-          oprot.writeFieldBegin(ASE_FIELD_DESC);
-          struct.ase.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        if (struct.ae != null) {
-          oprot.writeFieldBegin(AE_FIELD_DESC);
-          struct.ae.write(oprot);
-          oprot.writeFieldEnd();
-        }
-        oprot.writeFieldStop();
-        oprot.writeStructEnd();
-      }
-
-    }
-
-    private static class getAPIVersion_resultTupleSchemeFactory implements 
SchemeFactory {
-      public getAPIVersion_resultTupleScheme getScheme() {
-        return new getAPIVersion_resultTupleScheme();
-      }
-    }
-
-    private static class getAPIVersion_resultTupleScheme extends 
TupleScheme<getAPIVersion_result> {
-
-      @Override
-      public void write(org.apache.thrift.protocol.TProtocol prot, 
getAPIVersion_result struct) throws org.apache.thrift.TException {
-        TTupleProtocol oprot = (TTupleProtocol) prot;
-        BitSet optionals = new BitSet();
-        if (struct.isSetSuccess()) {
-          optionals.set(0);
-        }
-        if (struct.isSetIre()) {
-          optionals.set(1);
-        }
-        if (struct.isSetAce()) {
-          optionals.set(2);
-        }
-        if (struct.isSetAse()) {
-          optionals.set(3);
-        }
-        if (struct.isSetAe()) {
-          optionals.set(4);
-        }
-        oprot.writeBitSet(optionals, 5);
-        if (struct.isSetSuccess()) {
-          oprot.writeString(struct.success);
-        }
-        if (struct.isSetIre()) {
-          struct.ire.write(oprot);
-        }
-        if (struct.isSetAce()) {
-          struct.ace.write(oprot);
-        }
-        if (struct.isSetAse()) {
-          struct.ase.write(oprot);
-        }
-        if (struct.isSetAe()) {
-          struct.ae.write(oprot);
-        }
-      }
-
-      @Override
-      public void read(org.apache.thrift.protocol.TProtocol prot, 
getAPIVersion_result struct) throws org.apache.thrift.TException {
-        TTupleProtocol iprot = (TTupleProtocol) prot;
-        BitSet incoming = iprot.readBitSet(5);
-        if (incoming.get(0)) {
-          struct.success = iprot.readString();
-          struct.setSuccessIsSet(true);
-        }
-        if (incoming.get(1)) {
-          struct.ire = new 
org.apache.airavata.model.error.InvalidRequestException();
-          struct.ire.read(iprot);
-          struct.setIreIsSet(true);
-        }
-        if (incoming.get(2)) {
-          struct.ace = new 
org.apache.airavata.model.error.AiravataClientException();
-          struct.ace.read(iprot);
-          struct.setAceIsSet(true);
-        }
-        if (incoming.get(3)) {
-          struct.ase = new 
org.apache.airavata.model.error.AiravataSystemException();
-          struct.ase.read(iprot);
-          struct.setAseIsSet(true);
-        }
-        if (incoming.get(4)) {
-          struct.ae = new 
org.apache.airavata.model.error.AuthorizationException();
-          struct.ae.read(iprot);
-          struct.setAeIsSet(true);
-        }
-      }
-    }
-
-  }
-
-  public static class isUserExists_args implements 
org.apache.thrift.TBase<isUserExists_args, isUserExists_args._Fields>, 
java.io.Serializable, Cloneable, Comparable<isUserExists_args>   {
-    private static final org.apache.thrift.protocol.TStruct STRUCT_DESC = new 
org.apache.thrift.protocol.TStruct("isUserExists_args");
-
-    private static final org.apache.thrift.protocol.TField 
AUTHZ_TOKEN_FIELD_DESC = new org.apache.thrift.protocol.TField("authzToken", 
org.apache.thrift.protocol.TType.STRUCT, (short)1);
-    private static final org.apache.thrift.protocol.TField 
GATEWAY_ID_FIELD_DESC = new org.apache.thrift.protocol.TField("gatewayId", 
org.apache.thrift.protocol.TType.STRING, (short)2);
-    private static final org.apache.thrift.protocol.TField 
USER_NAME_FIELD_DESC = new org.apache.thrift.protocol.TField("userName", 
org.apache.thrift.protocol.TType.STRING, (short)3);
-
-    private static final Map<Class<? extends IScheme>, SchemeFactory> schemes 
= new HashMap<Class<? extends IScheme>, SchemeFactory>();
-    static {
-      schemes.put(StandardScheme.class, new 
isUserExists_argsStandardSchemeFactory());
-      schemes.put(TupleScheme.class, new 
isUserExists_argsTupleSchemeFactory());
-    }
-
-    public org.apache.airavata.model.security.AuthzToken authzToken; // 
required
-    public String gatewayId; // required
-    public String userName; // required
-
-    /** The set of fields this struct contains, along with convenience methods 
for finding and manipulating them. */
-    public enum _Fields implements org.apache.thrift.TFieldIdEnum {
-      AUTHZ_TOKEN((short)1, "authzToken"),
-      GATEWAY_ID((short)2, "gatewayId"),
-      USER_NAME((short)3, "userName");
-
-      private static final Map<String, _Fields> byName = new HashMap<String, 
_Fields>();
-
-      static {
-        for (_Fields field : EnumSet.allOf(_Fields.class)) {
-          byName.put(field.getFieldName(), field);
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, or null if its not 
found.
-       */
-      public static _Fields findByThriftId(int fieldId) {
-        switch(fieldId) {
-          case 1: // AUTHZ_TOKEN
-            return AUTHZ_TOKEN;
-          case 2: // GATEWAY_ID
-            return GATEWAY_ID;
-          case 3: // USER_NAME
-            return USER_NAME;
-          default:
-            return null;
-        }
-      }
-
-      /**
-       * Find the _Fields constant that matches fieldId, throwing an exception
-       * if it is not found.
-       */
-      public static _Fields findByThriftIdOrThrow(int fieldId) {
-        _Fields fields = findByThriftId(fieldId);
-        if (fields == null) throw new IllegalArgumentException("Field " + 
fieldId + " doesn't exist!");
-        return fields;
-      }
-
-      /**
-       * Find the _Fields constant that matches name, or null if its not found.
-       */
-      public static _Fields findByName(String name) {
-        return byName.get(name);
-      }
-
-      private final short _thriftId;
-      private final String _fieldName;
-
-      _Fields(short thriftId, String fieldName) {
-        _thriftId = thriftId;
-        _fieldName = fieldName;
-      }
-
-      public short getThriftFieldId() {
-        return _thriftId;
-      }
-
-      public String getFieldName() {
-        return _fieldName;
-      }
-    }
-
-    // isset id assignments
-    public static final Map<_Fields, 
org.apache.thrift.meta_data.FieldMetaData> metaDataMap;
-    static {
-      Map<_Fields, org.apache.thrift.meta_data.FieldMetaData> tmpMap = new 
EnumMap<_Fields, org.apache.thrift.meta_data.FieldMetaData>(_Fields.class);
-      tmpMap.put(_Fields.AUTHZ_TOKEN, new 
org.apache.thrift.meta_data.FieldMetaData("authzToken", 
org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new 
org.apache.thrift.meta_data.StructMetaData(org.apache.thrift.protocol.TType.STRUCT,
 org.apache.airavata.model.security.AuthzToken.class)));
-      tmpMap.put(_Fields.GATEWAY_ID, new 
org.apache.thrift.meta_data.FieldMetaData("gatewayId", 
org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      tmpMap.put(_Fields.USER_NAME, new 
org.apache.thrift.meta_data.FieldMetaData("userName", 
org.apache.thrift.TFieldRequirementType.REQUIRED, 
-          new 
org.apache.thrift.meta_data.FieldValueMetaData(org.apache.thrift.protocol.TType.STRING)));
-      metaDataMap = Collections.unmodifiableMap(tmpMap);
-      
org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(isUserExists_args.class,
 metaDataMap);
+      org.apache.thrift.meta_data.FieldMetaData.addStructMetaDataMap(ge

<TRUNCATED>

Reply via email to